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

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