Migliorato caricamento immagini del menu, modificata richiesta ditta

modifica alle maschere del libro unico e relativi indici
Gestiti permessi d'uso del programma di manutenzione(Superprassi-Umano mortale)


git-svn-id: svn://10.65.10.50/trunk@1331 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1995-05-09 13:27:01 +00:00
parent caea7e7e46
commit 5ee2fbbd4c
16 changed files with 347 additions and 206 deletions

View File

@ -8,20 +8,6 @@
#include <utility.h>
#include <urldefid.h>
/*
#if XVT_OS == XVT_OS_SCOUNIX
#include <sys/stat.h>
#else
#include <direct.h>
#endif
#if XVT_OS == XVT_OS_WIN
#include <dos.h>
#else
#include <dirent.h>
#endif
*/
#include "ba0.h"
#include "ba0100a.h"
@ -37,22 +23,16 @@ protected:
virtual void handler(WINDOW win, EVENT* ep);
public:
TPicture_mask(const char* name, int dx, int dy, TImage & image, bool remap);
TPicture_mask(const char* name, int dx, int dy, TImage& image);
virtual ~TPicture_mask() {}
};
TPicture_mask::TPicture_mask(const char* name, int dx, int dy, TImage & image, bool remap)
TPicture_mask::TPicture_mask(const char* name, int dx, int dy, TImage& image)
: TMask(name, 1, dx, dy), _image(image)
{
if (_image.ok())
{
if (!remap && MASK_BACK_COLOR != COLOR_DKCYAN)
_image.set_clut(6, MASK_BACK_COLOR);
else
_image.set_palette(win());
_image.set_pos(1, 1);
}
_image.set_palette(win());
}
@ -66,21 +46,15 @@ void TPicture_mask::handler(WINDOW win, EVENT* ep)
#if XVT_OS == XVT_OS_WIN
if (_image.ok())
{
RCT src; xvt_rect_set(&src, 0, 0, _image.width(), _image.height());
const short maxx = 42*CHARX;
const short maxy = short((long)maxx*src.bottom/src.right);
RCT dst; xvt_rect_set(&dst, 1, 1, maxx, maxy);
_image.draw(win, dst);
_image.draw(win);
}
else
#endif
{
TTemp_window w(win);
const int max = 16;
for (int i = 0; i < max; i++)
{
TTemp_window w(win);
w.rect(i*2, i, max-i*2, max-i);
}
}
}
}
@ -100,7 +74,7 @@ class TMenu_application : public TApplication
TArray _modules, _images;
int _level, _max;
bool _ditta_asked;
/* bool _ditta_asked; */
static int _last_button;
static bool _find_button;
@ -112,6 +86,7 @@ protected:
int find_menu(const char* s) const;
bool check_user();
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
virtual bool build_firm_data(long cod, bool flagcom = FALSE);
@ -121,7 +96,7 @@ protected:
bool module_enabled(int module) const { return has_module(module);}
public:
TMenu_application(const char* name) : _name(name), _ditta_asked(FALSE) {}
TMenu_application(const char* name) : _name(name) /*, _ditta_asked(FALSE) */ {}
};
int TMenu_application::_last_button = 0;
@ -371,7 +346,7 @@ int TMenu_application::do_level()
const int width = 78;
const int height = 18;
const int bwidth = 20;
const int x = width-bwidth-12;
const int x = width / 2;
short id = (short)row.get_int();
if (_images.objptr(id) == NULL)
@ -379,12 +354,21 @@ int TMenu_application::do_level()
char* n = format("ba%02d.bmp", id);
if (id > 0 && !fexist(n))
n = format("ba%02d.bmp", id = 0);
TImage * image = new TImage(n);
TImage orig(n);
RCT src; xvt_rect_set(&src, 0, 0, orig.width(), orig.height());
const short maxx = width * CHARX / 2 - 4;
const short maxy = short((long)maxx*src.bottom/src.right);
TImage* image = new TImage(orig, maxx, maxy);
if (id == 0 && MASK_BACK_COLOR != COLOR_DKCYAN)
image->set_clut(6, MASK_BACK_COLOR);
image->set_pos(1, 1);
_images.add(image, id);
}
TPicture_mask menu(head, width, height, (TImage &) _images[id], id != 0);
TPicture_mask menu(head, width, height, (TImage &) _images[id]);
int y = 1;
@ -480,21 +464,54 @@ bool TMenu_application::check_user()
users.put("USERNAME", utente);
pwd = "";
if (users.read() == NOERR)
int err = users.read(_isequal, _lock);
if (err == NOERR)
{
pwd = decode(users.get("PASSWORD"));
}
else
if (utente == "PRASSI")
pwd = "pr.assi";
{
pwd = "pr.assi";
users.zero();
users.put("USERNAME", utente);
users.put("USERDESC", utente);
users.put("PASSWORD", encode(pwd));
users.write();
err = users.read(_isequal, _lock);
}
ok = pwd.not_empty() && pwd == m.get(F_PASSWORD);
if (ok)
user() = utente;
{
ok = !users.get_bool("CONNECTED");
if (!ok)
{
ok = yesno_box("L'utente %s risulta essere gia' collegato\n"
"Si desidera continuare ugualmente?", (const char*)utente);
}
if (ok)
user() = utente;
}
else
{
error_box("Utente e/o password errata:\nfare attenzione alle maiuscole");
m.set(F_PASSWORD,"");
}
}
if (err == NOERR)
{
if (ok)
{
users.put("CONNECTED", "X");
users.rewrite();
}
else users.read(_isequal, _unlock);
}
}
return ok;
}
@ -515,6 +532,19 @@ bool TMenu_application::create()
return TRUE;
}
bool TMenu_application::destroy()
{
TLocalisamfile users(LF_USER);
users.put("USERNAME", user());
int err = users.read(_isequal, _lock);
if (err == NOERR)
{
users.zero("CONNECTED");
users.rewrite();
}
return TRUE;
}
bool TMenu_application::menu(MENU_TAG)
{
@ -540,7 +570,7 @@ bool TMenu_application::menu(MENU_TAG)
{
const TString16 flags(row.get());
if (flags.find('F') >= 0)
_ditta_asked = ok = set_firm();
/*_ditta_asked = */ ok = set_firm();
if (ok)
{
refarray[i++] = _level;
@ -549,15 +579,16 @@ bool TMenu_application::menu(MENU_TAG)
}
else
{
const TString16 module(cmd2name(option));
if (!_ditta_asked && module.left(2) == "cg" && module != "cg5100")
_ditta_asked = ok = set_firm();
if (ok)
{
prefix().set("DEF"); // Aggiorna prefix
TExternal_app a(option);
a.run();
}
/*
const TString16 module(cmd2name(option));
if (!_ditta_asked && module.left(2) == "cg" && module.left(3) != "cg5")
_ditta_asked = ok = set_firm();
*/
prefix().set("DEF"); // Aggiorna prefix
if (get_firm() == 0)
set_firm();
TExternal_app a(option);
a.run();
}
}
}
@ -580,6 +611,8 @@ bool TMenu_application::menu(MENU_TAG)
return FALSE;
}
int main(int argc, char** argv)
{
TApplication::check_parameters(argc, argv);

View File

@ -31,10 +31,10 @@ struct direct
class TManutenzione_app : public TApplication
{
TDir_sheet * _browse;
TMask * _mask;
long _firm;
TRec_sheet* _rec;
TDir_sheet* _browse;
TMask* _mask;
long _firm;
TRec_sheet* _rec;
protected:
virtual bool menu (MENU_TAG);
@ -52,7 +52,7 @@ protected:
const char* dumpfilename(const FileDes& dep) const;
public:
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL) {}
TManutenzione_app() : _browse(NULL), _rec(NULL), _mask(NULL), _firm(0) {}
};
@ -253,12 +253,23 @@ bool TManutenzione_app::create() // initvar e arrmask
}
else
{
if (!set_firm())
return FALSE;
const bool superprassi = user() == "PRASSI";
_mask = new TMask ("ba1100a");
set_firm();
_browse = new TDir_sheet ("Manutenzione file di sistema") ;
_browse->add_button(DLG_INSFILE, "Inserisce", K_F6);
_browse->add_button(DLG_CONVERT, "Converte", K_F7);
_browse->add_button(DLG_ADDFILE, "Aggiunge", K_F8);
_browse = new TDir_sheet ("Manutenzione file di sistema", superprassi ? 0xC : 0x8);
if (superprassi)
{
_mask->enable(-1); // Abilita campi privilegiati
_browse->add_button(DLG_INSFILE, "~Inserisci", K_F6);
_browse->add_button(DLG_CONVERT, "~Converti", K_F7);
_browse->add_button(DLG_ADDFILE, "~Aggiungi", K_F8);
}
dispatch_e_menu(BAR_ITEM(1));
}
enable_menu_item(M_FILE_PRINT);
@ -337,11 +348,14 @@ void TManutenzione_app::edit_riga (long riga_sel, TToken_string& riga)
FileDes dep;
TDir d;
const int logicnum = int(riga_sel) + 1;
_mask->enable(DLG_PACK);
_mask->enable(DLG_RECORD);
_mask->enable(DLG_LOAD);
const bool superprassi = user() == "PRASSI";
_mask->enable(DLG_PACK, superprassi);
_mask->enable(DLG_RECORD, superprassi);
_mask->enable(DLG_LOAD, superprassi);
_mask->enable(DLG_DUMP);
_mask->show(F_TAB, logicnum >= LF_TABGEN && logicnum <= LF_TAB);
_mask->set (FLD_NUM, riga.get(0));
_mask->set (FLD_NOME, riga.get());
@ -366,100 +380,102 @@ void TManutenzione_app::edit_riga (long riga_sel, TToken_string& riga)
switch (tasto)
{
case K_F4:
{
const TFilename filename(_mask->get(FLD_NOME));
if (logicnum > 1)
{
const TFilename filename(_mask->get(FLD_NOME));
TEdit_file ef;
ef.browse(logicnum, filename);
}
}
break;
case K_F5:
case K_F6:
case K_F7:
case K_F8:
case K_ENTER:
{
strcpy (dep.SysName,_mask->get (FLD_NOME));
dep.EOD = atol(_mask->get (FLD_EOD));
dep.Flags = atol(_mask->get (FLD_FLAG));
strcpy (dep.Des,_mask->get (FLD_DESC));
strcpy (dep.FCalc,_mask->get (FLD_FORMULA));
const TRecnotype eox = atol(_mask->get(FLD_EOX));
_browse->dir()->get(logicnum, _lock, _nordir, _sysdirop);
_browse->dir()->set(dep.SysName, dep.EOD, dep.Flags,
dep.Des, dep.FCalc);
_browse->dir()->put(logicnum, _nordir, _sysdirop);
{
TSystemisamfile f(logicnum);
if (eox != oldeox)
{
d.get(logicnum);
if (!fexist(d.name())) f.build(eox);
else f.extend(eox);
_browse->dir()->get(logicnum, _nolock, _nordir, _sysdirop);
}
if (tasto == K_F5)
{
f.packfile();
f.packindex();
}
else
if (tasto == K_F6)
break;
case K_F5:
case K_F6:
case K_F8:
if (!superprassi)
{
_rec = new TRec_sheet(logicnum, _mask->get(F_TAB));
_rec->edit();
delete _rec;
_rec = NULL;
error_box("Funzione non ammessa per l'utente %s", (const char*)user());
break;
}
case K_F7:
case K_ENTER:
{
strcpy (dep.SysName,_mask->get (FLD_NOME));
dep.EOD = atol(_mask->get (FLD_EOD));
dep.Flags = atol(_mask->get (FLD_FLAG));
strcpy (dep.Des,_mask->get (FLD_DESC));
strcpy (dep.FCalc,_mask->get (FLD_FORMULA));
const TRecnotype eox = atol(_mask->get(FLD_EOX));
_browse->dir()->get(logicnum, _lock, _nordir, _sysdirop);
_browse->dir()->set(dep.SysName, dep.EOD, dep.Flags,
dep.Des, dep.FCalc);
_browse->dir()->put(logicnum, _nordir, _sysdirop);
{
TSystemisamfile f(logicnum);
if (eox != oldeox)
{
d.get(logicnum);
if (!fexist(d.name())) f.build(eox);
else f.extend(eox);
_browse->dir()->get(logicnum, _nolock, _nordir, _sysdirop);
}
if (tasto == K_F5)
{
f.packfile();
f.packindex();
}
else
if (tasto == K_F7)
if (tasto == K_F6)
{
TMask m("ba1100b");
TFilename nout(dumpfilename(dep));
m.set(FLD_OUTFILE, nout);
if (m.run() == K_ENTER)
{
nout = m.get(FLD_OUTFILE);
if (nout.not_empty())
{
const char fs = *esc(m.get(FLD_FS));
const char fd = *esc(m.get(FLD_FD));
const char rs = *esc(m.get(FLD_RS));
const bool withdel = m.get_bool(FLD_WITHDEL);
const int keyno = m.get_int(FLD_KEYNO);
f.dump(nout, keyno, fs, fd, rs, withdel);
}
}
_rec = new TRec_sheet(logicnum, _mask->get(F_TAB));
_rec->edit();
delete _rec;
_rec = NULL;
}
else
if (tasto == K_F8)
if (tasto == K_F7)
{
TMask m("ba1100c");
TFilename ninp(dumpfilename(dep));
m.set(FLD_INFILE, ninp);
TMask m("ba1100b");
TFilename nout(dumpfilename(dep));
m.set(FLD_OUTFILE, nout);
if (m.run() == K_ENTER)
{
char fs = *esc(m.get(FLD_FS));
char fd = *esc(m.get(FLD_FD));
char rs = *esc(m.get(FLD_RS));
ninp = m.get(FLD_INFILE);
f.load(ninp, fs, fd, rs);
nout = m.get(FLD_OUTFILE);
if (nout.not_empty())
{
const char fs = *esc(m.get(FLD_FS));
const char fd = *esc(m.get(FLD_FD));
const char rs = *esc(m.get(FLD_RS));
const bool withdel = m.get_bool(FLD_WITHDEL);
const int keyno = m.get_int(FLD_KEYNO);
f.dump(nout, keyno, fs, fd, rs, withdel);
}
}
}
}
}
break;
default:
break;
}
else
if (tasto == K_F8)
{
TMask m("ba1100c");
TFilename ninp(dumpfilename(dep));
m.set(FLD_INFILE, ninp);
if (m.run() == K_ENTER)
{
char fs = *esc(m.get(FLD_FS));
char fd = *esc(m.get(FLD_FD));
char rs = *esc(m.get(FLD_RS));
ninp = m.get(FLD_INFILE);
f.load(ninp, fs, fd, rs);
}
}
}
}
break;
default:
break;
}
}
void TManutenzione_app::delete_riga ()
@ -648,8 +664,22 @@ void TManutenzione_app::convert_dir()
}
void TManutenzione_app::update()
{
TIsamfile utenti(LF_USER, FALSE);
utenti.open(_excllock);
for (int err = utenti.first(); err == NOERR; err = utenti.next())
{
const TString16 u = utenti.get("USERNAME");
if (u != "PRASSI" && utenti.get_bool("CONNECTED"))
{
error_box("La conversione non puo' essere effettuata\n"
"se ci sono utenti collegati: %s", (const char*)u);
utenti.close();
return;
}
}
long firm = get_firm();
TString pref;
if (firm == 0) pref = prefix().name();
@ -691,6 +721,7 @@ void TManutenzione_app::update()
if (firm > 0) set_firm(firm);
else prefix().set(pref);
utenti.close();
end_wait();
}
@ -707,7 +738,15 @@ bool TManutenzione_app::menu(MENU_TAG m)
disable_menu_item(M_FILE_NEW);
switch (_browse->run())
KEY key = _browse->run();
if (key != K_ENTER && key != K_ESC && user() != "PRASSI")
{
error_box("Operazione non permessa all'utente %s", (const char*)user());
key = 0;
}
switch (key)
{
case K_F6:
riga_selezionata = _browse->selected();
@ -724,8 +763,9 @@ bool TManutenzione_app::menu(MENU_TAG m)
case K_DEL: delete_riga(); break;
case K_ESC: done = TRUE; break;
case K_F7: update(); break;
case K_F7:
update(); break;
case K_F8:
_browse->add();

View File

@ -22,12 +22,12 @@ class TDir_sheet : public TSheet
FileDes _s_dir;
long _items;
protected: set_firm();
void page_build(long first, byte rows);
protected:
virtual void page_build(long first, byte rows);
virtual bool on_key(KEY k);
public:
TDir_sheet(const char* title,const char* columns="N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Formula@33|Flags@7",byte buttons=0xC);
TDir_sheet(const char* title,byte buttons=0x8,const char* col = "N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Formula@33|Flags@7");
~TDir_sheet();
TDir* dir() const { return _dir; }
TTrec* rec() const { return _rec; }

View File

@ -1,117 +1,136 @@
#include <defmask.h>
#include <tokens.h>
#include "ba1100a.h"
PAGE "Modifica Archivio" -1 -1 70 15
NUMBER FLD_NUM 4
NUMBER FLD_NUM 4
BEGIN
FLAGS "RD"
FLAGS "RD"
PROMPT 2 1 "Numero "
END
STRING FLD_NOME 43
STRING FLD_NOME 43
BEGIN
PROMPT 2 2 "Nome "
HELP "Nome del file"
FLAGS "D"
GROUP 1
END
STRING FLD_DESC 43
STRING FLD_DESC 43
BEGIN
PROMPT 2 3 "Descrizione "
HELP "Descrizione assegnata al file"
FLAGS "D"
GROUP 1
END
STRING FLD_FORMULA 43
STRING FLD_FORMULA 43
BEGIN
PROMPT 2 4 "Formula "
HELP "Formula per il calcolo su file"
FLAGS "D"
GROUP 1
END
NUMBER FLD_EOD 7
NUMBER FLD_EOD 7
BEGIN
PROMPT 2 5 "Record usati "
HELP "Numero di record utilizzati"
WARNING "Numero di record errato"
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<=#FLD_EOX)}
FLAGS "R"
WARNING "Numero di record errato"
NUM_EXPR {(#THIS_FIELD>=0) && (#THIS_FIELD<=#FLD_EOX)}
FLAGS "DR"
GROUP 1
END
BOOLEAN FLD_EXTEND
BEGIN
PROMPT 2 6 "Cambia dimensione"
HELP "Indicare se si desidera cambiare la dimensione del file"
MESSAGE FALSE DISABLE,FLD_EOX|UNDO,FLD_EOX
MESSAGE TRUE ENABLE,FLD_EOX
MESSAGE FALSE DISABLE,FLD_EOX|UNDO,FLD_EOX
MESSAGE TRUE ENABLE,FLD_EOX
FLAGS "D"
GROUP 1
END
NUMBER FLD_EOX 7
NUMBER FLD_EOX 7
BEGIN
PROMPT 30 6 "Dimensione "
HELP "Dimensione da assegnare al file"
WARNING "Dimensione non corretta"
NUM_EXPR {#THIS_FIELD>=#FLD_EOD}
FLAGS "RD"
WARNING "Dimensione non corretta"
NUM_EXPR {#THIS_FIELD>=#FLD_EOD}
FLAGS "DR"
END
NUMBER FLD_FLAG 7
NUMBER FLD_FLAG 7
BEGIN
PROMPT 2 7 "Flags "
HELP "Flags del file"
FLAGS "R"
FLAGS "DR"
GROUP 1
END
NUMBER F_LEN 7
NUMBER F_LEN 7
BEGIN
PROMPT 30 7 "Lunghezza "
FLAGS "RD"
FLAGS "RD"
END
STRING F_TAB 3
BEGIN
PROMPT 2 9 "Tabella "
FLAGS "U"
FLAGS "DU"
GROUP 1
END
BUTTON DLG_OK 9 2
BEGIN
PROMPT -14 -3 ""
PROMPT -14 -3 ""
END
BUTTON DLG_CANCEL 9 2
BEGIN
PROMPT -24 -3 ""
PROMPT -24 -3 ""
END
BUTTON DLG_PACK 9 2
BEGIN
PROMPT -34 -3 "Compatta"
MESSAGE EXIT,K_F5
PROMPT -34 -3 "Compatta"
MESSAGE EXIT,K_F5
FLAGS "D"
GROUP 1
END
BUTTON DLG_RECORD 9 2
BEGIN
PROMPT -44 -3 "Record"
MESSAGE EXIT,K_F6
PROMPT -44 -3 "Record"
MESSAGE EXIT,K_F6
FLAGS "D"
GROUP 1
END
BUTTON DLG_DUMP 9 2
BEGIN
PROMPT -14 -1 "Scarica"
MESSAGE EXIT,K_F7
PROMPT -14 -1 "Scarica"
MESSAGE EXIT,K_F7
END
BUTTON DLG_LOAD 9 2
BEGIN
PROMPT -24 -1 "Carica"
MESSAGE EXIT,K_F8
PROMPT -24 -1 "Carica"
MESSAGE EXIT,K_F8
FLAGS "D"
GROUP 1
END
BUTTON DLG_EDIT 9 2
BEGIN
PROMPT -34 -1 "Modifica"
MESSAGE EXIT,K_F4
PROMPT -34 -1 "Modifica"
MESSAGE EXIT,K_F4
END
ENDPAGE
ENDMASK

View File

@ -59,14 +59,14 @@ BEGIN
HELP "Carattere delimitatore di record"
END
BUTTON DLG_OK 9 2
BUTTON DLG_OK 10 2
BEGIN
PROMPT -14 -1 ""
PROMPT -12 -1 ""
END
BUTTON DLG_CANCEL 9 2
BUTTON DLG_CANCEL 10 2
BEGIN
PROMPT -24 -1 ""
PROMPT -22 -1 ""
END
ENDPAGE

View File

@ -36,11 +36,13 @@ void TDir_sheet::add ()
update();
}
TDir_sheet::TDir_sheet(const char* title, const char * columns, byte buttons)
:TSheet(-1,-1, 0, 0, title,columns,buttons)
TDir_sheet::TDir_sheet(const char* title, byte buttons, const char* colonne)
:TSheet(-1,-1, 0, 0, title, colonne, buttons)
{
_dir = new TDir;
_rec = new TTrec;
maximize();
rebuild();
}
@ -50,6 +52,26 @@ TDir_sheet::~TDir_sheet()
delete _rec;
}
bool TDir_sheet::on_key(KEY key)
{
if (key > K_CTRL)
switch (key-K_CTRL)
{
case 'A':
key = K_F8; break;
case 'C':
key = K_F7; break;
case 'E':
key = K_DEL; break;
case 'I':
key = K_INS; break;
default:
break;
}
return TSheet::on_key(key);
}
void TDir_sheet::page_build(long first, byte rows)
{

View File

@ -1,8 +1,9 @@
#include <relation.h>
#include <mask.h>
#include <sheet.h>
#include <progind.h>
#include <defmask.h>
#include <mask.h>
#include <relation.h>
#include <prefix.h>
#include <progind.h>
#include <sheet.h>
#include "ba1100.h"
@ -34,12 +35,20 @@ bool TEdit_file::browse(int logicnum, const char* name)
if (t == _realfld || t == _intfld || t == _longfld || t == _wordfld || t == _realfld)
head << 'R';
}
const bool superprassi = user() == "PRASSI";
KEY ch;
TCursor_sheet sheet(&cursor, trac, name, head, 6);
TCursor_sheet sheet(&cursor, trac, name, head, superprassi ? 6 : 0);
while ((ch = sheet.run()) != K_ESC)
{
{
if (!superprassi)
{
error_box("Funzione non ammessa per l'utente %s", (const char*)user());
ch = K_ESC;
}
if (ch == K_DEL && sheet.one_checked())
{
TProgind* pind = NULL;
@ -52,8 +61,7 @@ bool TEdit_file::browse(int logicnum, const char* name)
if (sheet.checked(j))
{
if (!go && !first)
go = yesno_box("Confermi la cancellazione dei %d "
"record indicati?", sheet.checked());
go = yesno_box("Si desidera cancellare i %d record indicati?", sheet.checked());
first = TRUE;
if (!pind)
@ -110,6 +118,8 @@ bool TEdit_file::browse(int logicnum, const char* name)
if (edit_record(curr,FALSE) == K_ENTER)
cursor.file().write();
break;
default:
break;
}
sheet.force_update();
}

View File

@ -19,7 +19,7 @@ class TTestSheet : public TDir_sheet
protected:
void page_build(long first, byte rows);
public:
TTestSheet(const char* titolo, const char* colonne="@1|N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Flags@7", byte bottoni=0x0);
TTestSheet(const char* titolo, byte bottoni = 0x0);
~TTestSheet() ;
void sr_status(bool save=TRUE);
};

View File

@ -22,8 +22,8 @@ extern "C" {
void cgettime(char *);
}
TTestSheet::TTestSheet(const char* titolo, const char* colonne,byte bottoni)
:TDir_sheet(titolo, colonne, bottoni)
TTestSheet::TTestSheet(const char* titolo, byte bottoni)
:TDir_sheet(titolo, bottoni, "@1|N.@5|Nome@20|EOD@7|EOX@7|Lung. |Descrizione@43|Flags@7")
{}
TTestSheet::~TTestSheet()

View File

@ -28,6 +28,8 @@ int main(int argc, char** argv)
rt = ba3700(argc,argv) ; break;
case 7:
rt = ba3800(argc,argv) ; break;
case 8:
rt = ba3900(argc,argv) ; break;
default:
error_box(usage, argv[0]) ; break;
}

View File

@ -9,5 +9,6 @@ int ba3500(int argc, char* argv[]);
int ba3600(int argc, char* argv[]);
int ba3700(int argc, char* argv[]);
int ba3800(int argc, char* argv[]);
int ba3900(int argc, char* argv[]);
#endif // __BA3_H

View File

@ -53,3 +53,12 @@ MENUBAR MENU_BAR(7)
MENU MENU_BAR(7)
SUBMENU MENU_FILE "~File"
/*
* ba3 -8
*/
MENUBAR MENU_BAR(8)
MENU MENU_BAR(8)
SUBMENU MENU_FILE "~File"

View File

@ -2,13 +2,13 @@
#include "batbban.h"
TOOLBAR "" 0 18 0 3
/*
BUTTON DLG_NULL 8
BEGIN
PROMPT -16 -3 "~Delega"
MESSAGE RUN,ba2,-0,del#F_CODICEABI
END
*/
#include <toolbar.h>
ENDPAGE

View File

@ -42,14 +42,17 @@ BEGIN
FLAGS "U"
FIELD NUMREG
USE LF_INDLIB
JOIN %LBU INTO CODTAB=ANNO+CODLIB
// JOIN %LBU INTO CODTAB=ANNO+CODLIB
INPUT ANNO F_ANNO
INPUT CODLIB F_CODLIB
INPUT NUMREG F_INDEX
DISPLAY "Anno" ANNO
DISPLAY "Codice Libro Unico" CODLIB
// DISPLAY "Descrizione@50" %LBU->S0
DISPLAY "Indice@7" NUMREG
DISPLAY "Descrizione@50" %LBU->S0
DISPLAY "Ditta" CODDITTA
DISPLAY "Mese" MESEREG
DISPLAY "Registro" CODREG
OUTPUT F_ANNO ANNO
OUTPUT F_CODLIB CODLIB
OUTPUT F_INDEX NUMREG

View File

@ -101,7 +101,7 @@ BEGIN
HELP "Codice del libro sociale a cui fa riferimento il registro"
END
LIST F_TIPO 26
LIST F_TIPO 1 26
BEGIN
PROMPT 30 5 "Tipo "
HELP "Tipo di registro"

View File

@ -90,7 +90,7 @@
8|IV direttiva CEE|ba3 -7 D
9|Prima nota|2|7
9|Prima nota|cg2 -0
9|Elimina movimenti provvisori|cg2 -1
9|Gestione movimenti provvisori|cg2 -1
9|IVA|10|5
9|Lista movimenti|cg3 -0
9|Stampa Mastrini|cg3 -1
@ -103,6 +103,8 @@
10|IVA|2|5
10|Parametri liquidazione|cg5 -3
10|Liquidazione|cg4 -2
10|Estrazione deleghe|cg4 -2 -D
10|Calcolo acconti|cg4 -2 -A
10|Visualizzazione liquidazione|cg5 -5
10|Deleghe|ba3 -0 %del
10|Stampa deleghe|cg1 -3
@ -129,7 +131,7 @@
13|Servizio|16|7
14|Gestione libro unico|2|7
14|Gestione libro unico|ba3 -0 %lbu
14|Gestione indici libro unico|ba3 -0 %inl
14|Gestione indici libro unico|ba3 -8
14|Tabella vidimazioni|ba3 -0 %vid
14|Stampa indici libro unico|ba3 -5
14|Ripristino indici libro unico|cg5 -4 inl