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

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