Here is an easy way to find the paths to the various Windows folders. oleobject lole_wshell lole_wshell = create oleobject lole_wshell.connecttonewobject( "wscript.shell") is_mydocspath = lole_wshell.SpecialFolders("MyDocuments") IF IsValid(lole_wshell) THEN Destroy lole_wshell /* other folders: AllUsersDesktop AllUsersStartMenu AllUsersPrograms AllUsersStartup Desktop Favorites Fonts MyDocuments NetHood PrintHood Programs Recent SendTo StartMenu Startup Templates */
- .ics
- .NET
- Active Directory
- C#
- Citrix
- COM
- Connection string
- Dashboard
- datawindow
- debug
- disaster prepardness
- ETL
- EVENTCREATE
- Facsys
- frogs
- games
- MDI
- mySQL
- ODBC
- OLEDB
- Outlook
- parenting
- PB.INI
- pfc
- Powerbuilder
- Powerbuilder OLE
- Powerbuilder Tutorial
- programming
- regasm
- REPORTEVENT
- SCOPE_IDENTITY
- source control
- SQL Anywhere
- SQL Native Client
- SQL Server
- TWAIN
- Uniface
- Visual Basic
- web service
- Windows API
- Windows Event Log
- Windows settings
PowerBuilder – Prevent Individual Column Resizing in Grid DW
Many applications I’ve worked on have grid datawindows that include columns which display graphics to indicate some sort of common functionality such as code inquiry, row selection indicator, etc. Generally you set the ‘display as bitmap’ property on the column and go from there. The problem with these columns, however, is if the user resizes…
PowerBuilder – Get Color Value of Pixel under Pointer
Here is a sample application which will give you the color value of the pixel the user clicked on on a picture control (this can be used for any object inherited from a dragobject). To see the list of draggable controls, open the Browser. All the objects in the hierarchy below dragobject are draggable. This…
PowerBuilder – Have Window Stay on Top
One common application technique is to have any notification windows stay on top of all others, even if subsequent windows are opened on top of them (and the notification window loses focus). This can easily be achieved via an external API call: SetWindowPos. From the MSDN: “Changes the size, position, and Z order of a…
PowerBuilder – Application Icon in the System Tray
One challenge for Powerbuilder developers today is the lack of current information/programming tips relating to more current (10 and above) versions. This also applies to Windows versions as well. There are a variety of different solutions to having an application icon in the System Tray but almost without exception they relate to Windows 95/98 primarily.…
PowerBuilder – Calling Methods on Separate Windows
If you need to trigger and event or call a function on another window within an application, here are two solutions. In you have an MDI application you need to get a reference to the sheet. The PFC has a method to get the sheets of a certain class called ‘of_getsheetsbyclass’. You call it and…
PowerBuilder – Dragging Files onto the Application
Many applications I’ve worked on have had internal drag/drop capabilities. By ‘internal’ I mean you can drag items from one place to another from within the application itself. Now what if you want to drag files from an explorer window into your application and perform some processing? This functionality is not as common. The solution…
PowerBuilder – Formatting and Validating Date/Time entries in a Datawindow
Using an editmask on a datawindow column to format a user’s input is pretty common practice for most applications. Done right it leads to a better user experience (no extra formatting characters to type) and can be visually appealing (all phone numbers formatted the same way for example). One really annoying behavior of an editmask…
PowerBuilder – Datawindow Filter on a datetime column
A question came in on the TekTips Powerbuilder forum regarding filtering on a datetime column in a datawindow. Basically the problem was a ‘type mismatch’ error when trying to filter this type of column. This is how the author was setting the filter: <code> ls_filter = "ls_column_name= '11/10/2010 12:30:00'" or ls_filter = "ls_column_name= '" +…
PowerBuilder – Changing Datawindow object source to stored procedure
So I had to update a report which deals with item prices in an application. Very familiar territory here. However, this report had a very large SQL statment consisting of five unions with many sub selects, case statements, and etc. The kind of code which, at first glance, looks like its held together with chewing…