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

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