PWCT 1.9 Art Documentation ( http://doublesvsoop.sourceforge.net )

2006-2019, Mahmoud Fayed ( msfclipper@users.sourceforge.net )

_____________________________________________________________________________________

Table of contents

1 - Introduction

2 - Implementation steps

3 - Final Steps Tree

4 - Application during the runtime

1 - Introduction

In this lesson we are going to learn how to develop large applications using HarbourPWCT (Part 1).

2 - Implementation Steps

s1.JPG

Fig. (1) Goal Desginer - Steps Tree

Select the step (The First Step)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Define New Window)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define New Window)

                Note : Stop typing when you see the required component is selected

s2.JPG

Fig. (2) Component Browser – Select the component (Define New Window)

After selecting the component click Ok or press ENTER

s3.JPG

Fig. (3) Interaction page - Set the properties and enter the required data as in the image above

s4.JPG

Fig. (4) Form Designer

s5.JPG

Fig. (5) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Main Menu)

                3 - Select the component (Define Main Menu)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Main Menu)

                Note : Stop typing when you see the required component is selected

s6.JPG

Fig. (6) Component Browser – Select the component (Define Main Menu)

After selecting the component click Ok or press ENTER

s7.JPG

Fig. (7) Interaction page - Set the properties and enter the required data as in the image above

s8.JPG

Fig. (8) Goal Desginer - Steps Tree

Select the step (MENU POPUPS)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Main Menu)

                3 - Select the component (Define POPUP)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define POPUP)

                Note : Stop typing when you see the required component is selected

s9.JPG

Fig. (9) Component Browser – Select the component (Define POPUP)

After selecting the component click Ok or press ENTER

s10.JPG

Fig. (10) Interaction page - Set the properties and enter the required data as in the image above

s11.JPG

Fig. (11) Goal Desginer - Steps Tree

Select the step (POPUP ITEMS)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Main Menu)

                3 - Select the component (Define Item)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Item)

                Note : Stop typing when you see the required component is selected

s12.JPG

Fig. (12) Component Browser – Select the component (Define Item)

After selecting the component click Ok or press ENTER

s13.JPG

Fig. (13) Interaction page - Set the properties and enter the required data as in the image above

s14.JPG

Fig. (14) Goal Desginer - Steps Tree

Select the step (POPUP ITEMS)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Main Menu)

                3 - Select the component (Define Item)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Item)

                Note : Stop typing when you see the required component is selected

s15.JPG

Fig. (15) Component Browser – Select the component (Define Item)

After selecting the component click Ok or press ENTER

s16.JPG

Fig. (16) Interaction page - Set the properties and enter the required data as in the image above

s17.JPG

Fig. (17) Goal Desginer - Steps Tree

Select the step (Define New Window ( win1 ) , Title : "System")

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s18.JPG

Fig. (18) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s19.JPG

Fig. (19) Interaction page - Set the properties and enter the required data as in the image above

s20.JPG

Fig. (20) Interaction page - Set the properties and enter the required data as in the image above

s21.JPG

Fig. (21) Interaction page - Set the properties and enter the required data as in the image above

s22.JPG

Fig. (22) Form Designer

s23.JPG

Fig. (23) Goal Desginer - Steps Tree

Select the step (Procedures)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Structure Programming)

                3 - Select the component (Define Procedure)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Procedure)

                Note : Stop typing when you see the required component is selected

s24.JPG

Fig. (24) Component Browser – Select the component (Define Procedure)

After selecting the component click Ok or press ENTER

s25.JPG

Fig. (25) Interaction page - Set the properties and enter the required data as in the image above

s26.JPG

Fig. (26) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (New Object)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (New Object)

                Note : Stop typing when you see the required component is selected

s27.JPG

Fig. (27) Component Browser – Select the component (New Object)

After selecting the component click Ok or press ENTER

s28.JPG

Fig. (28) Interaction page - Set the properties and enter the required data as in the image above

s29.JPG

Fig. (29) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Call Object Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Call Object Method)

                Note : Stop typing when you see the required component is selected

s30.JPG

Fig. (30) Component Browser – Select the component (Call Object Method)

After selecting the component click Ok or press ENTER

s31.JPG

Fig. (31) Interaction page - Set the properties and enter the required data as in the image above

s32.JPG

Fig. (32) Goal Desginer - Steps Tree

Select the step (Procedures)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Structure Programming)

                3 - Select the component (Define Procedure)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Procedure)

                Note : Stop typing when you see the required component is selected

s33.JPG

Fig. (33) Component Browser – Select the component (Define Procedure)

After selecting the component click Ok or press ENTER

s34.JPG

Fig. (34) Interaction page - Set the properties and enter the required data as in the image above

s35.JPG

Fig. (35) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s36.JPG

Fig. (36) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s37.JPG

Fig. (37) Interaction page - Set the properties and enter the required data as in the image above

s38.JPG

Fig. (38) Interaction page - Set the properties and enter the required data as in the image above

s39.JPG

Fig. (39) Interaction page - Set the properties and enter the required data as in the image above

