SlideShare a Scribd company logo
1 of 25
Download to read offline
Programming Without Coding Technology (PWCT) Environment Reference Table of Contents 
 Introduction 
 Getting Started 
 PWCT Features - Visual Programming 
 PWCT Features - Practical Editor 
 PWCT Features - Programming Paradigm 
 PWCT Features - Compatable 
 PWCT Features - Programming Scope 
 PWCT Features - Framework and Extension 
 PWCT Features - Operating System 
 PWCT Features - More 
 Many Tutorials and Samples 
 PWCT Environment and the Goal Designer 
 Menubar 
 Select The Active Visual Programming Language 
 Server Units Window 
 Search In The Server Units 
 New File Window 
 New Template 
 Components Browser 
 Interaction Using Transporter 
 Form Designer 
 Set Steps Colors 
 VPL Compiler 
 The Time Machine 
 Search and Replace in the Steps Tree 
 Interaction Designer 
 Transporter Designer PWCT Environment and the Goal Designer 
When we run PWCT, we see the next window
The next table explain the window items Index Description 
1 
Window Title and the active visual source file name, Start.SSF 
2 
Menubar 
3 
Toolbar 
4 
Main windows (Server units window, Goal Designer, Transporter Designer and Interaction Designer) 
5 
Statusbar 
6 
Button to open the Log Window 
7 
Child window title (Goal Designer) 
8 
Child window (Goal Designer) buttons - Group (1) 
9 
Child window (Goal Designer) buttons - Group (2) 
10 
Component Name and Domain Tree of the selected step 
11 
The Steps Tree Menubar Menu Description
From this menu, you can create new files, open files, save file content and close files. Also you can close PWCT If the Goal Designer is the active window then these options will work with *.SSF files If the Transporter Designer is the active window then these options will work with *.TRF files If the Interaction Designer is the active window then these options will work with *.IDF files If the Interaction Pages Generator is the active window then these options will work with *.ISF files 
From this menu, you can cut, copy and paste any text If the Goal Designer is the active window then the cut,copy & paste options can work on the steps in the Steps Tree Also you can use the search, to find any item the data unit, code unit, veto unit or goal unit
From this menu, you can create, edit and modify items in the Data Unit The Data Unit can be used to represent the application data structure (Optional) The Electron can be a Variable, Reference or Data The SubShell is a Group of Electrons You can deal with the SubShell as an Array of Items, Stack or Queue The Shell is an array of SubShells The Atom is an array of Shells The Vessel is an array of Atoms The Reaction is a filter to the Atoms and Vessels based on Shells and SubShells names You can deal with the SubShell as Client- Server data structure When you load SubShell, the Electrons in this SubShell that are defined as variables will be ready for use as variables defined in the local scope You can read and modify the values of these variables You can upload the values to the SubShell after modification (optional) You are free to determine the Shell Name You can use common names like K,L,M,N,O,P and Q You are free to determine the SubShell Name You can use common names like S,P,D and F You can use Two SubShells as Virtual Data File The first SubShell will define the Virtual Data File structure The second SubShell will contains the virtual file data
From this menu you can create, modify and delete Circuits, Branches & Resistances The Circuit is a group of Branches The Branch is a group of Resistances The Resistance is a Block of code under common name You can consider the resistance as a procedure, function or method The code unit can be used to represent the Event-Loop in event-driven application When the loop starts, Circuits are executed You can stop a circuit using the circuit switch You can stop a branch using the branch switch You enable the circuit or the branch again using the circuit switch or the branch switch Executing Circuits is optional and this called "Server FireOn" Instead of executing the circuits, you can call only the main resistance 
The veto unit is used to control the communication between Servers From this menu you can create, modify and delete a Veto, Channel or Connection The veto is a message that can be recevied by the server from another server The channel is a buffer for vetos (messages) and Data received or sent from the server The connection is used to connect to another server When a server send a connection request to another server, the receiver can accept or reject the request When there is a connection between two servers, they can exchange vetos and data 
From this menu you can mange the Domain Tree You can install,reinstall and uninstall new components (*.TRF files)
From this menu you can manage the Goals You can create, modify and delete the Goals The Goal override a resistance in the Code Unit We determine the goal function using the Goal Designer We can use the Goal Viewer to work on more than one step at the same time We can use the Code Extractor Application to get the Steps Tree as Text File and to get the generated source code of one or more of goals 
From this menu we can create new components The Inteaction pages generator is used to generate interaction file and transporter file that link to the interaction page The interaction page is a data-entry form that will be used to enter the data required to the component The Transporter (Component) control the process of code generation and visual representation generation (steps tree) The Interaction Designer is used to design the interaction files (*.IDF) The Transporter Designer is used to design the transporter files (*.TRF) The Interaction Pages Generator work on (*.ISF) files 
From this menu we can create, modify and install package files (*.PAK) The package file is a copy from the Domain Tree The idea is to save the domain tree to a file Then you can restore the domain tree or merge it to another domain tree The package file doesn't contain the components content, Only the domain tree structure, component names and component file names.
From this menu you can Run Supernova programs (*.NOVA) And you can open the Supernova documentation Supernova is a simple scripting programming language developed using HarbourPWCT From this menu, you can run the Notepad, Calculator and the Paint programs 
From the Help menu you can open PWCT website, run the Samples/Tutorials/Movies manager Also you can open PWCT Page and PWCT Group on Facebook You can go to PWCT Blog to know what is new You can go to PWCT Forum to post questions, feature request and bug report. You can go to the online documentation to see the tutorials online and download samples You can go to PWCT Offer for Arab to find many movies to learn PWCT in Arabic language Select the Active Visual Programming Language 
From this combobox you can change the active Visual Programming Language HarbourPWCT : Visual language generate the source code in the Harbour language SupernovaPWCT : Visual language generate the source code in the Supernova language CPWCT : Visual language generate the source code in the C language C#PWCT : Visual language generate the source code in the C# language PythonPWCT : Visual language generate the source code in the Python language WebPWCT (Under development ) : Visual language generate the source code in HTML, CSS, JS & PHP.
Server Units Window 
Using HarbourPWCT, our application is a Server Using the Server Units Window, we can mange the Server Units We have a combobox to select any item in any unit We have the Units Tree contains four units (Data, Code, Veto & Goal). At the left side we have buttons to Add, Edit, Delete, Move Up, Move Down & Search We have four tabs (Details, Code, Compile & Info). Inside the details tab we see the server name, here is Server1 The program can get parameters using the command line These parameters are stored in variables SP1, SP2, SP3, SP4, SP5, SP6, SP7 & SP8 You can change this line to determine the number of parameters and the variables names Insilde the details tab we have four sub tabs (Data Unit, Code Unit, Veto Unit & Goal Unit) From these sub tabs we get information and statistics We can know the number of Atoms, Shells, SubShells, Vessels & Reactions in the data unit We can know the number of Circuits, Branches & Resistances in the Code Unit We can know the number of Connection, channels & vetos in the veto unit We can know the number of goals in the Goal Unit. 
Inside the code tab we can write the resistance code Inside the code unit, we have a group of circuits
Each circuit may contains a group of branches and each branch may contains a group of resistances The resistance is a block of code under the resistance name When we call a resistance (Execute this block of code) we type Call Resistance CircuitsCircuitNameBrachNameResistanceName There is no need to write the resistance code by hand The resistance code can be replaced by a goal from the Goal Unit 
From the Compile tab we have a group of options that control the type of the visual source At first we can select the user interface type, we have Console & GUI options We have a checkbox carry the name "Server Extension" the default status of this checkbox is FALSE (Not active) This means that the visual source is a complete application or the main visual source file In this case when we press CTRL+R, we expect the result to be the application during the runtime If this checkbox is enabled/active (True) In this case the visual source will be sub part of the program (not complete application and not the main visual source file). In this case when we press CTRL+R , we get only the generated source code file Later the generated source code file can be linked to another visual source file The generated source code file may contains Functions/Procedures/Classes that can be used by another visual source file Also these Functions/Procedures/Classes may be a library that will be shared with more than one program. 
We have two options to run the application The first option is "Call Main Resistance" In this case at the application startup, the main resistance will be executed The resistance is a block of code We can write this code or override it using a goal then use the Goal Designer to create the application using Visual Programming The Second option is "Server FireOn" In this case the circuits will be executed one by one Executing a circuit means executing the circuit branches Executing a branch means executing the branch resistances Before executing a circuit the circuit switch must be ON Before executing a branch; the branch switch must be ON.
We can change the switch status of the Circuit or the Branch in the Design time or in the Runtime. We have three buttons The button "Generate" will generate the source code file The button "Build" will generate the source code file then build the application The button "Run" will generate the source code, build the application then will run the application. 
In the Info tab we have an editbox where we can write any comments 
Search In The Server Units 
From the Menubar, Edit Menu we can get the Search window Using this window we can find items in data, code, veto and goal units
New File Window 
When we are using HarbourPWCT, and the Goal Designer is the active window then we create new file from the toolbar, menubar or by pressing CTRL+N we get the next window 
From this window we can select a template to use it in create our application We can use templates to create Console/GUI applications by writing the code (Resistance Code) Or we can create our Console/GUI application without coding using the Goal Designer
Also we have other templates to quickly create database applications using Object Oriented Programming Paradigm and ADO (ActiveX Data Object) After selecting the template we can Press ENTER, Double Click the item or click on the "create" button We have two buttons "+" and "-" to add and remove templates from the list New Template 
From this window we can define new template and add it to the templates list that appears when we create new file All what we need is to determine the template name and the template file. We can write the file name using the textbox or we can select the file using the file browser window by clicking on the button next to the filename textbox 
Components Browser 
Using the Components Browser, we can select a component to use it for generating steps inside the steps tree We have the Domain Tree, at first we select the domain, then from the components list that are related to the selected domain; we can select the component We can quickly find a component using a search process by the component name Once we write the first letters in the component name, the interactive search can search and select the component To use the selected component, you can press ENTER, Double Click the component name or click on the "OK" button To cancel the process, you can click on the "Cancel" button or press "ESC".
Interaction using Transporter 
Using the "Interaction using Transporter" window, we can enter the data to the interaction pages "data-entry forms" Once we enter the data we can click "OK" or press CTRL+W to end the interaction process and see the generated steps in the steps tree We can click on "Again" button or press CTRL+A to use the same component for another time The component may use more than one interaction page, in this case we can move between the pages using buttons or using the pages combobox When we enter the data using the textbox, we can use the mouse right click to get a shourtcut menu; this menu will provide options that help in entering the data like select color, font, object, etc.
Form Designer 
From the Goal Designer window we can open the Form Designer window using the Form Designer button or by pressing CTRL+F Inside the steps tree we may have more than one window, in this case we will get a list of windows to select a one before opening the form designer If we opened the form designer while the steps of a window is selected, this window will be opened directly Using the form designer we can design the user interface of our programs We can use the button "Add Control" to add new controls quickly to the window We can double click a control to open the interaction page of the component We can open the interaction page also by clicking on the "Modify" button. Using the form designer we can use the keyboard or the mouse to move or resize one or more of controls We can set the font, text color and back color for one or more of controls We have many options that help in the design like Align, Size, Move, Spacing and Resize. After modifying the user interface we can click "Save" or "Cancel"
Set Steps Colors 
From the Goal Designer window we can open the Steps Colors window by clicking on the "Steps Colors" button Using the Steps Colors window, we can select the step color based on the step type Also we have a list of styles where we can quickly select a style and use it One important feature here is that we can hide some steps based on the step type Using this feature we can reduce the number of the steps based on what we are doing For example for reading the steps tree, we can hide steps of type "Generated Leaf" 
VPL Compiler
From the Goal Desinger window we can run the VPL (Visual Programming Language) Compiler by clicking on the "VPL Compiler" button. Using the VPL compiler we can detect the errors in the visual source These errors could happen when we work on the steps tree while the Syntax Directed Editor is OFF Also at the end of compiling the visual source, we get the number of Interactions, Steps and Errors. The next list contains the errors that can be detected by the VPL Compiler Error Message 
Error : Step ( "Step Name" ) Enable/Ignore status is not correct 
Error : Step ( "Step Name" ) is not expected to be in this order 
Error : Step ( "Step Name" ) order is not correct 
Error : Step ( "Step Name" ) Contains Bad Substep 
Error : Step ( "Step Name" ) is duplicated 
Error : Step ( "Step Name" ) Parent is not correct 
The Time Machine 
Inside the Goal Designer window, we have the Time Machine button When we click on this button we get a menu of options From this menu we can play the program as movie When we do this, we will see how to create the visual source (The Steps Tree) step by step We will see the program construction process from the First Step to selecting components and entering data to the interaction pages When we paly the movie, we can stop it at any point, also we can continue
At any point we can run the program and see results in the runtime at this point When we play the movie, we listen to a voice. This voice read the step name We can enable/disable this voice When we play th movie can select to see only the steps (no interaction pages - no components browser) From this menu we have other options For example we can refresh the steps tree after updating the visual components By doing this when we modify the component code mask script, the changes will be reflected to the program Also from the same menu, we can run the documentation generator after playing the program as movie The documentation generator can create an HTML file which explains how to create the program step by step Using this generator, we created many tutorials from PWCT Samples, and these tutorials are online (thousands of pages). 
Search and Replace in the Steps Tree 
From the Goal Designer window, we can open the search window by clicking on the search button Using this search window we can do Search and Replace operations on the steps tree We can find a step/steps by typing part of the Step Name and/or Step Data
Interaction Designer 
Using the Interaction Designer, we can design the interaction pages that are used by the visual components (transporters). The interaction page is a data-entry form, using the form the user will enter the required data to the component The interaction page could contains many controls (Label, Textbox, Checkbox & Listbox) Using a textbox we can ask the user to enter any text (string, number, expressions, etc) The textbox value will be stored in a variable and we can determine the name of this variable We can add Checkbox to the interaction page and determine the checkbox variable name.
The checkbox variable value will be 1 when the checkbox is active/enabled/true The checkbox variable value will be 0 when the checkbox is not active/disabled/false. We can add a listbox to the interaction page and we can determine the listbox varaible name. We can determine the listbox items, also we can determine the default item. We can set the listbox variable to contains the selected item text or the selected item index. The Interaction designer window display the active interaction page file name (*.IDF) At the left side we have small toolbar contains buttons to add controls the interaction page We have buttons to add Label, Textbox, Checkbox and Listbox We have a Properties tab where we can set the properties of each control in the interaction page We can Show/Hide the properties tab using the properties button We have the Objects Combobox which contains a list of the interaction page objects and we can select an object from this list Using right click on the interaction page region we can get a shourtcut menu to select the page color or picture Using the mouse we can move and resize the objects, also we can do this using the properties tab To move an object, select the object using the mouse and move it by moving the mouse while pressing the left button To resize an object go to the right-down corner of the object, you will see a black rectangle, press the mouse left button and keep pressing while moving the mouse to resize the control When the interaction designer window is active, you can use the file menu to create, open and close the interaction pages files (*.IDF) Most of the interaction pages are not designed using the interaction designer Most of the interaction pages are generated using the Interaction pages generator Then we use the interaction designer to see the interaction page, enter the listbox items and set the default values. When we enter the listbox items, we can enter the items one by one or import the items from a text file
By using the keyword DEFAULT between "<" and ">" we can set the default control By using the keyword AUTONUMBER between "<" and ">" we can ask for automatic name By using the keyword LISTBOXDEFAULT between "<" and ">" in the listbox item name we can set the default item. Transporter Designer 
Programming inside PWCT is done using Visual Components The visual component inside PWCT is called the Transporter This name comes because the component get input from the user through the interaction pages (data-entry forms) Then transport this input from the interaction pages to the code mask interpreter The code mask is a script program which control the visual representation generation (steps) Also the code mask generate the text based source code The code mask may contains varaibles, and we may have interaction pages which could contains variables In the matching process we match between the variable name in the interaction page and the variable name in the code mask When we use the same variable name in the interaction page and in the code mask we can do automatic matching We can use the Rules to determine the relationship between components These rules is used by the goal designer when the Syntax Directed Editor is ON
These rules is used also by the VPL (Visual Programming Language) Compiler to check the program for errors The programmer may have errors he works while the Syntax Directed Editor is OFF The transporter designer window display the active component file name (*.TRF) Then the window display 4 tabs The first tab contains the Interaction Pages Each interaction page is represent by a name and a file (*.IDF) We have the buttons Add, Edit & Delete to work on the interaction pages list When we select an interaction page from the list, we see the interaction page file name We can determine or change the interaction page file name To do this click on the button which is next to the textbox which display the interaction page file name We have the button "Open", when we click on it; we see that the interaction page file is opened using the interaction designer We have the button "Install Component" We can click on this button after designing the component to add it to the Domain Tree When we use the components, using the components browser, we select the domain first from the Domain Tree then we select the component 
The second tab is called "Code Mask" In the editbox we can write the code mask The code mask is a script written in a scripting language developed and embedded inside PWCT This scripting language is called RPWI RPWI is very simple and when you write the code mask you can use Mouse Right Click to get a list of all instructions The next table contains a list of instructions and rules for writing the Code Mask Instruction Description
RPWI:POSITIVE 
Execute the instructions inside the test block when the result of the test is TRUE 
RPWI:NEGATIVE 
Execute the instructions inside the test block when the result of the test is FALSE 
RPWI:VALUE 
Determine the value that will be used in the test condition. for example "1" or "0" for True and False 
RPWI:TEST 
start a test block, determine the variables that will be tested using the test value 
RPWI:ENDTEST 
End a test block 
RPWI:PUTMARK 
store the active step number in a fixed register (using numbers from 1 to 20) 
RPWI:SETMARK 
Set the active step (parent step) using a register contains the step id, the register number from 1 to 20 
RPWI:NEWSTEP 
Create new step inside the step tree 
RPWI:SELECTSTEPBYNAME 
Select the active (parent) step using the step name 
RPWI:TABPUSH 
Add new nested level to the generated source code 
RPWI:TABPOP 
End a nesting level in the generated source code 
RPWI:NOTE 
Add a comment 
RPWI:NOTE 
Add a comment 
RPWI:NEWVAR 
Create new variable 
RPWI:SETVARVALUE 
Set the active variable value 
RPWI:SELECTVAR 
Select the active variable 
RPWI:REPLACEVARSWITHVALUES 
Replace variables created in the code mask with their values 
RPWI:IGNORELAST 
Remove one or more of characters from the end of the generated code before this instruction 
RPWI:IGNORELEVEL 
Determine the level of the RPWI:IGNORELAST , the level code be the code in the current step of the parent step 
RPWI:INFORMATION 
Add information to the generated step 
PWCT:TOFILE 
Start code generation to a file, here we determine the file name 
PWCT:ENDFILE 
End of the block that will generate code to a file
PWCT:ADDVAR 
Determine a variable name that will be replace with a value when extracting the code from the goal to the source file 
PWCT:SETVAR 
Set the variable name 
PWCT:MERGENEXTTOPREV 
Merge the generated code in the next line to the previous line 
PWCT:IGNORELAST 
The same as RPWI:IGNORELAST but will be executed only when extracting the code from the goal to the source file 
"<" and ">" 
We write any variable name or instruction between "<" and ">" 
generated code 
We write the generated code (behind the step) directly, anything which is not variable or instruction is a generated code 
variables inside generated code 
We can insert variable to the generated code, these variables will be replace with values from interaction pages or from the code mask variables 
Nested Test blocks 
Nested Test blocks are allowed, we can use RPWI:TEST inside another RPWI:TEST 
Test Condition 
The test condition is variable or many variables that will be compared with the test value 
In the Matching tab, we match between the variables in the interaction page and variables in the code mask script To do a match, we select two variables then click on the button with the Down icon If the variable name is the same in the two lists, we can click on automatic matching button to do the process automatically 
To delete a matching record; select the record then click on the "Delete" button.
In the Rules tab, we can write the rules that will control the relationships between the component and the other components The rules determine what is the type of the parent and/or child components The rules also determine which step in the generated steps will allow adding child steps to it The next table present the rules that can be applied on the component Rule Description 
AllowParent:Root 
The parent of the component must be the Start point, Nested steps from the start point that are created as comments like "The first step" are allowed also as parent. 
AllowParent:General 
No rules determine the parent component; any parent are allowed. 
AllowParent:Custom 
We will determine the list of components that are allowed as parent by name 
AllowInteraction: Number of the step 
Determine the step that allow adding child steps 
Scope: General 
Using Scope: General After AllowInteraction means that no rules determine the child component (any one is allowed) 
Scope: Custom 
We will determine the list of components that are allowed as child by name 
Allow: component name 
Add a component name to the list of allowed components 
End 
End the list of allowed components 
Allowroot: step number 
Select a step to be another root step (like the first generated step). 
NoDuplication: interaction page variable 
Determine the variable name in the interaction page where the duplication is not allowed 
Scope: Parent 
When used after NoDuplication; will set the scope of
duplication checking to the parent component only. 
End of Document 
Home

