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

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