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

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