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

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