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

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