Aggiunta una prima versione del form editor per i profili di stampa

estratto conto.
Effettuate alcune correzioni all'editor standard dei profili di stampa
  - Cambiato il tipo profilo da numerico a stringa
  - Correzione comportamento tasto FINE
  - Correzione gestione della query del tipo profilo
  - Correzione eliminazione ed inserimento nuovi profili
  - Cambiata descrizione "Nascosto" in "Non stampare" nella maschera ba2100f
  - Reso hidden il testo fisso in ba2100f


git-svn-id: svn://10.65.10.50/trunk@1964 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
angelo 1995-10-16 17:24:30 +00:00
parent d9c3b8b96e
commit efb0bd7ab7
10 changed files with 561 additions and 274 deletions

View File

@ -4,7 +4,7 @@
#include "ba2.h"
#define usage "Error - usage : %s -[0,1,2,3]"
#define usage "Error - usage : %s -[0,1,2,3,4]"
int main(int argc, char** argv)
{
@ -23,6 +23,8 @@ int main(int argc, char** argv)
#endif
case 3:
rt = ba2400(argc, argv) ; break;
case 4:
rt = ba2500(argc, argv) ; break;
default:
error_box(usage, argv[0]) ; rt = 1; break;
}

View File

@ -5,6 +5,7 @@ int ba2100(int argc, char* argv[]);
int ba2200(int argc, char* argv[]);
int ba2300(int argc, char* argv[]);
int ba2400(int argc, char* argv[]);
int ba2500(int argc, char* argv[]);
#endif // __BA2_H

View File

@ -9,15 +9,70 @@
#define M_FIL1_QUIT MENU_FILE_ALT+105
MENU MENU_FILE_ALT
ITEM M_FIL1_NEW "~Nuovo"
ITEM M_FIL1_OPEN "~Apri"
ITEM M_FIL1_SAVE "~Salva"
ITEM M_FIL1_SAVEAS "Salva ~con Nome"
ITEM M_FIL1_QUIT "~Fine"
SEPARATOR
ITEM M_FILE_ABOUT "~Informazioni"
ITEM M_FIL1_NEW "~Nuovo"
ITEM M_FIL1_OPEN "~Apri"
ITEM M_FIL1_SAVE "~Salva"
ITEM M_FIL1_SAVEAS "Salva ~con Nome"
ITEM M_FIL1_QUIT "~Fine"
SEPARATOR
ITEM M_FILE_ABOUT "~Informazioni"
MENU TASK_MENUBAR
SUBMENU MENU_FILE "~File"
SUBMENU BAR_ITEM(1) "~Dati"
SUBMENU BAR_ITEM(2) "~Testa"
SUBMENU BAR_ITEM(3) "~Corpo"
SUBMENU BAR_ITEM(4) "~Piede"
SUBMENU BAR_ITEM(5) "~Sfondo"
MENU BAR_ITEM(1)
ITEM MENU_ITEM(11) "~Relazione"
ITEM MENU_ITEM(12) "~Parametri"
MENU BAR_ITEM(2)
ITEM MENU_ITEM(21) "~Normale"
ITEM MENU_ITEM(22) "~Pari"
ITEM MENU_ITEM(23) "~Prima"
ITEM MENU_ITEM(24) "~Ultima"
MENU BAR_ITEM(3)
ITEM MENU_ITEM(31) "~Normale"
ITEM MENU_ITEM(32) "~Pari"
ITEM MENU_ITEM(33) "~Primo"
ITEM MENU_ITEM(34) "~Ultimo"
MENU BAR_ITEM(4)
ITEM MENU_ITEM(41) "~Normale"
ITEM MENU_ITEM(42) "~Pari"
ITEM MENU_ITEM(43) "~Primo"
ITEM MENU_ITEM(44) "~Ultimo"
MENU BAR_ITEM(5)
ITEM MENU_ITEM(51) "~Normale"
ITEM MENU_ITEM(52) "~Pari"
ITEM MENU_ITEM(53) "~Primo"
ITEM MENU_ITEM(54) "~Ultimo"
MENUBAR MENU_BAR(1)
MENU TASK_MENUBAR+1
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(2)
MENU MENU_BAR(2)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(3)
MENU MENU_BAR(3)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(4)
MENU MENU_BAR(4)
SUBMENU MENU_FILE "~File"
SUBMENU BAR_ITEM(1) "~Dati"
SUBMENU BAR_ITEM(2) "~Testa"
@ -25,47 +80,24 @@ MENU TASK_MENUBAR
SUBMENU BAR_ITEM(4) "~Piede"
SUBMENU BAR_ITEM(5) "~Sfondo"
MENU BAR_ITEM(1)
MENU BAR_ITEM(1)
ITEM MENU_ITEM(11) "~Relazione"
ITEM MENU_ITEM(12) "~Parametri"
MENU BAR_ITEM(2)
MENU BAR_ITEM(2)
ITEM MENU_ITEM(21) "~Normale"
ITEM MENU_ITEM(22) "~Pari"
ITEM MENU_ITEM(23) "~Prima"
ITEM MENU_ITEM(24) "~Ultima"
MENU BAR_ITEM(3)
MENU BAR_ITEM(3)
ITEM MENU_ITEM(31) "~Normale"
ITEM MENU_ITEM(32) "~Pari"
ITEM MENU_ITEM(33) "~Primo"
ITEM MENU_ITEM(34) "~Ultimo"
MENU BAR_ITEM(4)
MENU BAR_ITEM(4)
ITEM MENU_ITEM(41) "~Normale"
ITEM MENU_ITEM(42) "~Pari"
ITEM MENU_ITEM(43) "~Primo"
ITEM MENU_ITEM(44) "~Ultimo"
MENU BAR_ITEM(5)
ITEM MENU_ITEM(51) "~Normale"
ITEM MENU_ITEM(52) "~Pari"
ITEM MENU_ITEM(53) "~Primo"
ITEM MENU_ITEM(54) "~Ultimo"
MENUBAR MENU_BAR(1)
MENU TASK_MENUBAR+1
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(2)
MENU MENU_BAR(2)
SUBMENU MENU_FILE "~File"
MENUBAR MENU_BAR(3)
MENU MENU_BAR(3)
SUBMENU MENU_FILE "~File"

