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

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