s40.JPG

Fig. (40) Goal Desginer - Steps Tree

Select the step (Classes)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class)

                Note : Stop typing when you see the required component is selected

s41.JPG

Fig. (41) Component Browser – Select the component (Define Class)

After selecting the component click Ok or press ENTER

s42.JPG

Fig. (42) Interaction page - Set the properties and enter the required data as in the image above

s43.JPG

Fig. (43) Goal Desginer - Steps Tree

Select the step (Declare Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Method)

                Note : Stop typing when you see the required component is selected

s44.JPG

Fig. (44) Component Browser – Select the component (Declare Class Method)

After selecting the component click Ok or press ENTER

s45.JPG

Fig. (45) Interaction page - Set the properties and enter the required data as in the image above

s46.JPG

Fig. (46) Goal Desginer - Steps Tree

Select the step (Declare Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Method)

                Note : Stop typing when you see the required component is selected

s47.JPG

Fig. (47) Component Browser – Select the component (Declare Class Method)

After selecting the component click Ok or press ENTER

s48.JPG

Fig. (48) Interaction page - Set the properties and enter the required data as in the image above

s49.JPG

Fig. (49) Goal Desginer - Steps Tree

Select the step (Declare Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Method)

                Note : Stop typing when you see the required component is selected

s50.JPG

Fig. (50) Component Browser – Select the component (Declare Class Method)

After selecting the component click Ok or press ENTER

s51.JPG

Fig. (51) Interaction page - Set the properties and enter the required data as in the image above

s52.JPG

Fig. (52) Goal Desginer - Steps Tree

Select the step (Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class Method)

                Note : Stop typing when you see the required component is selected

s53.JPG

Fig. (53) Component Browser – Select the component (Define Class Method)

After selecting the component click Ok or press ENTER

s54.JPG

Fig. (54) Interaction page - Set the properties and enter the required data as in the image above

s55.JPG

Fig. (55) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Define New Window)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define New Window)

                Note : Stop typing when you see the required component is selected

s56.JPG

Fig. (56) Component Browser – Select the component (Define New Window)

After selecting the component click Ok or press ENTER

s57.JPG

Fig. (57) Interaction page - Set the properties and enter the required data as in the image above

s58.JPG

Fig. (58) Form Designer

s59.JPG

Fig. (59) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Controls)

                3 - Select the component (Label)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Label)

                Note : Stop typing when you see the required component is selected

s60.JPG

Fig. (60) Component Browser – Select the component (Label)

After selecting the component click Ok or press ENTER

s61.JPG

Fig. (61) Interaction page - Set the properties and enter the required data as in the image above

s62.JPG

Fig. (62) Form Designer

s63.JPG

Fig. (63) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Controls)

                3 - Select the component (TextBox)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (TextBox)

                Note : Stop typing when you see the required component is selected

s64.JPG

Fig. (64) Component Browser – Select the component (TextBox)

After selecting the component click Ok or press ENTER

s65.JPG

Fig. (65) Interaction page - Set the properties and enter the required data as in the image above

s66.JPG

Fig. (66) Form Designer

s67.JPG

Fig. (67) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Controls)

                3 - Select the component (Button)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button)

                Note : Stop typing when you see the required component is selected

s68.JPG

Fig. (68) Component Browser – Select the component (Button)

After selecting the component click Ok or press ENTER

s69.JPG

Fig. (69) Interaction page - Set the properties and enter the required data as in the image above

s70.JPG

Fig. (70) Form Designer

s71.JPG

Fig. (71) Goal Desginer - Steps Tree

Select the step (Button Events)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Events)

                3 - Select the component (Button Events)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button Events)

                Note : Stop typing when you see the required component is selected

s72.JPG

Fig. (72) Component Browser – Select the component (Button Events)

After selecting the component click Ok or press ENTER

s73.JPG

Fig. (73) Interaction page - Set the properties and enter the required data as in the image above

s74.JPG

Fig. (74) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Controls)

                3 - Select the component (Button)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button)

                Note : Stop typing when you see the required component is selected

s75.JPG

Fig. (75) Component Browser – Select the component (Button)

After selecting the component click Ok or press ENTER

s76.JPG

Fig. (76) Interaction page - Set the properties and enter the required data as in the image above

s77.JPG

Fig. (77) Form Designer

s78.JPG

Fig. (78) Goal Desginer - Steps Tree

Select the step (Button Events)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Events)

                3 - Select the component (Button Events)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button Events)

                Note : Stop typing when you see the required component is selected

s79.JPG

Fig. (79) Component Browser – Select the component (Button Events)

After selecting the component click Ok or press ENTER

s80.JPG

Fig. (80) Interaction page - Set the properties and enter the required data as in the image above

s81.JPG

Fig. (81) Goal Desginer - Steps Tree

Select the step (Define New Window ( winwelcome ) , Title : "Welcome")

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s82.JPG

Fig. (82) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s83.JPG

Fig. (83) Interaction page - Set the properties and enter the required data as in the image above

s84.JPG

