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

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