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

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