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

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