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

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