View File

@ -1,36 +1,6 @@
#include <applicat.h>
#include <config.h>
#include <form.h>
#include <msksheet.h>
#include <prefix.h>
#include <relation.h>
#include <utility.h>
#include <urldefid.h>
#include "baformed.h"
#include "ba2100.h"
class TForm_editor : public TApplication
{
TForm* _form;
bool _extra;
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG);
virtual void print();
static bool file_handler(TMask_field& f, KEY k);
bool edit_relation();
bool edit(char s, pagetype p);
bool form_config() const;
public:
TForm_editor();
virtual ~TForm_editor();
};
TForm_editor::TForm_editor() : _form(NULL), _extra(FALSE)
{}
@ -64,7 +34,7 @@ bool TForm_editor::create()
if ((form && code) || (form && code == 0 && _extra))
{
_form = new TForm(form, code, _extra ? 2 : 1);
_form = new TForm(form, (code!=0) ? format("%05ld",code) : "", _extra ? 2 : 1);
enable_menu_item(M_FILE_PRINT);
if (!_extra) dispatch_e_menu(MENU_ITEM(31));
}
@ -72,6 +42,7 @@ bool TForm_editor::create()
{
TMask m("ba2100b");
m.set_handler(F_CODE, cod_handler);
if (form)
{
m.set(F_BASE, form);
@ -82,7 +53,7 @@ bool TForm_editor::create()
// choose form from mask
KEY k;
while ((k = m.run()) != K_ESC)
while ((k = m.run()) != K_QUIT)
{
TString16 fform = m.get(F_BASE);
TString80 fdesc = m.get(F_DESC);
@ -90,7 +61,7 @@ bool TForm_editor::create()
if (k == K_ENTER)
{
_form = new TForm(fform, fcode, _extra ? 2 :1, fdesc);
_form = new TForm(fform, (fcode!=0) ? format("%05ld",fcode) : "", _extra ? 2 :1, fdesc);
form = fform;
go = TRUE;
break;
@ -102,16 +73,16 @@ bool TForm_editor::create()
TLocalisamfile frm(LF_FORM);
frm.zero();
frm.put("TIPOPROF", fform);
frm.put("CODPROF", fcode);
frm.put("CODPROF", format("%05ld",fcode));
if (frm.read() == NOERR)
frm.remove();
TLocalisamfile rfr(LF_RFORM);
rfr.zero();
rfr.put("TIPOPROF", fform);
rfr.put("CODPROF", fcode);
rfr.put("CODPROF", format("%05ld",fcode));
if (rfr.read() == NOERR)
{
for ( ; rfr.get_long("CODPROF") == fcode && rfr.get("TIPOPROF") == fform; rfr.next())
for ( ; atol(rfr.get("CODPROF")) == fcode && rfr.get("TIPOPROF") == fform; rfr.next())
rfr.remove();
}
m.set(F_CODE,"");
@ -194,7 +165,6 @@ void TForm_editor::print()
_form->print();
}
bool TForm_editor::file_handler(TMask_field& f, KEY k)
{
bool ok = TRUE;
@ -213,6 +183,21 @@ bool TForm_editor::file_handler(TMask_field& f, KEY k)
return ok;
}
bool TForm_editor::cod_handler(TMask_field& f, KEY k)
{
bool ok = TRUE;
if (k==K_TAB && f.dirty())
{
TLocalisamfile frm(LF_FORM);
frm.zero();
frm.put("TIPOPROF",f.mask().get(F_BASE));
frm.put("CODPROF",f.mask().get(F_CODE));
if (frm.read() == NOERR)
f.mask().set(F_DESC,frm.get("DESC"));
}
return ok;
}
bool TForm_editor::edit_relation()
{
@ -341,7 +326,7 @@ bool TForm_editor::edit(char s, pagetype t)
if (dirty && yesno_box("Salvare le modifiche?"))
{
if (_form->code() == 0L)
if (_form->code() == "")
{
TFilename n(_form->name()); n.ext("frm");
TFilename bak(n); bak.ext("bak");
@ -362,7 +347,7 @@ bool TForm_editor::form_config() const
TFilename cnfnam(_form->name()); cnfnam.ext("ini");
TString16 cnfpar;
if (_form->code() != 0L)
if (_form->code() != "")
cnfpar << _form->code();
else
cnfpar << "Main";

View File

@ -14,6 +14,8 @@
#define F_ID 112
#define F_FONT 113
#define F_SIZE 114
#define F_FLEN 115
#define F_FLENAV 116
#define F_GROUP 130
#define F_GROUP1 131
@ -75,3 +77,9 @@
#define F_BASE 401
#define F_CODE 402
#define F_DESC 403
// maschera scelta profilo per E.C.
// utilizza anche F_BASE
#define F_CODEPR 404
#define F_CODEL 405
#define F_DESCPR 406

View File

@ -4,12 +4,12 @@ TOOLBAR "" 0 20 0 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE
@ -18,252 +18,253 @@ PAGE "CAMPO DI STAMPA" -1 -1 78 20
LIST F_CLASS 10
BEGIN
PROMPT 1 1 "Tipo "
FLAGS "G"
ITEM "STRINGA|Testo" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "NUMERO|Numero" MESSAGE SHOW,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "DATA|Data" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|SHOW,8@
ITEM "LISTA|Lista" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "GRUPPO|Gruppo" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
ITEM "LINEA|Linea" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
ITEM "FIGURA|Figura" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
PROMPT 1 1 "Tipo "
FLAGS "G"
ITEM "STRINGA|Testo" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "NUMERO|Numero" MESSAGE SHOW,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "DATA|Data" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|SHOW,8@
ITEM "LISTA|Lista" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|SHOW,F_ITEMS|HIDE,8@
ITEM "GRUPPO|Gruppo" MESSAGE HIDE,F_DECIMALS|HIDE,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
ITEM "LINEA|Linea" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
ITEM "FIGURA|Figura" MESSAGE HIDE,F_DECIMALS|SHOW,F_HEIGHT|HIDE,F_ITEMS|HIDE,8@
END
NUMBER F_ID 4
BEGIN
PROMPT 56 1 "Identificatore "
FLAGS "D"
PROMPT 56 1 "Identificatore "
FLAGS "D"
END
STRING F_KEY 80 60
BEGIN
PROMPT 1 2 "Descrizione "
HELP "Descrizione del campo da configurare"
CHECKTYPE REQUIRED
GROUP 7
PROMPT 1 2 "Descrizione "
HELP "Descrizione del campo da configurare"
CHECKTYPE REQUIRED
GROUP 7
END
NUMBER F_Y 3
BEGIN
PROMPT 1 3 "Riga "
HELP "Riga in cui stampare"
PROMPT 1 3 "Riga "
HELP "Riga in cui stampare"
END
NUMBER F_X 3
BEGIN
PROMPT 24 3 "Colonna "
HELP "Colonna in cui stampare"
PROMPT 24 3 "Colonna "
HELP "Colonna in cui stampare"
END
NUMBER F_WIDTH 3
BEGIN
PROMPT 44 3 "Larghezza "
HELP "Lunghezza massima da stampare"
GROUP 7
PROMPT 44 3 "Larghezza "
HELP "Lunghezza massima da stampare"
GROUP 7
END
NUMBER F_HEIGHT 2
BEGIN
PROMPT 64 3 "Altezza "
HELP "Righe massime su cui stampare"
GROUP 7
PROMPT 64 3 "Altezza "
HELP "Righe massime su cui stampare"
GROUP 7
END
NUMBER F_DECIMALS 2
BEGIN
PROMPT 64 3 "Decimali "
HELP "Numero di decimali"
MESSAGE COPY,F_HEIGHT
GROUP 7
PROMPT 64 3 "Decimali "
HELP "Numero di decimali"
MESSAGE COPY,F_HEIGHT
GROUP 7
END
STRING F_PICTURE 80 40
BEGIN
PROMPT 1 4 "Formato "
HELP "Formato di stampa (# = ' ', @ = '0', ~ = '')"
PROMPT 1 4 "Formato "
HELP "Formato di stampa (# = ' ', @ = '0', ~ = '')"
END
BOOLEAN F_HIDDEN
BEGIN
PROMPT 64 4 "Nascosto"
HELP "Il campo viene elaborato ma non stampato"
PROMPT 64 4 "Non stampare"
HELP "Il campo viene elaborato ma non stampato"
END
STRING F_PROMPT 80 60
BEGIN
PROMPT 1 5 "Testo fisso "
HELP "Eventuale testo fisso da stampare"
PROMPT 1 5 "Testo fisso "
FLAGS "D"
HELP "Eventuale testo fisso da stampare"
END
// Gruppo 8 per edit formato data
GROUPBOX DLG_NULL 78 5
BEGIN
PROMPT 1 6 "Formato data"
GROUP 8
PROMPT 1 6 "Formato data"
GROUP 8
END
LIST F_DFORMAT 16
BEGIN
PROMPT 3 7 "Tipo data "
ITEM "1|Giorno Mese Anno"
ITEM "2|Mese Anno Giorno"
ITEM "3|Anno Giorno Mese"
ITEM "7|Mese Anno"
ITEM "4|Anno"
ITEM "5|Mese"
ITEM "6|Giorno"
GROUP 8
PROMPT 3 7 "Tipo data "
ITEM "1|Giorno Mese Anno"
ITEM "2|Mese Anno Giorno"
ITEM "3|Anno Giorno Mese"
ITEM "7|Mese Anno"
ITEM "4|Anno"
ITEM "5|Mese"
ITEM "6|Giorno"
GROUP 8
END
LIST F_DDAY 16
BEGIN
PROMPT 42 7 "Formato giorno "
ITEM "4|Con zeri(es. 02)"
ITEM "2|Normale (es. 2)"
ITEM "5|In lettere"
ITEM "6|Giorno settimana"
GROUP 8
PROMPT 42 7 "Formato giorno "
ITEM "4|Con zeri(es. 02)"
ITEM "2|Normale (es. 2)"
ITEM "5|In lettere"
ITEM "6|Giorno settimana"
GROUP 8
END
LIST F_DMONTH 16
BEGIN
PROMPT 3 8 "Formato mese "
ITEM "4|Con zeri(es. 02)"
ITEM "2|Normale (es. 2)"
ITEM "5|In lettere"
ITEM "7|Trimestre"
GROUP 8
PROMPT 3 8 "Formato mese "
ITEM "4|Con zeri(es. 02)"
ITEM "2|Normale (es. 2)"
ITEM "5|In lettere"
ITEM "7|Trimestre"
GROUP 8
END
LIST F_DYEAR 16
BEGIN
PROMPT 42 8 "Formato anno "
ITEM "2|Breve (2 cifre)"
ITEM "4|Lungo (4 cifre)"
GROUP 8
PROMPT 42 8 "Formato anno "
ITEM "2|Breve (2 cifre)"
ITEM "4|Lungo (4 cifre)"
GROUP 8
END
LIST F_DSEP 5
BEGIN
PROMPT 3 9 "Separatore "
ITEM "-|-"
ITEM "/|/"
ITEM ".|."
ITEM ",|,"
ITEM "S|Spazio"
GROUP 8
PROMPT 3 9 "Separatore "
ITEM "-|-"
ITEM "/|/"
ITEM ".|."
ITEM ",|,"
ITEM "S|Spazio"
GROUP 8
END
STRING F_DEXAMPLE 40
BEGIN
PROMPT 28 9 "Esempio "
FLAGS "D"
GROUP 8
PROMPT 28 9 "Esempio "
FLAGS "D"
GROUP 8
END
// fine gruppo 8
STRING F_FILE1 80 60
BEGIN
PROMPT 2 12 "Archivio "
HELP "Nome dell'archivio relativo al campo"
FLAGS "D"
PROMPT 2 12 "Archivio "
HELP "Nome dell'archivio relativo al campo"
FLAGS "D"
END
BUTTON F_BUT_FILE1 2 1
BEGIN
PROMPT 73 12 "*"
PICTURE 109
GROUP 7
PROMPT 73 12 "*"
PICTURE 109
GROUP 7
END
STRING F_FIELD1 80 60
BEGIN
PROMPT 2 13 "Campo 1 "
HELP "Nome del campo su file"
FLAGS "D"
PROMPT 2 13 "Campo 1 "
HELP "Nome del campo su file"
FLAGS "D"
END
BUTTON F_BUT_FIELD1 2 1
BEGIN
PROMPT 73 13 "*"
PICTURE 109
GROUP 7
PROMPT 73 13 "*"
PICTURE 109
GROUP 7
END
STRING F_FIELDREF1 20 16
BEGIN
PROMPT 60 14 ""
FLAGS "D"
PROMPT 60 14 ""
FLAGS "D"
END
NUMBER F_FROM1 2
BEGIN
PROMPT 2 14 "Da "
FLAGS "U"
GROUP 7
PROMPT 2 14 "Da "
FLAGS "U"
GROUP 7
END
NUMBER F_TO1 2
BEGIN
PROMPT 22 14 "A "
FLAGS "U"
GROUP 7
PROMPT 22 14 "A "
FLAGS "U"
GROUP 7
END
STRING F_FILE2 60
BEGIN
PROMPT 2 15 "Archivio "
HELP "Nome dell'archivio relativo al campo"
FLAGS "D"
PROMPT 2 15 "Archivio "
HELP "Nome dell'archivio relativo al campo"
FLAGS "D"
END
BUTTON F_BUT_FILE2 2 1
BEGIN
PROMPT 73 15 "*"
PICTURE 109
GROUP 7
PROMPT 73 15 "*"
PICTURE 109
GROUP 7
END
STRING F_FIELD2 60
BEGIN
PROMPT 2 16 "Campo 2 "
HELP "Nome del campo su file"
FLAGS "D"
PROMPT 2 16 "Campo 2 "
HELP "Nome del campo su file"
FLAGS "D"
END
BUTTON F_BUT_FIELD2 2 1
BEGIN
PROMPT 73 16 "*"
PICTURE 109
GROUP 7
PROMPT 73 16 "*"
PICTURE 109
GROUP 7
END
STRING F_FIELDREF2 16
BEGIN
PROMPT 60 17 ""
FLAGS "D"
PROMPT 60 17 ""
FLAGS "D"
END
NUMBER F_FROM2 2
BEGIN
PROMPT 2 17 "Da "
FLAGS "U"
GROUP 7
PROMPT 2 17 "Da "
FLAGS "U"
GROUP 7
END
NUMBER F_TO2 2
BEGIN
PROMPT 22 17 "A "
FLAGS "U"
GROUP 7
PROMPT 22 17 "A "
FLAGS "U"
GROUP 7
END
GROUPBOX DLG_NULL 78 8
BEGIN
PROMPT 1 11 "Campi su file"
PROMPT 1 11 "Campi su file"
END
ENDPAGE
@ -272,180 +273,180 @@ PAGE "SUPERPRASSI" -1 -1 78 20
GROUPBOX DLG_NULL 78 3
BEGIN
PROMPT 1 5 "Caratteristiche speciali"
PROMPT 1 5 "Caratteristiche speciali"
END
BOOLEAN F_DISABLED
BEGIN
PROMPT 4 6 "Disabilitato"
HELP "Il campo viene completamente ignorato e quindi nemmeno stampato"
GROUP 7
PROMPT 4 6 "Disabilitato"
HELP "Il campo viene completamente ignorato e quindi nemmeno stampato"
GROUP 7
END
BOOLEAN F_AUTOMAGIC
BEGIN
PROMPT 42 6 "Automatico"
HELP "Il campo viene calcolato automaticamente"
GROUP 7
PROMPT 42 6 "Automatico"
HELP "Il campo viene calcolato automaticamente"
GROUP 7
END
GROUPBOX F_GROUP 78 4
BEGIN
PROMPT 1 8 "Gruppi di stampa"
GROUP 7
PROMPT 1 8 "Gruppi di stampa"
GROUP 7
END
BOOLEAN F_GROUP1
BEGIN
PROMPT 4 9 "1"
GROUP 7
PROMPT 4 9 "1"
GROUP 7
END
BOOLEAN F_GROUP2
BEGIN
PROMPT 10 9 "2"
GROUP 7
PROMPT 10 9 "2"
GROUP 7
END
BOOLEAN F_GROUP3
BEGIN
PROMPT 16 9 "3"
GROUP 7
PROMPT 16 9 "3"
GROUP 7
END
BOOLEAN F_GROUP4
BEGIN
PROMPT 22 9 "4"
GROUP 7
PROMPT 22 9 "4"
GROUP 7
END
BOOLEAN F_GROUP5
BEGIN
PROMPT 28 9 "5"
GROUP 7
PROMPT 28 9 "5"
GROUP 7
END
BOOLEAN F_GROUP6
BEGIN
PROMPT 34 9 "6"
GROUP 7
PROMPT 34 9 "6"
GROUP 7
END
BOOLEAN F_GROUP7
BEGIN
PROMPT 40 9 "7"
GROUP 7
PROMPT 40 9 "7"
GROUP 7
END
BOOLEAN F_GROUP8
BEGIN
PROMPT 46 9 "8"
GROUP 7
PROMPT 46 9 "8"
GROUP 7
END
BOOLEAN F_GROUP9
BEGIN
PROMPT 52 9 "9"
GROUP 7
PROMPT 52 9 "9"
GROUP 7
END
BOOLEAN F_GROUP10
BEGIN
PROMPT 58 9 "10"
GROUP 7
PROMPT 58 9 "10"
GROUP 7
END
BOOLEAN F_GROUP11
BEGIN
PROMPT 64 9 "11"
GROUP 7
PROMPT 64 9 "11"
GROUP 7
END
BOOLEAN F_GROUP12
BEGIN
PROMPT 70 9 "12"
GROUP 7
PROMPT 70 9 "12"
GROUP 7
END
BOOLEAN F_GROUP13
BEGIN
PROMPT 4 10 "13"
GROUP 7
PROMPT 4 10 "13"
GROUP 7
END
BOOLEAN F_GROUP14
BEGIN
PROMPT 10 10 "14"
GROUP 7
PROMPT 10 10 "14"
GROUP 7
END
BOOLEAN F_GROUP15
BEGIN
PROMPT 16 10 "15"
GROUP 7
PROMPT 16 10 "15"
GROUP 7
END
BOOLEAN F_GROUP16
BEGIN
PROMPT 22 10 "16"
GROUP 7
PROMPT 22 10 "16"
GROUP 7
END
BOOLEAN F_GROUP17
BEGIN
PROMPT 28 10 "17"
GROUP 7
PROMPT 28 10 "17"
GROUP 7
END
BOOLEAN F_GROUP18
BEGIN
PROMPT 34 10 "18"
GROUP 7
PROMPT 34 10 "18"
GROUP 7
END
BOOLEAN F_GROUP19
BEGIN
PROMPT 40 10 "19"
GROUP 7
PROMPT 40 10 "19"
GROUP 7
END
BOOLEAN F_GROUP20
BEGIN
PROMPT 46 10 "20"
GROUP 7
PROMPT 46 10 "20"
GROUP 7
END
BOOLEAN F_GROUP21
BEGIN
PROMPT 52 10 "21"
GROUP 7
PROMPT 52 10 "21"
GROUP 7
END
BOOLEAN F_GROUP22
BEGIN
PROMPT 58 10 "22"
GROUP 7
PROMPT 58 10 "22"
GROUP 7
END
BOOLEAN F_GROUP23
BEGIN
PROMPT 64 10 "23"
GROUP 7
PROMPT 64 10 "23"
GROUP 7
END
BOOLEAN F_GROUP24
BEGIN
PROMPT 70 10 "24"
GROUP 7
PROMPT 70 10 "24"
GROUP 7
END
SPREADSHEET F_ITEMS
BEGIN
PROMPT 0 12 "Spreadsheet"
ITEM "Codice@8"
ITEM "Testo@32"
ITEM "Messaggio@80"
GROUP 7
PROMPT 0 12 "Spreadsheet"
ITEM "Codice@8"
ITEM "Testo@32"
ITEM "Messaggio@80"
GROUP 7
END
ENDPAGE
@ -456,28 +457,28 @@ PAGE "Spreadsheet" -1 -1 46 6
STRING 101 8
BEGIN
PROMPT 1 1 "Codice "
PROMPT 1 1 "Codice "
END
STRING 102 32
BEGIN
PROMPT 1 2 "Testo "
FLAGS "_"
PROMPT 1 2 "Testo "
FLAGS "_"
END
STRING 103 80 32
BEGIN
PROMPT 1 3 "Messaggio "
PROMPT 1 3 "Messaggio "
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -12 -1 ""
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -22 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -1,37 +1,51 @@
#include "ba2100.h"
PAGE "SEZIONE DI STAMPA" -1 -1 30 10
PAGE "SEZIONE DI STAMPA" -1 -1 30 11
NUMBER F_HEIGHT 3
BEGIN
PROMPT 1 1 "Altezza in righe "
NUM_EXPR #F_HEIGHT<=#F_FLENAV
WARNING "Il valore deve essere minore della somma delle altezze di questa pagina."
END
GROUP DLG_NULL -1 6
GROUP DLG_NULL -1 7
BEGIN
PROMPT 0 2 "Dati comuni "
END
NUMBER F_FLENAV 3
BEGIN
PROMPT 1 1 ""
FLAGS "H"
END
NUMBER F_FLEN 3
BEGIN
FLAGS "D"
PROMPT 1 3 "Lunghezza foglio "
END
NUMBER F_X 3
BEGIN
PROMPT 1 3 "Spostamento orizzontale "
PROMPT 1 4 "Spostamento orizzontale "
END
NUMBER F_Y 3
BEGIN
PROMPT 1 4 "Spostamento verticale "
PROMPT 1 5 "Spostamento verticale "
END
LIST F_FONT 2 16
BEGIN
PROMPT 1 5 "Font "
PROMPT 1 6 "Font "
ITEM "Courier New|Courier New"
HELP "Font di stampa su video o stampante"
END
LIST F_SIZE 3
BEGIN
PROMPT 1 6 "Carattere "
PROMPT 1 7 "Carattere "
ITEM "12|12"
HELP "Dimensioni del carattere di stampa"
END

134
ba/ba2500.cpp Executable file
View File

@ -0,0 +1,134 @@
#include "baformed.h"
#include "ba2100.h"
class TForm_EC_editor : public TForm_editor
{
TMask* _msk;
protected:
virtual bool create();
virtual bool destroy();
public:
TForm_EC_editor();
virtual ~TForm_EC_editor();
};
TForm_EC_editor::TForm_EC_editor()
{}
TForm_EC_editor::~TForm_EC_editor()
{}
bool TForm_EC_editor::create()
{
TApplication::create();
const char* form = NULL;
const char* code = NULL;
for (int a = 2; a < argc(); a++)
{
if (stricmp(argv(a), "-E") == 0)
{
extra() = TRUE;
continue;
}
if (form == NULL)
form = argv(a);
else
if (code == 0)
code = argv(a);
}
bool go = FALSE;
if ((form && code) || (form && code == NULL && extra()))
{
set_form(new TForm(form, code, extra() ? 2 : 1));
enable_menu_item(M_FILE_PRINT);
if (!extra()) dispatch_e_menu(MENU_ITEM(31));
}
else
{
_msk = new TMask("ba2500a");
if (form)
{
_msk->set(F_BASE, form);
_msk->disable(F_BASE);
}
TString16 s(code);
if (code)
{
_msk->set(F_CODEPR, s.mid(0,4));
_msk->set(F_CODEL, s.mid(4,1));
}
// choose form from mask
KEY k;
while ((k = _msk->run()) != K_QUIT)
{
TString16 fform = _msk->get(F_BASE);
TString80 fdesc = _msk->get(F_DESCPR);
TString16 fcode = _msk->get(F_CODEPR);
fcode << _msk->get(F_CODEL);
if (k == K_ENTER)
{
set_form(new TForm(fform, fcode, extra() ? 2 :1, fdesc));
form = fform;
go = TRUE;
break;
}
else if (k == K_DEL)
{
if (yesno_box("Confermare la cancellazione del profilo %s", (const char*)fcode))
{
TLocalisamfile frm(LF_FORM);
frm.zero();
frm.put("TIPOPROF", fform);
frm.put("CODPROF", fcode);
if (frm.read() == NOERR)
frm.remove();
TLocalisamfile rfr(LF_RFORM);
rfr.zero();
rfr.put("TIPOPROF", fform);
rfr.put("CODPROF", fcode);
if (rfr.read() == NOERR)
{
for ( ; rfr.get("CODPROF") == fcode && rfr.get("TIPOPROF") == fform; rfr.next())
rfr.remove();
}
_msk->set(F_CODEPR,"");
_msk->set(F_CODEL,"");
_msk->set(F_BASE,"");
_msk->set(F_DESCPR,"");
}
}
}
}
if (go)
{
enable_menu_item(M_FILE_PRINT);
if (!extra()) dispatch_e_menu(MENU_ITEM(31));
}
return form != NULL;
}
bool TForm_EC_editor::destroy()
{
if (_msk)
delete _msk;
return TForm_editor::destroy();
}
int ba2500(int argc, char* argv[])
{
TForm_EC_editor a;
a.run(argc, argv, "Gestione profili EC");
return 0;
}

77
ba/ba2500a.uml Executable file
View File

@ -0,0 +1,77 @@
#include "ba2100.h"
PAGE "Scelta profilo" -1 -1 75 6
STRING F_BASE 8
BEGIN
PROMPT 2 1 "Profilo base "
HELP "Specificare il nome del profilo di base utilizzato"
USE LF_FORM SELECT CODPROF==""
INPUT TIPOPROF F_BASE
DISPLAY "Profilo base" TIPOPROF
DISPLAY "Descrizione@50" DESC
OUTPUT F_BASE TIPOPROF
OUTPUT F_DESCPR DESC
CHECKTYPE REQUIRED
END
NUMBER F_CODEPR 4
BEGIN
PROMPT 2 2 "Codice profilo "
FLAGS "Z"
HELP "Codice del profilo"
USE LF_FORM
JOIN %LNG TO LF_FORM ALIAS 200 INTO CODTAB==CODPROF[5,5]
INPUT TIPOPROF F_BASE
INPUT CODPROF[1,4] F_CODEPR
INPUT CODPROF[5,5] F_CODEL
DISPLAY "Profilo base" TIPOPROF
DISPLAY "Codice" CODPROF[1,4]
DISPLAY "Lingua" CODPROF[5,5]
DISPLAY "Descrizione@50" DESC
DISPLAY "Desc. Lingua@50" -200->S0
OUTPUT F_BASE TIPOPROF
OUTPUT F_CODEPR CODPROF[1,4]
OUTPUT F_CODEL CODPROF[5,5]
OUTPUT F_DESCPR DESC
END
STRING F_CODEL 1
BEGIN
PROMPT 40 2 "Codice lingua "
HELP "Codice lingua del profilo"
USE %LNG
INPUT CODTAB F_CODEL
DISPLAY "Codice lingua" CODTAB
DISPLAY "Decrizione@50" S0
OUTPUT F_CODEL CODTAB
CHECKTYPE NORMAL
END
STRING F_DESCPR 50
BEGIN
PROMPT 2 3 "Descrizione "
HELP "Descrizione profilo utente"
COPY ALL F_CODEPR
VALIDATE NOT_EMPTY_FUNC
END
BUTTON DLG_OK 10 2
BEGIN
PROMPT -13 -1 ""
END
BUTTON DLG_DELREC 10 2
BEGIN
PROMPT -23 -1 ""
MESSAGE EXIT,K_DEL
END
BUTTON DLG_QUIT 10 2
BEGIN
PROMPT -33 -1 ""
END
ENDPAGE
ENDMASK

33
ba/baformed.h Executable file
View File

@ -0,0 +1,33 @@
#include <applicat.h>
#include <config.h>
#include <form.h>
#include <msksheet.h>
#include <prefix.h>
#include <relation.h>
#include <utility.h>
#include <urldefid.h>
class TForm_editor : public TApplication
{
TForm* _form;
bool _extra;
protected:
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG);
virtual void print();
static bool file_handler(TMask_field& f, KEY k);
static bool cod_handler(TMask_field&f, KEY k);
bool& extra() { return _extra;}
void set_form(TForm * f) { _form = f; }
bool edit_relation();
bool edit(char s, pagetype p);
bool form_config() const;
public:
TForm_editor();
virtual ~TForm_editor();
};