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

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