More Related Content

What's hot

RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageGEBS Reporting
 
PL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredPL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredDanish Mehraj
 
Using Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyUsing Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyGEBS Reporting
 
Responsive Design and Bootstrap
Responsive Design  and BootstrapResponsive Design  and Bootstrap
Responsive Design and BootstrapMahmoudOHassouna
 
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB MahmoudOHassouna
 
Book management system
Book management systemBook management system
Book management systemSHARDA SHARAN
 
Introduction Latex
Introduction LatexIntroduction Latex
Introduction Latextran dinh
 
SAP ABAP Practice exam
SAP ABAP Practice examSAP ABAP Practice exam
SAP ABAP Practice examIT LearnMore
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions piyushchawala
 
Fpt connector
Fpt connectorFpt connector
Fpt connectorThang Loi
 

What's hot (20)

Sap abap
Sap abapSap abap
Sap abap
 
Ppt chapter08
Ppt chapter08Ppt chapter08
Ppt chapter08
 
Chapter 6
Chapter 6Chapter 6
Chapter 6
 
RPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usageRPE - Template formating, style and stylesheet usage
RPE - Template formating, style and stylesheet usage
 
PL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics CoveredPL/SQL Complete Tutorial. All Topics Covered
PL/SQL Complete Tutorial. All Topics Covered
 
