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

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