Tech Articles


PowerBuilder 'Gotcha' - PixelsToUnits


From the 12.5 Powerbuilder Help on this method:
Converts pixels to PowerBuilder units. Because pixels are not usually square, you also specify whether you are converting the pixels' horizontal or vertical measurement.

Syntax

PixelsToUnits ( pixels, type )

Argument Description
pixels An integer whose value is the number of pixels you want to convert to PowerBuilder units.
type A value of the ConvertType enumerated datatype value indicating how to convert the value:
· XPixelsToUnits! - Convert the pixels in the horizontal direction.
· YPixelsToUnits! - Convert the pixels in the vertical direction.
Return value

Integer. Returns the converted value if it succeeds and -1 if an error occurs. If any argument's value is null, PixelsToUnits returns null.

Note the return value of integer. If you are using this method to say, calculate the width of a string field, the results can easily exceed the maximum value of a Powerbuilder integer which is 32767. To correct for this you will need to do something like:.

integer li_width, li_width_factor
long ll_width
// calculate the width of a single pixel
li_width_factor = PixelsToUnits(1, XPixelsToUnits!) 
// use the calculated factor to obtain the actual width of a very wide string column
ll_width = li_width * li_width_factor //li width is width in pixels
Comments (1)
Monday, Mar 20 2017

Hi Matt;

   Great tip!

FYI ... also, don't forget you can use the Appeon Web/Mobile calculator as well located on the Appeon Developer toolbar ... 

<img alt="Appeon PBU => Pixel Calculator " src="/sites/default/files/inline-images/Appeon_Calculator.png" />

 

Regards .... Chris

#2
0

Find Articles by Tag

RichTextEdit Control Model UI Modernization Expression MessageBox RESTClient WebBrowser Trial ActiveX Database Painter HTTPClient PDFlib PBDOM Testing Text API Migration REST Excel Database Profile TortoiseGit PowerBuilder (Appeon) Branch & Merge PDF Database Table PowerBuilder Import JSON Azure DataWindow Charts Sort Windows 10 Icons CI/CD CrypterObject OrcaScript .NET DataStore IDE DevOps Encoding PostgreSQL ODBC driver Encryption SqlExecutor DataWindow JSON Debugger SQL PFC SqlModelMapper XML SQL Server Web API Bug Application PowerBuilder Compiler 64-bit Validation WinAPI OLE OAuth Interface TreeView Deployment COM Git Configuration Transaction Authorization External Functions iOS InfoMaker GhostScript Export Source Code Authentication Installation Event Handler Repository PostgreSQL Linux OS PBVM Database Object SVN .NET Assembly License File Stored Procedure Variable Outlook Array Service Performance Resize Database Connection JSON CoderObject Messagging Error Visual Studio JSONGenerator PowerServer Web Debug Open Source PowerScript (PS) Window 32-bit Event Handling .NET Std Framework Database Table Data ODBC Mobile Filter SnapDevelop TLS/SSL OAuth 2.0 DragDrop SDK UI Import Design Debugging Database Table Schema Web Service Proxy Oracle UI Themes Menu Platform DLL Event Graph Icon RibbonBar Source Control Automated Testing Database Windows OS RibbonBar Builder Syntax JSONParser NativePDF PBNI SnapObjects PowerServer Mobile Elevate Conference Export JSON Script BLOB DataType TFS Jenkins Android SOAP C# Data Class