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

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