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

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