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

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