Fig. (84) Interaction page - Set the properties and enter the required data as in the image above

s85.JPG

Fig. (85) Interaction page - Set the properties and enter the required data as in the image above

s86.JPG

Fig. (86) Form Designer

s87.JPG

Fig. (87) Goal Desginer - Steps Tree

Select the step (Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class Method)

                Note : Stop typing when you see the required component is selected

s88.JPG

Fig. (88) Component Browser – Select the component (Define Class Method)

After selecting the component click Ok or press ENTER

s89.JPG

Fig. (89) Interaction page - Set the properties and enter the required data as in the image above

s90.JPG

Fig. (90) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s91.JPG

Fig. (91) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s92.JPG

Fig. (92) Interaction page - Set the properties and enter the required data as in the image above

s93.JPG

Fig. (93) Interaction page - Set the properties and enter the required data as in the image above

s94.JPG

Fig. (94) Interaction page - Set the properties and enter the required data as in the image above

s95.JPG

Fig. (95) Goal Desginer - Steps Tree

Select the step (Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class Method)

                Note : Stop typing when you see the required component is selected

s96.JPG

Fig. (96) Component Browser – Select the component (Define Class Method)

After selecting the component click Ok or press ENTER

s97.JPG

Fig. (97) Interaction page - Set the properties and enter the required data as in the image above

s98.JPG

Fig. (98) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Classes)

                3 - Select the component (Textbox Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Textbox Class)

                Note : Stop typing when you see the required component is selected

s99.JPG

Fig. (99) Component Browser – Select the component (Textbox Class)

After selecting the component click Ok or press ENTER

s100.JPG

Fig. (100) Interaction page - Set the properties and enter the required data as in the image above

s101.JPG

Fig. (101) Interaction page - Set the properties and enter the required data as in the image above

s102.JPG

Fig. (102) Interaction page - Set the properties and enter the required data as in the image above

s103.JPG

Fig. (103) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (GUI Application)

                3 - Select the component (Show Message)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Show Message)

                Note : Stop typing when you see the required component is selected

s104.JPG

Fig. (104) Component Browser – Select the component (Show Message)

After selecting the component click Ok or press ENTER

s105.JPG

Fig. (105) Interaction page - Set the properties and enter the required data as in the image above

s106.JPG

Fig. (106) Goal Desginer - Final Steps Tree

3 - Final Steps Tree

The First Step

                Define New Window ( win1 ) , Title : "System"

                                Window Events

                                Window Properties

                                Window Controls

                                                START OF MAIN MENU

                                                                MENU POPUPS

                                                                                DEFINE POPUP "File"

                                                                                                POPUP ITEMS

                                                                                                                Define ITEM ( "Welcome" )

                                                                                                                Define ITEM ( "Close System" )

                                                                                                END OF POPUP

                                                                END OF MAIN MENU

                                End Of Window

                                win1.Maximize ( )

                                Activate window

Procedures

                Define Procedure callwelcome

                                Start Here

                                                Create Object myobj of Class windowwelcome

                                                myout = myobj.showwindow()

                                End of Procedure

                Define Procedure closesystem

                                Start Here

                                                win1.Release ( )

                                End of Procedure

Classes

                Define Class windowwelcome

                                Declare Class Data

                                Declare Class Methods

                                                Method showwindow

                                                Method closewindow

                                                Method sayhello

                                End of Class

                                Class Methods

                                                Define Method showwindow Class windowwelcome

                                                                Start Here

                                                                                Define New Window ( winwelcome ) , Title : "Welcome"

                                                                                                Window Events

                                                                                                Window Properties

                                                                                                Window Controls

                                                                                                                Define Label ( lbl1 ) , Caption : "Name"

                                                                                                                                Label Events

                                                                                                                                Label Properties

                                                                                                                Define TextBox ( text1 )

                                                                                                                                TextBox EVENTS

                                                                                                                                TextBox Properties

                                                                                                                Define New Button ( btn1 ) , Caption : "Say Hello"

                                                                                                                                Button Events

                                                                                                                                                Event: ON CLICK : Action self:sayhello()

                                                                                                                                Button Properties

                                                                                                                Define New Button ( btn2 ) , Caption : "Close Window"

                                                                                                                                Button Events

                                                                                                                                                Event: ON CLICK : Action self:closewindow()

                                                                                                                                Button Properties

                                                                                                End Of Window

                                                                                                winwelcome.Center ( )

                                                                                                Activate window

                                                                End of Method (Return 0)

                                                Define Method closewindow Class windowwelcome

                                                                Start Here

                                                                                winwelcome.Release ( )

                                                                End of Method (Return 0)

                                                Define Method sayhello Class windowwelcome

                                                                Start Here

                                                                                myname = winwelcome.text1.Value

                                                                                Show Message "Hello " + myname Title "Welcome" Type: Message Box

                                                                End of Method (Return 0)

4 - Application during the runtime

runtime1.JPG

Fig. (107) Application during the runtime

runtime2.JPG

Fig. (108) Application during the runtime

runtime3.JPG

Fig. (109) Application during the runtime