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

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