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" #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) int main(int argc, char** argv)
{ {
@ -23,6 +23,8 @@ int main(int argc, char** argv)
#endif #endif
case 3: case 3:
rt = ba2400(argc, argv) ; break; rt = ba2400(argc, argv) ; break;
case 4:
rt = ba2500(argc, argv) ; break;
default: default:
error_box(usage, argv[0]) ; rt = 1; break; 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 ba2200(int argc, char* argv[]);
int ba2300(int argc, char* argv[]); int ba2300(int argc, char* argv[]);
int ba2400(int argc, char* argv[]); int ba2400(int argc, char* argv[]);
int ba2500(int argc, char* argv[]);
#endif // __BA2_H #endif // __BA2_H

View File

@ -9,15 +9,70 @@
#define M_FIL1_QUIT MENU_FILE_ALT+105 #define M_FIL1_QUIT MENU_FILE_ALT+105
MENU MENU_FILE_ALT MENU MENU_FILE_ALT
ITEM M_FIL1_NEW "~Nuovo" ITEM M_FIL1_NEW "~Nuovo"
ITEM M_FIL1_OPEN "~Apri" ITEM M_FIL1_OPEN "~Apri"
ITEM M_FIL1_SAVE "~Salva" ITEM M_FIL1_SAVE "~Salva"
ITEM M_FIL1_SAVEAS "Salva ~con Nome" ITEM M_FIL1_SAVEAS "Salva ~con Nome"
ITEM M_FIL1_QUIT "~Fine" ITEM M_FIL1_QUIT "~Fine"
SEPARATOR SEPARATOR
ITEM M_FILE_ABOUT "~Informazioni" ITEM M_FILE_ABOUT "~Informazioni"
MENU TASK_MENUBAR 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 MENU_FILE "~File"
SUBMENU BAR_ITEM(1) "~Dati" SUBMENU BAR_ITEM(1) "~Dati"
SUBMENU BAR_ITEM(2) "~Testa" SUBMENU BAR_ITEM(2) "~Testa"
@ -25,47 +80,24 @@ MENU TASK_MENUBAR
SUBMENU BAR_ITEM(4) "~Piede" SUBMENU BAR_ITEM(4) "~Piede"
SUBMENU BAR_ITEM(5) "~Sfondo" SUBMENU BAR_ITEM(5) "~Sfondo"
MENU BAR_ITEM(1) MENU BAR_ITEM(1)
ITEM MENU_ITEM(11) "~Relazione" ITEM MENU_ITEM(11) "~Relazione"
ITEM MENU_ITEM(12) "~Parametri" ITEM MENU_ITEM(12) "~Parametri"
MENU BAR_ITEM(2) MENU BAR_ITEM(2)
ITEM MENU_ITEM(21) "~Normale" ITEM MENU_ITEM(21) "~Normale"
ITEM MENU_ITEM(22) "~Pari" ITEM MENU_ITEM(22) "~Pari"
ITEM MENU_ITEM(23) "~Prima" ITEM MENU_ITEM(23) "~Prima"
ITEM MENU_ITEM(24) "~Ultima" ITEM MENU_ITEM(24) "~Ultima"
MENU BAR_ITEM(3) MENU BAR_ITEM(3)
ITEM MENU_ITEM(31) "~Normale" ITEM MENU_ITEM(31) "~Normale"
ITEM MENU_ITEM(32) "~Pari" ITEM MENU_ITEM(32) "~Pari"
ITEM MENU_ITEM(33) "~Primo" ITEM MENU_ITEM(33) "~Primo"
ITEM MENU_ITEM(34) "~Ultimo" ITEM MENU_ITEM(34) "~Ultimo"
MENU BAR_ITEM(4) MENU BAR_ITEM(4)
ITEM MENU_ITEM(41) "~Normale" ITEM MENU_ITEM(41) "~Normale"
ITEM MENU_ITEM(42) "~Pari" ITEM MENU_ITEM(42) "~Pari"
ITEM MENU_ITEM(43) "~Primo" ITEM MENU_ITEM(43) "~Primo"
ITEM MENU_ITEM(44) "~Ultimo" 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 "baformed.h"
#include <config.h>
#include <form.h>
#include <msksheet.h>
#include <prefix.h>
#include <relation.h>
#include <utility.h>
#include <urldefid.h>
#include "ba2100.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) TForm_editor::TForm_editor() : _form(NULL), _extra(FALSE)
{} {}
@ -64,7 +34,7 @@ bool TForm_editor::create()
if ((form && code) || (form && code == 0 && _extra)) 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); enable_menu_item(M_FILE_PRINT);
if (!_extra) dispatch_e_menu(MENU_ITEM(31)); if (!_extra) dispatch_e_menu(MENU_ITEM(31));
} }
@ -72,6 +42,7 @@ bool TForm_editor::create()
{ {
TMask m("ba2100b"); TMask m("ba2100b");
m.set_handler(F_CODE, cod_handler);
if (form) if (form)
{ {
m.set(F_BASE, form); m.set(F_BASE, form);
@ -82,7 +53,7 @@ bool TForm_editor::create()
// choose form from mask // choose form from mask
KEY k; KEY k;
while ((k = m.run()) != K_ESC) while ((k = m.run()) != K_QUIT)
{ {
TString16 fform = m.get(F_BASE); TString16 fform = m.get(F_BASE);
TString80 fdesc = m.get(F_DESC); TString80 fdesc = m.get(F_DESC);
@ -90,7 +61,7 @@ bool TForm_editor::create()
if (k == K_ENTER) 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; form = fform;
go = TRUE; go = TRUE;
break; break;
@ -102,16 +73,16 @@ bool TForm_editor::create()
TLocalisamfile frm(LF_FORM); TLocalisamfile frm(LF_FORM);
frm.zero(); frm.zero();
frm.put("TIPOPROF", fform); frm.put("TIPOPROF", fform);
frm.put("CODPROF", fcode); frm.put("CODPROF", format("%05ld",fcode));
if (frm.read() == NOERR) if (frm.read() == NOERR)
frm.remove(); frm.remove();
TLocalisamfile rfr(LF_RFORM); TLocalisamfile rfr(LF_RFORM);
rfr.zero(); rfr.zero();
rfr.put("TIPOPROF", fform); rfr.put("TIPOPROF", fform);
rfr.put("CODPROF", fcode); rfr.put("CODPROF", format("%05ld",fcode));
if (rfr.read() == NOERR) 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(); rfr.remove();
} }
m.set(F_CODE,""); m.set(F_CODE,"");
@ -194,7 +165,6 @@ void TForm_editor::print()
_form->print(); _form->print();
} }
bool TForm_editor::file_handler(TMask_field& f, KEY k) bool TForm_editor::file_handler(TMask_field& f, KEY k)
{ {
bool ok = TRUE; bool ok = TRUE;
@ -213,6 +183,21 @@ bool TForm_editor::file_handler(TMask_field& f, KEY k)
return ok; 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() 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 (dirty && yesno_box("Salvare le modifiche?"))
{ {
if (_form->code() == 0L) if (_form->code() == "")
{ {
TFilename n(_form->name()); n.ext("frm"); TFilename n(_form->name()); n.ext("frm");
TFilename bak(n); bak.ext("bak"); TFilename bak(n); bak.ext("bak");
@ -362,7 +347,7 @@ bool TForm_editor::form_config() const
TFilename cnfnam(_form->name()); cnfnam.ext("ini"); TFilename cnfnam(_form->name()); cnfnam.ext("ini");
TString16 cnfpar; TString16 cnfpar;
if (_form->code() != 0L) if (_form->code() != "")
cnfpar << _form->code(); cnfpar << _form->code();
else else
cnfpar << "Main"; cnfpar << "Main";

View File

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

View File

@ -1,37 +1,51 @@
#include "ba2100.h" #include "ba2100.h"
PAGE "SEZIONE DI STAMPA" -1 -1 30 10 PAGE "SEZIONE DI STAMPA" -1 -1 30 11
NUMBER F_HEIGHT 3 NUMBER F_HEIGHT 3
BEGIN BEGIN
PROMPT 1 1 "Altezza in righe " 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 END
GROUP DLG_NULL -1 6 GROUP DLG_NULL -1 7
BEGIN BEGIN
PROMPT 0 2 "Dati comuni " PROMPT 0 2 "Dati comuni "
END 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 NUMBER F_X 3
BEGIN BEGIN
PROMPT 1 3 "Spostamento orizzontale " PROMPT 1 4 "Spostamento orizzontale "
END END
NUMBER F_Y 3 NUMBER F_Y 3
BEGIN BEGIN
PROMPT 1 4 "Spostamento verticale " PROMPT 1 5 "Spostamento verticale "
END END
LIST F_FONT 2 16 LIST F_FONT 2 16
BEGIN BEGIN
PROMPT 1 5 "Font " PROMPT 1 6 "Font "
ITEM "Courier New|Courier New" ITEM "Courier New|Courier New"
HELP "Font di stampa su video o stampante" HELP "Font di stampa su video o stampante"
END END
LIST F_SIZE 3 LIST F_SIZE 3
BEGIN BEGIN
PROMPT 1 6 "Carattere " PROMPT 1 7 "Carattere "
ITEM "12|12" ITEM "12|12"
HELP "Dimensioni del carattere di stampa" HELP "Dimensioni del carattere di stampa"
END 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();
};