Using Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational RhapsodyUsing Rational Publishing Engine to generate documents from Rational Rhapsody
Using Rational Publishing Engine to generate documents from Rational Rhapsody
 
Html tutorial
Html tutorialHtml tutorial
Html tutorial
 
Responsive Design and Bootstrap
Responsive Design  and BootstrapResponsive Design  and Bootstrap
Responsive Design and Bootstrap
 
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
Murach': HOW TO DEVELOP A DATA DRIVEN MVC WEB
 
Sap abap material
Sap abap materialSap abap material
Sap abap material
 
Book management system
Book management systemBook management system
Book management system
 
Db2 tutorial
Db2 tutorialDb2 tutorial
Db2 tutorial
 
Jazz
JazzJazz
Jazz
 
Lp 2
Lp 2Lp 2
Lp 2
 
Introduction Latex
Introduction LatexIntroduction Latex
Introduction Latex
 
Chap03 scr
Chap03 scrChap03 scr
Chap03 scr
 
SAP ABAP Practice exam
SAP ABAP Practice examSAP ABAP Practice exam
SAP ABAP Practice exam
 
SAP ABAP Latest Interview Questions
SAP ABAP Latest  Interview Questions SAP ABAP Latest  Interview Questions
SAP ABAP Latest Interview Questions
 
