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

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