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

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