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

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