Fpt connector
Fpt connectorFpt connector
Fpt connector
 
Abap reports
Abap reportsAbap reports
Abap reports
 

Viewers also liked

Top 10 learning support interview questions and answers
Top 10 learning support interview questions and answersTop 10 learning support interview questions and answers
Top 10 learning support interview questions and answersBrunoMars345
 
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...Mahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Arithmetic operations
Programming Without Coding Technology (PWCT) - Arithmetic operationsProgramming Without Coding Technology (PWCT) - Arithmetic operations
Programming Without Coding Technology (PWCT) - Arithmetic operationsMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Progressbar control
Programming Without Coding Technology (PWCT) - Progressbar controlProgramming Without Coding Technology (PWCT) - Progressbar control
Programming Without Coding Technology (PWCT) - Progressbar controlMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII CodeProgramming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII CodeMahmoud Samir Fayed
 
Using Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) EnvironmentUsing Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) EnvironmentMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...Programming Without Coding Technology (PWCT) - Create Menus in our console ap...
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...Mahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Convert the data type of varai...
Programming Without Coding Technology (PWCT) - Convert the data type of varai...Programming Without Coding Technology (PWCT) - Convert the data type of varai...
Programming Without Coding Technology (PWCT) - Convert the data type of varai...Mahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get ComponentProgramming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get ComponentMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Treeview control
Programming Without Coding Technology (PWCT) - Treeview controlProgramming Without Coding Technology (PWCT) - Treeview control
Programming Without Coding Technology (PWCT) - Treeview controlMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - How to deal with Strings
Programming Without Coding Technology (PWCT) - How to deal with StringsProgramming Without Coding Technology (PWCT) - How to deal with Strings
Programming Without Coding Technology (PWCT) - How to deal with StringsMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Add toolbar to the window
Programming Without Coding Technology (PWCT) - Add toolbar to the windowProgramming Without Coding Technology (PWCT) - Add toolbar to the window
Programming Without Coding Technology (PWCT) - Add toolbar to the windowMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveX
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveXProgramming Without Coding Technology (PWCT) - PolarCryptoLight ActiveX
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveXMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Logical Operations
Programming Without Coding Technology (PWCT) - Logical OperationsProgramming Without Coding Technology (PWCT) - Logical Operations
Programming Without Coding Technology (PWCT) - Logical OperationsMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
Programming Without Coding Technology (PWCT)  Getting Started - Create your f...Programming Without Coding Technology (PWCT)  Getting Started - Create your f...
Programming Without Coding Technology (PWCT) Getting Started - Create your f...Mahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Checkbutton control
Programming Without Coding Technology (PWCT) - Checkbutton controlProgramming Without Coding Technology (PWCT) - Checkbutton control
Programming Without Coding Technology (PWCT) - Checkbutton controlMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Hello Lily Sample
Programming Without Coding Technology (PWCT) - Hello Lily SampleProgramming Without Coding Technology (PWCT) - Hello Lily Sample
Programming Without Coding Technology (PWCT) - Hello Lily SampleMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & ExtensionProgramming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & ExtensionMahmoud Samir Fayed
 
Programming Without Coding Technology (PWCT) - Checkbox control
Programming Without Coding Technology (PWCT) - Checkbox controlProgramming Without Coding Technology (PWCT) - Checkbox control
Programming Without Coding Technology (PWCT) - Checkbox controlMahmoud Samir Fayed
 
Top 10 education support officer interview questions and answers
Top 10 education support officer interview questions and answersTop 10 education support officer interview questions and answers
Top 10 education support officer interview questions and answersfinlaymorgan62
 

Viewers also liked (20)

Top 10 learning support interview questions and answers
Top 10 learning support interview questions and answersTop 10 learning support interview questions and answers
Top 10 learning support interview questions and answers
 
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
Programming Without Coding Technology (PWCT) - HarbourPWCT - Hello World - Co...
 
Programming Without Coding Technology (PWCT) - Arithmetic operations
Programming Without Coding Technology (PWCT) - Arithmetic operationsProgramming Without Coding Technology (PWCT) - Arithmetic operations
Programming Without Coding Technology (PWCT) - Arithmetic operations
 
Programming Without Coding Technology (PWCT) - Progressbar control
Programming Without Coding Technology (PWCT) - Progressbar controlProgramming Without Coding Technology (PWCT) - Progressbar control
Programming Without Coding Technology (PWCT) - Progressbar control
 
Programming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII CodeProgramming Without Coding Technology (PWCT) - ASCII Code
Programming Without Coding Technology (PWCT) - ASCII Code
 
Using Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) EnvironmentUsing Python inside Programming Without Coding Technology (PWCT) Environment
Using Python inside Programming Without Coding Technology (PWCT) Environment
 
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...Programming Without Coding Technology (PWCT) - Create Menus in our console ap...
Programming Without Coding Technology (PWCT) - Create Menus in our console ap...
 
Programming Without Coding Technology (PWCT) - Convert the data type of varai...
Programming Without Coding Technology (PWCT) - Convert the data type of varai...Programming Without Coding Technology (PWCT) - Convert the data type of varai...
Programming Without Coding Technology (PWCT) - Convert the data type of varai...
 
