Author | Alberto Bellina |
Title | Dynamic Engine |
Date | 31 Marzo 1999 |
Version | 1.0 |
Thanks | to Luca Quintarelli for many, many, ... and many helps and also for some really useful routines (Scroller, ...). |
forms forms printer DB | | | | v v v v +--------------------------------------------------------------+ | +---------+ +---------+ +---------+ +---------+ | | | | | | | | | | | | DynEng | DynGui | |DynSpread| | DynRpt | | DynDb | | | | | | | | | | | | | +---------+ +---------+ +---------+ +---------+ | +--------------------------------------------------------------+ ^ ^ | | | v +-------. +---------+ | |\ | | | +-\ | User | | DynFile | | Program | +---------+ +---------+ |
+-------. +---------+ +---------+ | |\ | | | | | File '-\ <--> | DynGui | <--> | GUI | | dynGui | | | | | +---------+ +---------+ +---------+ |
ATTRIBUTE | OBJECTS | DESCRIPTION |
---|---|---|
A | TextBox | Campo di soli caratteri alfabetici. |
AN | TextBox | Campo caratteri alfanumerici. |
N | TextBox | Campo di soli caratteri numerici. |
P | TextBox | Campo per valore percentuale 0-100. |
H | TextBox | Rende invisibile l'oggetto. Viene utilizzato per inserire calcoli intermedi oppure per eseguire dei controlli su una serie di campi |
OUT | TextBox | Campo di solo output. |
LEFT | TextBox | Allinea a sinistra |
RIGHT | TextBox | Allinea a destra |
F | TextBox | TO DO Campo di soli caratteri numerici con virgola. |
+----------------------------------------------------+ | Title of form... | +----------------------------------------------------+ | +---------------------+ +-----------+ +-----+ | | | label... | | textbox | |label| | | | label... | | combobox | | | | | | label... | | checkbox | | | | | | ... | | ... | |... | | | +---------------------+ +-----------+ +-----+ | +----------------------------------------------------+ |
OPT{LAYOUTNCOL|Ncolumn|X1|W1|X2|W2...} |
OPT{LAYOUTNCOL|2|0|2000|.|400}La seconda colonna partirà dalla posizione 2000 circa.
OPT{LAYOUTROW|Heigth} |
+----------+ +----------+ +------------------+ | finestra | --- | scroller | --- | elementi grafici | +----------+ +----------+ +------------------+ |
+--------------------+ | Label Text | | Label Text | | Label Text | | +-----------------+| | |Label Text |^|| ------> +----------+ | |Label Text | || | scroller | | |Label Text |v|| ------> +----------+ | +-----------------+| | Label Text | | Label Text | +--------------------+ |
+------------------------------------------------------+ | Title of form... | +------------------------------------------------------+ | +--------+---------+-----------+ | | | Tab1 | Tab2 | Tab3 | | | | +---------'-----------'-------------------+ | | | +---------------------+ +-----------+ +-----+ | | | | | label... | | textbox | |label| | | | | | label... | | combobox | | | | | | | | label... | | checkbox | | | | | | | | ... | | ... | |... | | | | | +---------------------+ +-----------+ +-----+ | | | +--------------------------------------------------+ | +------------------------------------------------------+ |
Private Sub TabStrip1_Click() Dim i As Integer Dim f As cFrame Dim f1 As cFrame Dim key As String For i = 1 To ntab key = TabStrip1.SelectedItem.key Set f = fields.item("TAB" & i) Set f1 = fields.item("FRA" & i) If key = "TAB" & i Then f.visible = True f1.visible = True Else f.visible = False f1.visible = False End If Next i End Sub |
TYPE{TAB|LogicalName|Caption} |
TYPE{LABEL|LogicalName|Caption} TYPE{LABELCR|LogicalName|Caption} |
TYPE{LTEXT|LogicalName|Len|Attribute|Formula|Default|Help} TYPE{LTEXTCR|LogicalName|Len|Attribute|Formula|Default|Help} |
TYPE{COMBO|LogicalName|Len|Caption} TYPE{COMBOCR|LogicalName|Len|Caption} |
TYPE{CHECK|LogicalName|Caption} TYPE{CHECKCR|LogicalName|Caption} |
TYPE{COMMAND|LogicalName|Len|Caption} TYPE{COMMANDCR|LogicalName|Len|Caption} |
+-------+ +--------------------+ | OBJ | | DATA | | obj | | obj name value | | 3 | -----------+-> | 3 A1 prova | | 12 | ----+ '-> | 3 A2 test | | ... | +------+-> | 12 A1 nome... | +-------+ +-> | 12 A2 cogn... | '-> | 12 A3 via... | | ... | +--------------------+ |
Variabili | Sono variabili tutti quei nomi che iniziano con un carattere
alfabetico (A-Z,a-z) e NON hanno come carattere immediatamente seguente
il nome la parentesi tonda aperta. La lunghezza delle variabili è arbitraria. Esempio di nomi di variabili: var1, VAR2, VaR3, V_A_R_4, ... |
Funzioni | Sono funzioni tutti quei nomi che iniziano con un carattere
alfabetico (A-Z,a-z) e hanno come carattere immediatamente seguente
il nome la parentesi tonda aperta. Sono possibili funzioni senza e con parametri. La lunghezza delle funzioni è arbitraria. Un certo numero di funzioni sono built-in: abs(n), neg(n), date(), time(), ...Esempio di nomi di funzione: funzione1(), sum(A1,A2), ... |
Operatori | Gli operatori sono di tipo aritmetico:(+ - / * ^) |
NAME | DESCRIPTION |
---|---|
date() | Ritorna la data odierna in formato dd/mm/yyyy |
time() | Ritorna l'ora corrente in formato hh:mm |
abs(v) | Ritorna il valore assoluto di v. Es: se v=-3 ritorna 3 |
neg(v) | Ritorna il valore negato di v. Es: se v=3 ritorna -3 |
+------------+------------+-------------------+ | | | V +-------. +-------. +-------. +-------. | |\ | |\ | |\ | |\ | Class '-\ | Class '-\ | Class '-\ | '-\ | cLabel | | cText | | cCombo | | Vars | +---------+ +---------+ +---------+ +---------+ | | | | +------------+------------+ | | | +-------. | | |\ | | I/F '-\ | | DynObj | | +---------+ | | V +-------. +-------. | Class |\ | NT |\ | Obj '-\ -------------------> | Parser'-\ | Collect | | Runtime | +---------+ +---------+ | +-------. +------+ | |\ | | | Class '-\ <------------------> | DB | | cDynamic| | | +---------+ +------+ | ^ V | +---------+ | | | | | APP | <------------------------+ | | +---------+ |
GUI | Graphics User Interface |
RAD | Rapid Application Development |
Rif. | Document |
---|---|
[1] | |
[2] | |
[3] |