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

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