Programming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get ComponentProgramming Without Coding Technology (PWCT) - HTTP Get Component
Programming Without Coding Technology (PWCT) - HTTP Get Component
 
Programming Without Coding Technology (PWCT) - Treeview control
Programming Without Coding Technology (PWCT) - Treeview controlProgramming Without Coding Technology (PWCT) - Treeview control
Programming Without Coding Technology (PWCT) - Treeview control
 
Programming Without Coding Technology (PWCT) - How to deal with Strings
Programming Without Coding Technology (PWCT) - How to deal with StringsProgramming Without Coding Technology (PWCT) - How to deal with Strings
Programming Without Coding Technology (PWCT) - How to deal with Strings
 
Programming Without Coding Technology (PWCT) - Add toolbar to the window
Programming Without Coding Technology (PWCT) - Add toolbar to the windowProgramming Without Coding Technology (PWCT) - Add toolbar to the window
Programming Without Coding Technology (PWCT) - Add toolbar to the window
 
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveX
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveXProgramming Without Coding Technology (PWCT) - PolarCryptoLight ActiveX
Programming Without Coding Technology (PWCT) - PolarCryptoLight ActiveX
 
Programming Without Coding Technology (PWCT) - Logical Operations
Programming Without Coding Technology (PWCT) - Logical OperationsProgramming Without Coding Technology (PWCT) - Logical Operations
Programming Without Coding Technology (PWCT) - Logical Operations
 
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
Programming Without Coding Technology (PWCT)  Getting Started - Create your f...Programming Without Coding Technology (PWCT)  Getting Started - Create your f...
Programming Without Coding Technology (PWCT) Getting Started - Create your f...
 
Programming Without Coding Technology (PWCT) - Checkbutton control
Programming Without Coding Technology (PWCT) - Checkbutton controlProgramming Without Coding Technology (PWCT) - Checkbutton control
Programming Without Coding Technology (PWCT) - Checkbutton control
 
Programming Without Coding Technology (PWCT) - Hello Lily Sample
Programming Without Coding Technology (PWCT) - Hello Lily SampleProgramming Without Coding Technology (PWCT) - Hello Lily Sample
Programming Without Coding Technology (PWCT) - Hello Lily Sample
 
Programming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & ExtensionProgramming Without Coding Technology (PWCT) Features - Framework & Extension
Programming Without Coding Technology (PWCT) Features - Framework & Extension
 
Programming Without Coding Technology (PWCT) - Checkbox control
Programming Without Coding Technology (PWCT) - Checkbox controlProgramming Without Coding Technology (PWCT) - Checkbox control
Programming Without Coding Technology (PWCT) - Checkbox control
 
Top 10 education support officer interview questions and answers
Top 10 education support officer interview questions and answersTop 10 education support officer interview questions and answers
Top 10 education support officer interview questions and answers
 

Similar to Programming Without Coding Technology (PWCT) Environment

Similar to Programming Without Coding Technology (PWCT) Environment (20)

ArduinoWorkshop2.pdf
ArduinoWorkshop2.pdfArduinoWorkshop2.pdf
ArduinoWorkshop2.pdf
 
Introduction to Visual Basic
Introduction to Visual Basic Introduction to Visual Basic
Introduction to Visual Basic
 
Informatica cloud Powercenter designer
Informatica cloud Powercenter designerInformatica cloud Powercenter designer
Informatica cloud Powercenter designer
 
User and group security migration
User and group security migrationUser and group security migration
User and group security migration
 
Test Strategy Utilising Mc Useful Tools
Test Strategy Utilising Mc Useful ToolsTest Strategy Utilising Mc Useful Tools
Test Strategy Utilising Mc Useful Tools
 
User and group security migration
User and group security migrationUser and group security migration
User and group security migration
 
Technical Interview
Technical InterviewTechnical Interview
Technical Interview
 
Force.com migration utility
Force.com migration utilityForce.com migration utility
Force.com migration utility
 
As pnet
As pnetAs pnet
As pnet
 
Salesforce
SalesforceSalesforce
Salesforce
 
WPF 4 Series: Getting Started
WPF 4 Series: Getting StartedWPF 4 Series: Getting Started
WPF 4 Series: Getting Started
 
Wpf4 july2010
 Wpf4 july2010 Wpf4 july2010
Wpf4 july2010
 
Lab 1 Essay
Lab 1 EssayLab 1 Essay
Lab 1 Essay
 
oracle-reports6i
oracle-reports6ioracle-reports6i
oracle-reports6i
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 
Getting started with test complete 7
Getting started with test complete 7Getting started with test complete 7
Getting started with test complete 7
 
Oracle Concurrent Program Setup document
Oracle Concurrent Program Setup  documentOracle Concurrent Program Setup  document
Oracle Concurrent Program Setup document
 
Android coding guide lines
Android coding guide linesAndroid coding guide lines
Android coding guide lines
 
Ray flow release notes webconsole_ 1.9.0_0
Ray flow release notes webconsole_ 1.9.0_0Ray flow release notes webconsole_ 1.9.0_0
Ray flow release notes webconsole_ 1.9.0_0
 
Adobe Flex4
Adobe Flex4 Adobe Flex4
Adobe Flex4
 

More from Mahmoud Samir Fayed

The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212Mahmoud Samir Fayed
 
The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212Mahmoud Samir Fayed
 

More from Mahmoud Samir Fayed (20)

The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212The Ring programming language version 1.10 book - Part 212 of 212
The Ring programming language version 1.10 book - Part 212 of 212
 
The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212The Ring programming language version 1.10 book - Part 211 of 212
The Ring programming language version 1.10 book - Part 211 of 212
 
The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212The Ring programming language version 1.10 book - Part 210 of 212
The Ring programming language version 1.10 book - Part 210 of 212
 
The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212The Ring programming language version 1.10 book - Part 208 of 212
The Ring programming language version 1.10 book - Part 208 of 212
 
The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212The Ring programming language version 1.10 book - Part 207 of 212
The Ring programming language version 1.10 book - Part 207 of 212
 
The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212The Ring programming language version 1.10 book - Part 205 of 212
The Ring programming language version 1.10 book - Part 205 of 212
 
The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212The Ring programming language version 1.10 book - Part 206 of 212
The Ring programming language version 1.10 book - Part 206 of 212
 
The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212The Ring programming language version 1.10 book - Part 204 of 212
The Ring programming language version 1.10 book - Part 204 of 212
 
The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212The Ring programming language version 1.10 book - Part 203 of 212
The Ring programming language version 1.10 book - Part 203 of 212
 
The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212The Ring programming language version 1.10 book - Part 202 of 212
The Ring programming language version 1.10 book - Part 202 of 212
 
The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212The Ring programming language version 1.10 book - Part 201 of 212
The Ring programming language version 1.10 book - Part 201 of 212
 
The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212The Ring programming language version 1.10 book - Part 200 of 212
The Ring programming language version 1.10 book - Part 200 of 212
 
The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212The Ring programming language version 1.10 book - Part 199 of 212
The Ring programming language version 1.10 book - Part 199 of 212
 
