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

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