OE Techniques and Coding

Code samples, whitepapers, and discussion on techniques for using various ABL features and solving various requirements faced in writing ABL code.


Code Samples

Small fragments of ABL code which illustrate some principle or technique


Coding Standards and Best Practice

Discussions and Examples related to coding standards and best practices in developing ABL applications


Components & Managers

Code samples which are unifed components or managers ready to be incorporated in other code


Interfaces to Other Languages or Databases

Code and tools for creating a connection between ABL applications and other language systems or databases


OOABL

Code, discussions, and whitepapers related to the use of object-oriented techniques in coding ABL applications.


Operating System and Application Interfaces

Information and examples for interfacing ABL applications to the operating system and common applications such as word processors, spreadsheets, and e-mail


ProDataSets

Documentation and examples on how to use ProDataSets


Reporting

Code, discussions, and whitepapers related to reporting from ABL applications


UI design guidelines

General User Interface design and review guidelines


Web Services & Other Integration Technologies

Whitepapers and code samples related to webservices and other related integration technologies.


Web UI Development

This section covers WebSpeed, Ajax, eScript and any other technology for creating and deploying browser user interfaces (WUI).


XML

Tools and samples related to the use of XML


Print versions of the Progress E-Zines are now available

It has been noted that once something is on the internet, it is there forever. Apparently, this is somewhat wrong for certain types of information. The Progress E-Zine collection continues to be available on the internet, but often it is tucked away in corners that are hard to find.

With this in mind, a three volume set of the E-Zines in bound printed form are now available. No more binders full of printer paper versions of the monographs, simply reach into the book shelf for the bound copy and enjoy.

The books can be purchased from these locations:

http://www.lulu.com/content/paperback-book/progress-e-zine-collection-vo...

http://www.lulu.com/content/paperback-book/progress-e-zine-collection-vo...

http://www.lulu.com/content/paperback-book/progress-e-zine-collection-vo...


Temp-table Expositor

Contributed by Jeff Pilant

This program is designed to assist in the generation of output for other programs. Its basic function is to take a temp table and create a file with the contents of the temp table in a convenient form. Output can be to the screen via a browse, or to a file in any of the following formats: plain text (*.TXT), comma-separated values (*.CSV), Excel spreadsheet (*.XLS), Sylk spreadsheet (*.SLK), XML file (*.XML), and Dictionary Definition file (*.DF).

The program is called as follows:

RUN tt-file.p(temp-table tt-name:handle, filename, switch)


How to add a colored square in the titlebar through api

Sometimes it's neccessary to add a Caption in the titlebar to give extra information to the user of your application. The attached file does this, and makes sure the window got redrawn when windows triggers arive.
As you can see, many instances of msgblst32 are added on this window. The goal is to make it more the controlling window which always catches the events on the underlaying session applications. As every window needs its own ocx, I provided 40 instances which are hopefully enough to maintain every window.


Using Object Oriented Programming For Custom Programming In A SaaS Application

In the SaaS world, often customers will want their own customizations into the source code specific to how they want to do business with your software.

Here is a point where object oriented programming stands out. By crafting your programming in such a way that basic functionality is enhanced - you can use different classes specific to particular customers for enhanced implementation.

Since we are going to potentially be using one of multiple classes, we need to have an interface describing the methods available in the class.


SAX-READER from GOOGLE

I use the sax-reader to get information about geocoding an address. I is very usefull because correct the address, check it and give my the geoposition ( lat/long ).

The problen is that in Spanish there are tilde in vocals line "José" and the SAC-READER don´t retrive it.
I give a simple example to check whay I meen, just run in the Procedure Editor, I would appreciate any help.

/*****************************************/
DEFINE VARIABLE hParser AS HANDLE NO-UNDO.
define variable hhandler as handle no-undo.
define variable clee as char no-undo.


OOP Mail Classes in Progress ABL/4GL Available

A new library of Amduus Classes I am putting together includes some code for sending email in Progress 10.1a or better programs.

Example call in HTML with embedded images and an attachment.

define variable M as com.amduus.mail.MailBySendmail no-undo.
define variable HTML as character no-undo.

M = new com.amduus.mail.MailBySendmail().

M:ToEmail = "sauge@localhost".
M:FromEmail = "root@localhost".
M:BCCEmail = "root@localhost".
M:Subject = "Test 1".

HTML = "<html><body>"
+ 'This is a <b>test</b> <img src="cid:y1"> email'


Video on calling web services from the 4GL/ABL

I have a video up on amduus.com on how to call out to web services with example coding.

The video can be seen at http://amduus.com/training/Using_bprowsdldoc.html


Book on object oriented programming available

I have a book on object oriented programming in the ABL language available at http://www.lulu.com/content/paperback_book/discussions_of_object_oriente...


Video on setting up Webspeed on MS Windows

Since it is asked quite often in the Progess community how to set up a broker in the MS Widnows environment, here is a little video on how to accomplish this.

View the video at http://amduus.com/training/WebspeedBrokerOnWindows.html


Example function to return various date formats. YYYYMMDD

In this example function you pass to it the format you want YYYYMMDD YYMMDD ISO etc. along with date and time delimiters you wish to use. This does use the NOW statement which is not in older versions.


Syndicate content