The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212The Ring programming language version 1.10 book - Part 198 of 212
The Ring programming language version 1.10 book - Part 198 of 212
 
The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212The Ring programming language version 1.10 book - Part 197 of 212
The Ring programming language version 1.10 book - Part 197 of 212
 
The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212The Ring programming language version 1.10 book - Part 196 of 212
The Ring programming language version 1.10 book - Part 196 of 212
 
The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212The Ring programming language version 1.10 book - Part 195 of 212
The Ring programming language version 1.10 book - Part 195 of 212
 
The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212The Ring programming language version 1.10 book - Part 194 of 212
The Ring programming language version 1.10 book - Part 194 of 212
 
The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212The Ring programming language version 1.10 book - Part 193 of 212
The Ring programming language version 1.10 book - Part 193 of 212
 
The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212The Ring programming language version 1.10 book - Part 192 of 212
The Ring programming language version 1.10 book - Part 192 of 212
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 

Programming Without Coding Technology (PWCT) Environment

  • 1. Programming Without Coding Technology (PWCT) Environment Reference Table of Contents  Introduction  Getting Started  PWCT Features - Visual Programming  PWCT Features - Practical Editor  PWCT Features - Programming Paradigm  PWCT Features - Compatable  PWCT Features - Programming Scope  PWCT Features - Framework and Extension  PWCT Features - Operating System  PWCT Features - More  Many Tutorials and Samples  PWCT Environment and the Goal Designer  Menubar  Select The Active Visual Programming Language  Server Units Window  Search In The Server Units  New File Window  New Template  Components Browser  Interaction Using Transporter  Form Designer  Set Steps Colors  VPL Compiler  The Time Machine  Search and Replace in the Steps Tree  Interaction Designer  Transporter Designer PWCT Environment and the Goal Designer When we run PWCT, we see the next window
  • 2. The next table explain the window items Index Description 1 Window Title and the active visual source file name, Start.SSF 2 Menubar 3 Toolbar 4 Main windows (Server units window, Goal Designer, Transporter Designer and Interaction Designer) 5 Statusbar 6 Button to open the Log Window 7 Child window title (Goal Designer) 8 Child window (Goal Designer) buttons - Group (1) 9 Child window (Goal Designer) buttons - Group (2) 10 Component Name and Domain Tree of the selected step 11 The Steps Tree Menubar Menu Description
  • 3. From this menu, you can create new files, open files, save file content and close files. Also you can close PWCT If the Goal Designer is the active window then these options will work with *.SSF files If the Transporter Designer is the active window then these options will work with *.TRF files If the Interaction Designer is the active window then these options will work with *.IDF files If the Interaction Pages Generator is the active window then these options will work with *.ISF files From this menu, you can cut, copy and paste any text If the Goal Designer is the active window then the cut,copy & paste options can work on the steps in the Steps Tree Also you can use the search, to find any item the data unit, code unit, veto unit or goal unit
  • 4. From this menu, you can create, edit and modify items in the Data Unit The Data Unit can be used to represent the application data structure (Optional) The Electron can be a Variable, Reference or Data The SubShell is a Group of Electrons You can deal with the SubShell as an Array of Items, Stack or Queue The Shell is an array of SubShells The Atom is an array of Shells The Vessel is an array of Atoms The Reaction is a filter to the Atoms and Vessels based on Shells and SubShells names You can deal with the SubShell as Client- Server data structure When you load SubShell, the Electrons in this SubShell that are defined as variables will be ready for use as variables defined in the local scope You can read and modify the values of these variables You can upload the values to the SubShell after modification (optional) You are free to determine the Shell Name You can use common names like K,L,M,N,O,P and Q You are free to determine the SubShell Name You can use common names like S,P,D and F You can use Two SubShells as Virtual Data File The first SubShell will define the Virtual Data File structure The second SubShell will contains the virtual file data
  • 5. From this menu you can create, modify and delete Circuits, Branches & Resistances The Circuit is a group of Branches The Branch is a group of Resistances The Resistance is a Block of code under common name You can consider the resistance as a procedure, function or method The code unit can be used to represent the Event-Loop in event-driven application When the loop starts, Circuits are executed You can stop a circuit using the circuit switch You can stop a branch using the branch switch You enable the circuit or the branch again using the circuit switch or the branch switch Executing Circuits is optional and this called "Server FireOn" Instead of executing the circuits, you can call only the main resistance The veto unit is used to control the communication between Servers From this menu you can create, modify and delete a Veto, Channel or Connection The veto is a message that can be recevied by the server from another server The channel is a buffer for vetos (messages) and Data received or sent from the server The connection is used to connect to another server When a server send a connection request to another server, the receiver can accept or reject the request When there is a connection between two servers, they can exchange vetos and data From this menu you can mange the Domain Tree You can install,reinstall and uninstall new components (*.TRF files)
  • 6. From this menu you can manage the Goals You can create, modify and delete the Goals The Goal override a resistance in the Code Unit We determine the goal function using the Goal Designer We can use the Goal Viewer to work on more than one step at the same time We can use the Code Extractor Application to get the Steps Tree as Text File and to get the generated source code of one or more of goals From this menu we can create new components The Inteaction pages generator is used to generate interaction file and transporter file that link to the interaction page The interaction page is a data-entry form that will be used to enter the data required to the component The Transporter (Component) control the process of code generation and visual representation generation (steps tree) The Interaction Designer is used to design the interaction files (*.IDF) The Transporter Designer is used to design the transporter files (*.TRF) The Interaction Pages Generator work on (*.ISF) files From this menu we can create, modify and install package files (*.PAK) The package file is a copy from the Domain Tree The idea is to save the domain tree to a file Then you can restore the domain tree or merge it to another domain tree The package file doesn't contain the components content, Only the domain tree structure, component names and component file names.
  • 7. From this menu you can Run Supernova programs (*.NOVA) And you can open the Supernova documentation Supernova is a simple scripting programming language developed using HarbourPWCT From this menu, you can run the Notepad, Calculator and the Paint programs From the Help menu you can open PWCT website, run the Samples/Tutorials/Movies manager Also you can open PWCT Page and PWCT Group on Facebook You can go to PWCT Blog to know what is new You can go to PWCT Forum to post questions, feature request and bug report. You can go to the online documentation to see the tutorials online and download samples You can go to PWCT Offer for Arab to find many movies to learn PWCT in Arabic language Select the Active Visual Programming Language From this combobox you can change the active Visual Programming Language HarbourPWCT : Visual language generate the source code in the Harbour language SupernovaPWCT : Visual language generate the source code in the Supernova language CPWCT : Visual language generate the source code in the C language C#PWCT : Visual language generate the source code in the C# language PythonPWCT : Visual language generate the source code in the Python language WebPWCT (Under development ) : Visual language generate the source code in HTML, CSS, JS & PHP.
  • 8. Server Units Window Using HarbourPWCT, our application is a Server Using the Server Units Window, we can mange the Server Units We have a combobox to select any item in any unit We have the Units Tree contains four units (Data, Code, Veto & Goal). At the left side we have buttons to Add, Edit, Delete, Move Up, Move Down & Search We have four tabs (Details, Code, Compile & Info). Inside the details tab we see the server name, here is Server1 The program can get parameters using the command line These parameters are stored in variables SP1, SP2, SP3, SP4, SP5, SP6, SP7 & SP8 You can change this line to determine the number of parameters and the variables names Insilde the details tab we have four sub tabs (Data Unit, Code Unit, Veto Unit & Goal Unit) From these sub tabs we get information and statistics We can know the number of Atoms, Shells, SubShells, Vessels & Reactions in the data unit We can know the number of Circuits, Branches & Resistances in the Code Unit We can know the number of Connection, channels & vetos in the veto unit We can know the number of goals in the Goal Unit. Inside the code tab we can write the resistance code Inside the code unit, we have a group of circuits
  • 9. Each circuit may contains a group of branches and each branch may contains a group of resistances The resistance is a block of code under the resistance name When we call a resistance (Execute this block of code) we type Call Resistance CircuitsCircuitNameBrachNameResistanceName There is no need to write the resistance code by hand The resistance code can be replaced by a goal from the Goal Unit From the Compile tab we have a group of options that control the type of the visual source At first we can select the user interface type, we have Console & GUI options We have a checkbox carry the name "Server Extension" the default status of this checkbox is FALSE (Not active) This means that the visual source is a complete application or the main visual source file In this case when we press CTRL+R, we expect the result to be the application during the runtime If this checkbox is enabled/active (True) In this case the visual source will be sub part of the program (not complete application and not the main visual source file). In this case when we press CTRL+R , we get only the generated source code file Later the generated source code file can be linked to another visual source file The generated source code file may contains Functions/Procedures/Classes that can be used by another visual source file Also these Functions/Procedures/Classes may be a library that will be shared with more than one program. We have two options to run the application The first option is "Call Main Resistance" In this case at the application startup, the main resistance will be executed The resistance is a block of code We can write this code or override it using a goal then use the Goal Designer to create the application using Visual Programming The Second option is "Server FireOn" In this case the circuits will be executed one by one Executing a circuit means executing the circuit branches Executing a branch means executing the branch resistances Before executing a circuit the circuit switch must be ON Before executing a branch; the branch switch must be ON.
  • 10. We can change the switch status of the Circuit or the Branch in the Design time or in the Runtime. We have three buttons The button "Generate" will generate the source code file The button "Build" will generate the source code file then build the application The button "Run" will generate the source code, build the application then will run the application. In the Info tab we have an editbox where we can write any comments Search In The Server Units From the Menubar, Edit Menu we can get the Search window Using this window we can find items in data, code, veto and goal units
  • 11. New File Window When we are using HarbourPWCT, and the Goal Designer is the active window then we create new file from the toolbar, menubar or by pressing CTRL+N we get the next window From this window we can select a template to use it in create our application We can use templates to create Console/GUI applications by writing the code (Resistance Code) Or we can create our Console/GUI application without coding using the Goal Designer
  • 12. Also we have other templates to quickly create database applications using Object Oriented Programming Paradigm and ADO (ActiveX Data Object) After selecting the template we can Press ENTER, Double Click the item or click on the "create" button We have two buttons "+" and "-" to add and remove templates from the list New Template From this window we can define new template and add it to the templates list that appears when we create new file All what we need is to determine the template name and the template file. We can write the file name using the textbox or we can select the file using the file browser window by clicking on the button next to the filename textbox Components Browser Using the Components Browser, we can select a component to use it for generating steps inside the steps tree We have the Domain Tree, at first we select the domain, then from the components list that are related to the selected domain; we can select the component We can quickly find a component using a search process by the component name Once we write the first letters in the component name, the interactive search can search and select the component To use the selected component, you can press ENTER, Double Click the component name or click on the "OK" button To cancel the process, you can click on the "Cancel" button or press "ESC".
  • 13. Interaction using Transporter Using the "Interaction using Transporter" window, we can enter the data to the interaction pages "data-entry forms" Once we enter the data we can click "OK" or press CTRL+W to end the interaction process and see the generated steps in the steps tree We can click on "Again" button or press CTRL+A to use the same component for another time The component may use more than one interaction page, in this case we can move between the pages using buttons or using the pages combobox When we enter the data using the textbox, we can use the mouse right click to get a shourtcut menu; this menu will provide options that help in entering the data like select color, font, object, etc.
  • 14. Form Designer From the Goal Designer window we can open the Form Designer window using the Form Designer button or by pressing CTRL+F Inside the steps tree we may have more than one window, in this case we will get a list of windows to select a one before opening the form designer If we opened the form designer while the steps of a window is selected, this window will be opened directly Using the form designer we can design the user interface of our programs We can use the button "Add Control" to add new controls quickly to the window We can double click a control to open the interaction page of the component We can open the interaction page also by clicking on the "Modify" button. Using the form designer we can use the keyboard or the mouse to move or resize one or more of controls We can set the font, text color and back color for one or more of controls We have many options that help in the design like Align, Size, Move, Spacing and Resize. After modifying the user interface we can click "Save" or "Cancel"
  • 15. Set Steps Colors From the Goal Designer window we can open the Steps Colors window by clicking on the "Steps Colors" button Using the Steps Colors window, we can select the step color based on the step type Also we have a list of styles where we can quickly select a style and use it One important feature here is that we can hide some steps based on the step type Using this feature we can reduce the number of the steps based on what we are doing For example for reading the steps tree, we can hide steps of type "Generated Leaf" VPL Compiler
  • 16. From the Goal Desinger window we can run the VPL (Visual Programming Language) Compiler by clicking on the "VPL Compiler" button. Using the VPL compiler we can detect the errors in the visual source These errors could happen when we work on the steps tree while the Syntax Directed Editor is OFF Also at the end of compiling the visual source, we get the number of Interactions, Steps and Errors. The next list contains the errors that can be detected by the VPL Compiler Error Message Error : Step ( "Step Name" ) Enable/Ignore status is not correct Error : Step ( "Step Name" ) is not expected to be in this order Error : Step ( "Step Name" ) order is not correct Error : Step ( "Step Name" ) Contains Bad Substep Error : Step ( "Step Name" ) is duplicated Error : Step ( "Step Name" ) Parent is not correct The Time Machine Inside the Goal Designer window, we have the Time Machine button When we click on this button we get a menu of options From this menu we can play the program as movie When we do this, we will see how to create the visual source (The Steps Tree) step by step We will see the program construction process from the First Step to selecting components and entering data to the interaction pages When we paly the movie, we can stop it at any point, also we can continue
  • 17. At any point we can run the program and see results in the runtime at this point When we play the movie, we listen to a voice. This voice read the step name We can enable/disable this voice When we play th movie can select to see only the steps (no interaction pages - no components browser) From this menu we have other options For example we can refresh the steps tree after updating the visual components By doing this when we modify the component code mask script, the changes will be reflected to the program Also from the same menu, we can run the documentation generator after playing the program as movie The documentation generator can create an HTML file which explains how to create the program step by step Using this generator, we created many tutorials from PWCT Samples, and these tutorials are online (thousands of pages). Search and Replace in the Steps Tree From the Goal Designer window, we can open the search window by clicking on the search button Using this search window we can do Search and Replace operations on the steps tree We can find a step/steps by typing part of the Step Name and/or Step Data
  • 18. Interaction Designer Using the Interaction Designer, we can design the interaction pages that are used by the visual components (transporters). The interaction page is a data-entry form, using the form the user will enter the required data to the component The interaction page could contains many controls (Label, Textbox, Checkbox & Listbox) Using a textbox we can ask the user to enter any text (string, number, expressions, etc) The textbox value will be stored in a variable and we can determine the name of this variable We can add Checkbox to the interaction page and determine the checkbox variable name.
  • 19. The checkbox variable value will be 1 when the checkbox is active/enabled/true The checkbox variable value will be 0 when the checkbox is not active/disabled/false. We can add a listbox to the interaction page and we can determine the listbox varaible name. We can determine the listbox items, also we can determine the default item. We can set the listbox variable to contains the selected item text or the selected item index. The Interaction designer window display the active interaction page file name (*.IDF) At the left side we have small toolbar contains buttons to add controls the interaction page We have buttons to add Label, Textbox, Checkbox and Listbox We have a Properties tab where we can set the properties of each control in the interaction page We can Show/Hide the properties tab using the properties button We have the Objects Combobox which contains a list of the interaction page objects and we can select an object from this list Using right click on the interaction page region we can get a shourtcut menu to select the page color or picture Using the mouse we can move and resize the objects, also we can do this using the properties tab To move an object, select the object using the mouse and move it by moving the mouse while pressing the left button To resize an object go to the right-down corner of the object, you will see a black rectangle, press the mouse left button and keep pressing while moving the mouse to resize the control When the interaction designer window is active, you can use the file menu to create, open and close the interaction pages files (*.IDF) Most of the interaction pages are not designed using the interaction designer Most of the interaction pages are generated using the Interaction pages generator Then we use the interaction designer to see the interaction page, enter the listbox items and set the default values. When we enter the listbox items, we can enter the items one by one or import the items from a text file
  • 20. By using the keyword DEFAULT between "<" and ">" we can set the default control By using the keyword AUTONUMBER between "<" and ">" we can ask for automatic name By using the keyword LISTBOXDEFAULT between "<" and ">" in the listbox item name we can set the default item. Transporter Designer Programming inside PWCT is done using Visual Components The visual component inside PWCT is called the Transporter This name comes because the component get input from the user through the interaction pages (data-entry forms) Then transport this input from the interaction pages to the code mask interpreter The code mask is a script program which control the visual representation generation (steps) Also the code mask generate the text based source code The code mask may contains varaibles, and we may have interaction pages which could contains variables In the matching process we match between the variable name in the interaction page and the variable name in the code mask When we use the same variable name in the interaction page and in the code mask we can do automatic matching We can use the Rules to determine the relationship between components These rules is used by the goal designer when the Syntax Directed Editor is ON
  • 21. These rules is used also by the VPL (Visual Programming Language) Compiler to check the program for errors The programmer may have errors he works while the Syntax Directed Editor is OFF The transporter designer window display the active component file name (*.TRF) Then the window display 4 tabs The first tab contains the Interaction Pages Each interaction page is represent by a name and a file (*.IDF) We have the buttons Add, Edit & Delete to work on the interaction pages list When we select an interaction page from the list, we see the interaction page file name We can determine or change the interaction page file name To do this click on the button which is next to the textbox which display the interaction page file name We have the button "Open", when we click on it; we see that the interaction page file is opened using the interaction designer We have the button "Install Component" We can click on this button after designing the component to add it to the Domain Tree When we use the components, using the components browser, we select the domain first from the Domain Tree then we select the component The second tab is called "Code Mask" In the editbox we can write the code mask The code mask is a script written in a scripting language developed and embedded inside PWCT This scripting language is called RPWI RPWI is very simple and when you write the code mask you can use Mouse Right Click to get a list of all instructions The next table contains a list of instructions and rules for writing the Code Mask Instruction Description
  • 22. RPWI:POSITIVE Execute the instructions inside the test block when the result of the test is TRUE RPWI:NEGATIVE Execute the instructions inside the test block when the result of the test is FALSE RPWI:VALUE Determine the value that will be used in the test condition. for example "1" or "0" for True and False RPWI:TEST start a test block, determine the variables that will be tested using the test value RPWI:ENDTEST End a test block RPWI:PUTMARK store the active step number in a fixed register (using numbers from 1 to 20) RPWI:SETMARK Set the active step (parent step) using a register contains the step id, the register number from 1 to 20 RPWI:NEWSTEP Create new step inside the step tree RPWI:SELECTSTEPBYNAME Select the active (parent) step using the step name RPWI:TABPUSH Add new nested level to the generated source code RPWI:TABPOP End a nesting level in the generated source code RPWI:NOTE Add a comment RPWI:NOTE Add a comment RPWI:NEWVAR Create new variable RPWI:SETVARVALUE Set the active variable value RPWI:SELECTVAR Select the active variable RPWI:REPLACEVARSWITHVALUES Replace variables created in the code mask with their values RPWI:IGNORELAST Remove one or more of characters from the end of the generated code before this instruction RPWI:IGNORELEVEL Determine the level of the RPWI:IGNORELAST , the level code be the code in the current step of the parent step RPWI:INFORMATION Add information to the generated step PWCT:TOFILE Start code generation to a file, here we determine the file name PWCT:ENDFILE End of the block that will generate code to a file
  • 23. PWCT:ADDVAR Determine a variable name that will be replace with a value when extracting the code from the goal to the source file PWCT:SETVAR Set the variable name PWCT:MERGENEXTTOPREV Merge the generated code in the next line to the previous line PWCT:IGNORELAST The same as RPWI:IGNORELAST but will be executed only when extracting the code from the goal to the source file "<" and ">" We write any variable name or instruction between "<" and ">" generated code We write the generated code (behind the step) directly, anything which is not variable or instruction is a generated code variables inside generated code We can insert variable to the generated code, these variables will be replace with values from interaction pages or from the code mask variables Nested Test blocks Nested Test blocks are allowed, we can use RPWI:TEST inside another RPWI:TEST Test Condition The test condition is variable or many variables that will be compared with the test value In the Matching tab, we match between the variables in the interaction page and variables in the code mask script To do a match, we select two variables then click on the button with the Down icon If the variable name is the same in the two lists, we can click on automatic matching button to do the process automatically To delete a matching record; select the record then click on the "Delete" button.
  • 24. In the Rules tab, we can write the rules that will control the relationships between the component and the other components The rules determine what is the type of the parent and/or child components The rules also determine which step in the generated steps will allow adding child steps to it The next table present the rules that can be applied on the component Rule Description AllowParent:Root The parent of the component must be the Start point, Nested steps from the start point that are created as comments like "The first step" are allowed also as parent. AllowParent:General No rules determine the parent component; any parent are allowed. AllowParent:Custom We will determine the list of components that are allowed as parent by name AllowInteraction: Number of the step Determine the step that allow adding child steps Scope: General Using Scope: General After AllowInteraction means that no rules determine the child component (any one is allowed) Scope: Custom We will determine the list of components that are allowed as child by name Allow: component name Add a component name to the list of allowed components End End the list of allowed components Allowroot: step number Select a step to be another root step (like the first generated step). NoDuplication: interaction page variable Determine the variable name in the interaction page where the duplication is not allowed Scope: Parent When used after NoDuplication; will set the scope of
  • 25. duplication checking to the parent component only. End of Document Home