Sunday, December 1, 2013

Difference between compile and build process


For any Eclipse based IDE's one might be aware of terms like Build and Compile and they do resembles almost similar functionality. However, there are are some differences among both of them.

"Compile" units of code, but you "build" solutions -- which might involve compiling code, assembling resources, packaging deployment scripts
The "compile" command checks to see which files have been modified by looking at the create dates for the unit files, and then updates those. "Build" just goes ahead and re-compiles the whole thing without checking.

There is also the Incremental Build, which do not perform complete build instead will look for the earlier generated rcode (resultant file after compiling an ABL file) and generates rcode basing on this incremental to that. i.e, unlike a full build process it will just compile the delta files and generate rcode for the same.

Get the current directory of the file that is being executed


DEFINE VARIABLE process-id AS CHARACTER FORMAT "x(60)".
DEFINE VARIABLE dir-path   AS CHARACTER NO-UNDO VIEW-AS EDITOR SIZE 60 BY 10.
INPUT THROUGH echo %cd% NO-undo.
SET process-id dir-path WITH FRAME indata NO-BOX NO-LABELS.
/*DISPLAY process-id dir-path FORMAT "x(800)".*/
INPUT CLOSE.

MESSAGE dir-path VIEW-AS ALERT-BOX.

Define ABL Property in an ABL Class file


As of normal programming languages Progress 4 GL or ABL language supports multiple constructs for the development of ABL applications. It supports former model Procedural and the latest OO (Object Oriented) .



USING Progress.Lang.*.

CLASS HelloClass:

    DEFINE PUBLIC PROPERTY Prop1_Char AS CHARACTER NO-UNDO
        GET():
            IF Prop1_Char = "Hello" THEN
                RETURN "Hello Given".
            RETURN "No Hellos".
        END GET.
        SET.

    DEFINE PUBLIC PROPERTY Prop2_Int AS INTEGER EXTENT 41 NO-UNDO
        GET.
        SET.

      
    CONSTRUCTOR PUBLIC HelloClass (  ):
        SUPER ().
        MESSAGE "From Default Constructor"
            VIEW-AS ALERT-BOX.
        MESSAGE Prop1_Char VIEW-AS ALERT-BOX.
       
    END CONSTRUCTOR.

END CLASS.

Advanced Business Language (ABL)

ABL is one of the prominent Programming Languages which was introduced in early 1980's and is known as 4GL (4th Generation Language) is maintained by Progress Software Corporation. This language is easy to learn and more comfortable in the development. Wikipedia link on ABL.

I will be adding some of the language tips in this section which will benefit beginners.