Patch level : 02.00.303
Files correlati : Ricompilazione Demo : [ ] Commento : Ripotata la versione Partners 2.0 patch 302 sul main trunk git-svn-id: svn://10.65.10.50/trunk@10387 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
f991f0834a
commit
3849f63cf0
125
ba/ba0.cpp
125
ba/ba0.cpp
@ -31,7 +31,7 @@
|
|||||||
#define PREFERRED_MENU M_STYLE
|
#define PREFERRED_MENU M_STYLE
|
||||||
|
|
||||||
#ifdef XVAGA
|
#ifdef XVAGA
|
||||||
#define MEN_FILE "bacampo.men"
|
#define MEN_FILE "bamenu.men"
|
||||||
#else
|
#else
|
||||||
#define MEN_FILE "baprassi.men"
|
#define MEN_FILE "baprassi.men"
|
||||||
#endif
|
#endif
|
||||||
@ -1290,18 +1290,15 @@ bool TMenu_application::menu_find_handler(TMask_field&f, KEY k)
|
|||||||
int TMenu_application::do_level()
|
int TMenu_application::do_level()
|
||||||
{
|
{
|
||||||
const TSubmenu& curr = _menu.current();
|
const TSubmenu& curr = _menu.current();
|
||||||
|
|
||||||
const int width = 78;
|
|
||||||
const int height = 18;
|
|
||||||
const int bwidth = 20;
|
const int bwidth = 20;
|
||||||
|
|
||||||
TImage& image = _menu.image(curr.picture());
|
TImage& image = _menu.image(curr.picture());
|
||||||
|
|
||||||
TPicture_mask mask(curr.caption(), width, height, &image);
|
TPicture_mask mask(curr.caption(), -4, -2, &image);
|
||||||
CHECK(_mask == NULL, "Two masks are better than one?");
|
CHECK(_mask == NULL, "Two masks are better than one?");
|
||||||
_mask = &mask;
|
_mask = &mask;
|
||||||
|
|
||||||
const int x = width / 2;
|
const int x = mask.columns() / 2;;
|
||||||
int y = 1;
|
int y = 1;
|
||||||
|
|
||||||
TString caption;
|
TString caption;
|
||||||
@ -1320,21 +1317,13 @@ int TMenu_application::do_level()
|
|||||||
mask.disable(id);
|
mask.disable(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
mask.add_static(DLG_NULL, 0, "Cerca", 1,-3);
|
TEdit_field& ef = mask.add_string(DLG_USER, 0, "Cerca ", 1, -3, 50, "", 50);
|
||||||
TEdit_field& ef = mask.add_string(DLG_USER, 0, "", -12, -3, 50, "", bwidth+1);
|
|
||||||
ef.set_handler(menu_find_handler);
|
ef.set_handler(menu_find_handler);
|
||||||
|
|
||||||
const bool top = _menu.at_top();
|
const bool top = _menu.at_top();
|
||||||
TButton_field& bf = mask.add_button(DLG_QUIT, 0, "Fine", top ? -22 : -12, -1, bwidth, 2);
|
TButton_field& bf = mask.add_button(DLG_QUIT, 0, "Fine", -12, -1, bwidth, 2);
|
||||||
if (!top)
|
if (!top)
|
||||||
{
|
|
||||||
RCT e_rct; ef.get_rect(e_rct); // Rettangolo cerca
|
|
||||||
RCT b_rct; bf.get_rect(b_rct); // Rettangolo bottone
|
|
||||||
b_rct.left = e_rct.left-2; // Aggiusta rettangolo
|
|
||||||
b_rct.right = e_rct.right+2;
|
|
||||||
bf.set_rect(b_rct); // Modifica bottone
|
|
||||||
mask.add_button(DLG_CANCEL, 0, "Menu precedente", -22, -1, bwidth, 2);
|
mask.add_button(DLG_CANCEL, 0, "Menu precedente", -22, -1, bwidth, 2);
|
||||||
}
|
|
||||||
|
|
||||||
mask.first_focus(101+_menu.selected());
|
mask.first_focus(101+_menu.selected());
|
||||||
|
|
||||||
@ -1914,90 +1903,6 @@ long TMenu_application::handler(WINDOW win, EVENT* ep)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef XVGUY
|
|
||||||
|
|
||||||
HIDDEN bool convert(const char* menuname)
|
|
||||||
{
|
|
||||||
TString tag(_MAX_FNAME);
|
|
||||||
_splitpath(menuname, NULL, NULL, tag.get_buffer(_MAX_FNAME), NULL);
|
|
||||||
tag.upper();
|
|
||||||
|
|
||||||
TFilename outname = tag; outname.ext("men");
|
|
||||||
FILE* out = fopen(outname, "w");
|
|
||||||
if (out == NULL)
|
|
||||||
{
|
|
||||||
error_box("Can't write output file %s", (const char*)outname);
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
TToken_string line;
|
|
||||||
TString256 tmp;
|
|
||||||
|
|
||||||
int lastid = -1;
|
|
||||||
int lastitem = 0;
|
|
||||||
|
|
||||||
TScanner mnu(menuname);
|
|
||||||
while (mnu.ok())
|
|
||||||
{
|
|
||||||
line = mnu.line();
|
|
||||||
if (line.empty())
|
|
||||||
break;
|
|
||||||
|
|
||||||
int menuid = line.get_int(0);
|
|
||||||
if (menuid != lastid)
|
|
||||||
{
|
|
||||||
if (lastid >= 0)
|
|
||||||
fputc('\n', out);
|
|
||||||
fprintf(out, "[%s_%03d]\n", (const char*)tag, menuid);
|
|
||||||
fprintf(out, "Caption = \"%s\"\n", line.get());
|
|
||||||
fprintf(out, "Picture = <ba%02d.bmp>\n", line.get_int());
|
|
||||||
fprintf(out, "Module = %d\n", line.get_int());
|
|
||||||
fputs("Flags = \"\"\n", out);
|
|
||||||
|
|
||||||
lastid = menuid;
|
|
||||||
lastitem = 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
tmp.format("Item_%02d = \"%s\", ", ++lastitem, line.get());
|
|
||||||
TString256 action = line.get();
|
|
||||||
int jump = atoi(action);
|
|
||||||
if (jump > 0 && jump < 730)
|
|
||||||
{
|
|
||||||
action.format("[%s_%03d]", (const char*)tag, jump);
|
|
||||||
tmp << action;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (action == "DISABLED")
|
|
||||||
action.cut(0);
|
|
||||||
|
|
||||||
tmp << '\"' << action << "\", \"";
|
|
||||||
|
|
||||||
if (action.empty())
|
|
||||||
tmp << 'D';
|
|
||||||
|
|
||||||
if (action.compare("cg", 2, TRUE) == 0)
|
|
||||||
tmp << 'F';
|
|
||||||
|
|
||||||
const char* mod = line.get(); // Eventuale 'P'assword
|
|
||||||
if (mod && *mod == 'P')
|
|
||||||
tmp << 'P';
|
|
||||||
|
|
||||||
tmp << '\"';
|
|
||||||
}
|
|
||||||
tmp << '\n';
|
|
||||||
fputs(tmp, out);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose(out);
|
|
||||||
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TMenu_tree
|
// TMenu_tree
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -2661,14 +2566,12 @@ int main(int argc, char** argv)
|
|||||||
{
|
{
|
||||||
TApplication::check_parameters(argc, argv);
|
TApplication::check_parameters(argc, argv);
|
||||||
|
|
||||||
#ifdef XVGUY
|
|
||||||
if (user().blank())
|
if (user().blank())
|
||||||
{
|
{
|
||||||
char name[16];
|
char name[16];
|
||||||
if (aga_get_user_name(name, 16))
|
if (aga_get_user_name(name, 16))
|
||||||
user() = name;
|
user() = name;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
if (user().blank())
|
if (user().blank())
|
||||||
{
|
{
|
||||||
TConfig prawin(CONFIG_INSTALL, "Main");
|
TConfig prawin(CONFIG_INSTALL, "Main");
|
||||||
@ -2677,24 +2580,6 @@ int main(int argc, char** argv)
|
|||||||
|
|
||||||
TFilename menu = (argc < 2) ? MEN_FILE : argv[1];
|
TFilename menu = (argc < 2) ? MEN_FILE : argv[1];
|
||||||
|
|
||||||
#ifndef XVAGA
|
|
||||||
TString ext = menu.ext(); ext.lower();
|
|
||||||
if (ext == "men" && !menu.exist())
|
|
||||||
ext.cut(0);
|
|
||||||
if (ext != "men")
|
|
||||||
{
|
|
||||||
if (ext.empty())
|
|
||||||
menu.ext("mnu");
|
|
||||||
TFilename newmenu(menu);
|
|
||||||
newmenu.ext("men");
|
|
||||||
if (newmenu == "prassi.men")
|
|
||||||
newmenu == "baprassi.men";
|
|
||||||
if (menu.exist() && !newmenu.exist())
|
|
||||||
convert(menu);
|
|
||||||
menu = newmenu;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (menu.exist())
|
if (menu.exist())
|
||||||
{
|
{
|
||||||
TMenu_application *ma = new TMenu_application(menu);
|
TMenu_application *ma = new TMenu_application(menu);
|
||||||
|
@ -77,13 +77,11 @@ void TPackFiles_application::search_blanks(TSystemisamfile& f)
|
|||||||
|
|
||||||
f.open(_excllock, TRUE);
|
f.open(_excllock, TRUE);
|
||||||
const long records = f.items();
|
const long records = f.items();
|
||||||
TProgind p(records, "Ricerca records vuoti in corso...", TRUE, TRUE, 70);
|
|
||||||
TString k;
|
TString k;
|
||||||
|
|
||||||
for (long i = 0; f.status() == NOERR && i < records; i++)
|
for (long i = 0; f.status() == NOERR && i < records; i++)
|
||||||
{
|
{
|
||||||
f.readat(i + 1); // Legge per numero di record, evitando falli di indice...
|
f.readat(i + 1); // Legge per numero di record, evitando falli di indice...
|
||||||
p.setstatus(i + 1);
|
|
||||||
k = f.curr().key(); // Chiave 1; non puo' essere vuota (anche perche' no si puo' scrivere un record vuoto)
|
k = f.curr().key(); // Chiave 1; non puo' essere vuota (anche perche' no si puo' scrivere un record vuoto)
|
||||||
if (f.curr().empty() || k.trim().empty()) // Teoricamente ce ne sarebbe uno solo...
|
if (f.curr().empty() || k.trim().empty()) // Teoricamente ce ne sarebbe uno solo...
|
||||||
{ // ma se l'indice e' rovinato possono esserci piu' records vuoti
|
{ // ma se l'indice e' rovinato possono esserci piu' records vuoti
|
||||||
@ -113,8 +111,12 @@ void TPackFiles_application::main_loop()
|
|||||||
TString cmd;
|
TString cmd;
|
||||||
TDir d;
|
TDir d;
|
||||||
TDir ds;
|
TDir ds;
|
||||||
for (int i = 2; i<=items; i++) // Skip LF_DIR
|
TProgind p(items, "Compattazione in corso...", TRUE, TRUE );
|
||||||
|
for (long i = 2; i<=items; i++) // Skip LF_DIR
|
||||||
{
|
{
|
||||||
|
p.setstatus(i);
|
||||||
|
if (p.iscancelled())
|
||||||
|
break;
|
||||||
if (!_selsheet->checked(i-1))
|
if (!_selsheet->checked(i-1))
|
||||||
continue;
|
continue;
|
||||||
d.get(i);
|
d.get(i);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
#include <agasys.h>
|
|
||||||
|
|
||||||
|
#include <agasys.h>
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
#include <dongle.h>
|
#include <dongle.h>
|
||||||
@ -936,7 +936,7 @@ protected:
|
|||||||
virtual const TFilename& build_export_path(TFilename& path) const;
|
virtual const TFilename& build_export_path(TFilename& path) const;
|
||||||
|
|
||||||
virtual bool zip_file(const char* archive, const char* file) const;
|
virtual bool zip_file(const char* archive, const char* file) const;
|
||||||
virtual int split_file(const TFilename& file, long size) const;
|
virtual int split_file(const TFilename& file, size_t size) const;
|
||||||
virtual bool move_file(const TFilename& file, const char* dir) const;
|
virtual bool move_file(const TFilename& file, const char* dir) const;
|
||||||
virtual bool zip_module(const TString& module, bool agg, int patch_level) const;
|
virtual bool zip_module(const TString& module, bool agg, int patch_level) const;
|
||||||
|
|
||||||
@ -1580,21 +1580,12 @@ void TFascicolator_mask::save()
|
|||||||
bool TCreadischi_mask::zip_file(const char* archive, const char* listfile) const
|
bool TCreadischi_mask::zip_file(const char* archive, const char* listfile) const
|
||||||
{
|
{
|
||||||
TString msg;
|
TString msg;
|
||||||
msg << "Creazione del file temporaneo " << archive << "...";
|
msg << "Creazione del file compresso " << archive << "...";
|
||||||
|
|
||||||
TIndwin waitw(100,msg,FALSE,FALSE);
|
TIndwin waitw(100,msg,FALSE,FALSE);
|
||||||
TWait_cursor hourglass;
|
TWait_cursor hourglass;
|
||||||
|
|
||||||
#ifdef XVAGA
|
|
||||||
return aga_zip_filelist(listfile, archive);
|
return aga_zip_filelist(listfile, archive);
|
||||||
#else
|
|
||||||
TFilename cmd;
|
|
||||||
int err=0;
|
|
||||||
cmd << "zip.pif " << archive << ' ' << listfile;
|
|
||||||
TExternal_app app(cmd);
|
|
||||||
err = app.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
return err == 0;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TCreadischi_mask::move_file(const TFilename& file, const char* dir) const
|
bool TCreadischi_mask::move_file(const TFilename& file, const char* dir) const
|
||||||
@ -1641,55 +1632,47 @@ bool TCreadischi_mask::move_file(const TFilename& file, const char* dir) const
|
|||||||
return write_ok;
|
return write_ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
int TCreadischi_mask::split_file(const TFilename& archive, long size) const
|
// Dato il file Pippo.zip lo splitta in Pippo1.zip, Pippo2.zip, Pippo?.zip
|
||||||
|
int TCreadischi_mask::split_file(const TFilename& archive, size_t chunk_size) const
|
||||||
{
|
{
|
||||||
TWait_cursor hourglass;
|
|
||||||
|
|
||||||
int disks = 1;
|
int disks = 1;
|
||||||
if (size > 0L)
|
const size_t tot_size = ::fsize(archive);
|
||||||
|
if (chunk_size > 0 && chunk_size < tot_size)
|
||||||
{
|
{
|
||||||
TFilename sommario(archive);
|
TFilename sommario(archive);
|
||||||
sommario.ext("ini");
|
sommario.ext("ini");
|
||||||
size -= ::fsize(sommario);
|
chunk_size -= ::fsize(sommario);
|
||||||
const long minsize = 360*1024L;
|
const long minsize = 720*1024L;
|
||||||
if (size < minsize)
|
if (chunk_size < minsize)
|
||||||
size = minsize;
|
chunk_size = minsize;
|
||||||
|
|
||||||
DIRECTORY curdir, tmpdir;
|
FILE* inf = fopen(archive, "rb");
|
||||||
xvt_fsys_get_dir(&curdir); // Legge directory corrente
|
if (inf == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
// Costruisce percorso assoluto dello splitter
|
TString msg; msg << "Separazione del file " << archive << "...";
|
||||||
TFilename cmd;
|
TProgind pi(tot_size, msg, FALSE, TRUE);
|
||||||
xvt_fsys_convert_dir_to_str(&curdir, cmd.get_buffer(), cmd.size());
|
|
||||||
cmd.add("zipsplit.pif");
|
|
||||||
cmd << " -n " << size << " -b " << archive.path() << ' ' << archive;
|
|
||||||
|
|
||||||
// Salta alla directory temporanea
|
byte* buff = new byte[chunk_size];
|
||||||
xvt_fsys_convert_str_to_dir((char*)archive.path(), &tmpdir);
|
for (int d = 1; ; d++)
|
||||||
xvt_fsys_set_dir(&tmpdir);
|
{
|
||||||
// Esegue lo splitter nella directory temporanea
|
const size_t r = fread(buff, 1, chunk_size, inf);
|
||||||
TExternal_app app(cmd);
|
pi.addstatus(r);
|
||||||
int err = app.run(FALSE, FALSE, FALSE, FALSE);
|
if (r > 0)
|
||||||
// Torna nella directory principale
|
{
|
||||||
xvt_fsys_set_dir(&curdir);
|
TFilename chunk(archive);
|
||||||
|
chunk.ext(""); chunk << d; chunk.ext("zip");
|
||||||
|
FILE* ouf = fopen(chunk, "wb");
|
||||||
|
fwrite(buff, r, 1, ouf);
|
||||||
|
fclose(ouf);
|
||||||
|
disks = d;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
delete buff;
|
||||||
|
fclose(inf);
|
||||||
|
|
||||||
if (err != NOERR)
|
|
||||||
return error_box("Errore %d durante lo splitting del file %s",
|
|
||||||
err, (const char*)archive);
|
|
||||||
|
|
||||||
// Conta il numero di dischetti generati
|
|
||||||
TFilename src;
|
|
||||||
for (int d = 2; ; d++)
|
|
||||||
{
|
|
||||||
src = archive;
|
|
||||||
src.ext("");
|
|
||||||
src << d;
|
|
||||||
src.ext("zip");
|
|
||||||
if (::fexist(src))
|
|
||||||
disks = d;
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
::remove(archive);
|
::remove(archive);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1899,14 +1882,11 @@ bool TCreadischi_mask::zip_module(const TString& main_module, bool agg, int patc
|
|||||||
::remove(filelist); // elimina il file lista-file
|
::remove(filelist); // elimina il file lista-file
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
zip_file(archivio, filelist); // Compatto gli eventuali ultimi rimasti
|
zip_file(archivio, filelist); // Compatto gli eventuali ultimi rimasti
|
||||||
::remove(filelist); // elimina il file lista-file
|
::remove(filelist); // elimina il file lista-file
|
||||||
|
|
||||||
msg.cut(0);
|
const size_t size = get_long(F_DISKSIZE) * 1024;
|
||||||
msg << "Separazione del file " << archivio << " ...";
|
|
||||||
TIndwin pi(60, msg, FALSE, FALSE);
|
|
||||||
|
|
||||||
const long size = get_long(F_DISKSIZE) * 1024;
|
|
||||||
const int disks = split_file(archivio, size);
|
const int disks = split_file(archivio, size);
|
||||||
|
|
||||||
// Memorizza il numero dei dischetti nel sommario
|
// Memorizza il numero dei dischetti nel sommario
|
||||||
@ -1916,6 +1896,8 @@ bool TCreadischi_mask::zip_module(const TString& main_module, bool agg, int patc
|
|||||||
const char drive = toupper(path[0]);
|
const char drive = toupper(path[0]);
|
||||||
const bool floppy = os_is_removable_drive(path);
|
const bool floppy = os_is_removable_drive(path);
|
||||||
|
|
||||||
|
msg = "Creazione file "; msg << archivio;
|
||||||
|
TProgind pi(disks, msg, FALSE, TRUE);
|
||||||
for (int d = 1; d <= disks && !aborted; d++)
|
for (int d = 1; d <= disks && !aborted; d++)
|
||||||
{
|
{
|
||||||
if (floppy)
|
if (floppy)
|
||||||
@ -1931,6 +1913,7 @@ bool TCreadischi_mask::zip_module(const TString& main_module, bool agg, int patc
|
|||||||
msg << "Generazione del disco " << d << " di " << disks
|
msg << "Generazione del disco " << d << " di " << disks
|
||||||
<< " del modulo " << main_module << " ...";
|
<< " del modulo " << main_module << " ...";
|
||||||
pi.set_text(msg);
|
pi.set_text(msg);
|
||||||
|
pi.addstatus(1);
|
||||||
do_events();
|
do_events();
|
||||||
|
|
||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include "ba1600a.h"
|
#include "ba1600a.h"
|
||||||
|
|
||||||
TOOLBAR "" 0 20 0 2
|
TOOLBAR "" 0 -2 0 2
|
||||||
|
|
||||||
BUTTON DLG_OK 10 2
|
BUTTON DLG_OK 10 2
|
||||||
BEGIN
|
BEGIN
|
||||||
@ -18,22 +18,22 @@ PAGE "Generazione dischetti" -1 -1 78 20
|
|||||||
|
|
||||||
GROUPBOX DLG_NULL 78 3
|
GROUPBOX DLG_NULL 78 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 0 "Parametri unita'"
|
PROMPT 1 0 "@bParametri disco destinazione"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_DISKSIZE 5
|
NUMBER F_DISKSIZE 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 1 "Dimensione (K) "
|
PROMPT 2 1 "Dimensione (Kb) "
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_DISKPATH 50 40
|
STRING F_DISKPATH 80 40
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 25 1 "Percorso "
|
PROMPT 26 1 "Percorso "
|
||||||
END
|
END
|
||||||
|
|
||||||
SPREADSHEET F_SHEET
|
SPREADSHEET F_SHEET
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 ""
|
PROMPT 1 3 ""
|
||||||
ITEM "Modulo@30"
|
ITEM "Modulo@30"
|
||||||
ITEM "Cod."
|
ITEM "Cod."
|
||||||
ITEM "Versione"
|
ITEM "Versione"
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
#include <agasys.h>
|
||||||
#include <applicat.h>
|
#include <applicat.h>
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
#include <dongle.h>
|
#include <dongle.h>
|
||||||
@ -8,8 +9,6 @@
|
|||||||
#include <sheet.h>
|
#include <sheet.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#include <agasys.h>
|
|
||||||
|
|
||||||
#include "ba1.h"
|
#include "ba1.h"
|
||||||
#include "ba1500.h"
|
#include "ba1500.h"
|
||||||
#include "ba1600.h"
|
#include "ba1600.h"
|
||||||
@ -694,8 +693,7 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
{
|
{
|
||||||
// esiste un particolare .ini con formato XXinst.ini (moduli) o con XX9999a.ini (patch)
|
// esiste un particolare .ini con formato XXinst.ini (moduli) o con XX9999a.ini (patch)
|
||||||
// (installazione da directory con .zip)
|
// (installazione da directory con .zip)
|
||||||
TInstall_ini *ini;
|
TInstall_ini* ini = new TInstall_ini(ininame);
|
||||||
ini = new TInstall_ini(ininame);
|
|
||||||
ini->write_protect();
|
ini->write_protect();
|
||||||
lastpatch=ini->get_int("Patch",module);
|
lastpatch=ini->get_int("Patch",module);
|
||||||
lastrelease=ini->get("Versione",module);
|
lastrelease=ini->get("Versione",module);
|
||||||
@ -729,45 +727,47 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
TProgind pi(dischi, msg, FALSE, TRUE);
|
TProgind pi(dischi, msg, FALSE, TRUE);
|
||||||
TFilename tempdir; tempdir.tempdir();
|
TFilename tempdir; tempdir.tempdir();
|
||||||
|
|
||||||
TFilename cmdline;
|
// File tottale dei vari sotto-zip
|
||||||
|
TFilename totti = tempdir; totti.add(module); totti.ext("zip");
|
||||||
|
|
||||||
for (int d = 1; d <= dischi && ok; d++)
|
for (int d = 1; d <= dischi && ok; d++)
|
||||||
{
|
{
|
||||||
cmdline = path;
|
TFilename chunk = path;
|
||||||
cmdline.add(module);
|
chunk.add(module);
|
||||||
if (patchlevel > 0)
|
if (patchlevel > 0)
|
||||||
{
|
{
|
||||||
TString16 name;
|
TString16 name;
|
||||||
name.format("%04da", patchlevel);
|
name.format("%04da", patchlevel);
|
||||||
cmdline << name;
|
chunk << name;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
cmdline << "inst";
|
chunk << "inst";
|
||||||
cmdline << d << ".zip";
|
chunk << d << ".zip";
|
||||||
|
|
||||||
if (internet && !cmdline.exist())
|
if (internet && !chunk.exist())
|
||||||
{
|
{
|
||||||
TFilename remote = cmdline.name();
|
TFilename remote = chunk.name();
|
||||||
remote.insert(http_path, 0);
|
remote.insert(http_path, 0);
|
||||||
if (!http_get(http_server, remote, cmdline))
|
if (!http_get(http_server, remote, chunk))
|
||||||
error_box("Errore di trasferimento del file '%s'", (const char*)remote);
|
error_box("Errore di trasferimento del file '%s'", (const char*)remote);
|
||||||
}
|
}
|
||||||
|
|
||||||
ok = cmdline.exist();
|
ok = chunk.exist();
|
||||||
if (!ok && !internet) // Chiedi cambio disco (sole se non sta scaricando da internet)
|
if (!ok && !internet) // Chiedi cambio disco (solo se non sta scaricando da internet)
|
||||||
{
|
{
|
||||||
while (!ok)
|
while (!ok)
|
||||||
{
|
{
|
||||||
if (askdisk(path,cmdline,d,dischi,(const char*)ini->get("Descrizione"))==K_QUIT)
|
if (askdisk(path,chunk,d,dischi,(const char*)ini->get("Descrizione"))==K_QUIT)
|
||||||
break;
|
break;
|
||||||
ok = fexist(cmdline);
|
ok = chunk.exist();
|
||||||
if (!ok)
|
if (!ok)
|
||||||
message_box("Impossibile trovare il file '%s'",(const char*)cmdline);
|
message_box("Impossibile trovare il file '%s'",(const char*)chunk);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
const long required = fsize(cmdline) * (dischi-d+1) * 4;
|
const long required = fsize(chunk) * (dischi-d+1) * 4;
|
||||||
if (!os_test_disk_free_space(tempdir, required))
|
if (!os_test_disk_free_space(tempdir, required))
|
||||||
{
|
{
|
||||||
ok = yesno_box("Lo spazio su disco potrebbe essere insufficiente:\n"
|
ok = yesno_box("Lo spazio su disco potrebbe essere insufficiente:\n"
|
||||||
@ -777,27 +777,23 @@ bool TInstaller_mask::install(const TString& module, int patchlevel)
|
|||||||
|
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
TWait_cursor hourglass;
|
fcopy(chunk, totti, d > 1); // Somma il chunk al totale
|
||||||
#ifdef XVAGA
|
|
||||||
aga_unzip(cmdline, tempdir);
|
|
||||||
#else
|
|
||||||
cmdline.insert("unzip.pif -o ", 0);
|
|
||||||
cmdline << " -d " << tempdir;
|
|
||||||
TExternal_app app(cmdline);
|
|
||||||
ok = app.run(FALSE, FALSE, FALSE, FALSE) == 0;
|
|
||||||
#endif
|
|
||||||
pi.addstatus(1);
|
pi.addstatus(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
aga_unzip(totti, tempdir); // Scompatta il file totale
|
||||||
|
::remove(totti);
|
||||||
|
|
||||||
// ***************
|
// ***************
|
||||||
// trasferimento
|
// trasferimento
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
// si assicura che sia leggibile il .ini del primo disco
|
// si assicura che sia leggibile il .ini del primo disco
|
||||||
do {
|
do
|
||||||
cmdline = path;
|
{
|
||||||
|
TFilename cmdline = path;
|
||||||
cmdline.add(ininame.name());
|
cmdline.add(ininame.name());
|
||||||
ok = fexist(cmdline);
|
ok = cmdline.exist();
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
if (askdisk(path,cmdline,1,dischi,(const char*)ini->get("Descrizione"))==K_QUIT)
|
if (askdisk(path,cmdline,1,dischi,(const char*)ini->get("Descrizione"))==K_QUIT)
|
||||||
|
@ -456,12 +456,7 @@ void TArchive_app::load_zip_files(const TFilename& floppy_path)
|
|||||||
{
|
{
|
||||||
TFilename exdir;
|
TFilename exdir;
|
||||||
exdir = firm2dir(-1); exdir.add(dst.name()); exdir.ext("");
|
exdir = firm2dir(-1); exdir.add(dst.name()); exdir.ext("");
|
||||||
|
aga_unzip(dst, exdir);
|
||||||
TString cmdline;
|
|
||||||
cmdline << "unzip.pif -o " << dst << " -d " << exdir;
|
|
||||||
|
|
||||||
TExternal_app app(cmdline);
|
|
||||||
app.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,7 +125,6 @@ bool TQuery_application::create()
|
|||||||
{
|
{
|
||||||
open_files(LF_SOCI, LF_ANAG, LF_NDITTE,0);
|
open_files(LF_SOCI, LF_ANAG, LF_NDITTE,0);
|
||||||
_mask = new TMask("ba5000");
|
_mask = new TMask("ba5000");
|
||||||
dispatch_e_menu(MENU_ITEM(1));
|
|
||||||
return TSkeleton_application::create();
|
return TSkeleton_application::create();
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
@ -485,7 +485,7 @@ bool TAnaprint_app::user_create()
|
|||||||
_bk_ditta = _bk_ana = _bk_socio = _bk_attiv = _bk_registro = _bk_unloc = -1;
|
_bk_ditta = _bk_ana = _bk_socio = _bk_attiv = _bk_registro = _bk_unloc = -1;
|
||||||
|
|
||||||
TToken_string rxp(40);
|
TToken_string rxp(40);
|
||||||
TProgind p(5, "Preparazione archivi\rPrego attendere", FALSE, TRUE, 30);
|
TProgind p(5, "Preparazione archivi\rPrego attendere", FALSE, TRUE);
|
||||||
|
|
||||||
// setup relation
|
// setup relation
|
||||||
_rel_fis = new TRelation(LF_ANAG);
|
_rel_fis = new TRelation(LF_ANAG);
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
[PRASSI_000]
|
[MENU_000]
|
||||||
Caption = "Menu Principale"
|
Caption = "Menu Principale"
|
||||||
Picture = <ba00.bmp>
|
Picture = <ba00.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Anagrafiche di base", [PRASSI_001]
|
Item_01 = "Anagrafiche di base", [MENU_001]
|
||||||
Item_02 = "Amministrazione", <cgarea.men>
|
Item_02 = "Amministrazione", <cgarea.men>
|
||||||
Item_03 = "Acquisti e vendite", <vearea.men>
|
Item_03 = "Acquisti e vendite", <vearea.men>
|
||||||
Item_04 = "Magazzino e Produzione", <mgarea.men>
|
Item_04 = "Magazzino e Produzione", <mgarea.men>
|
||||||
Item_11 = "Comunicazione", [PRASSI_019]
|
Item_11 = "Comunicazione", [MENU_019]
|
||||||
Item_11 = "Manutenzione", [PRASSI_015]
|
Item_11 = "Manutenzione", [MENU_015]
|
||||||
|
|
||||||
[PRASSI_001]
|
[MENU_001]
|
||||||
Caption = "Gestione Anagrafiche"
|
Caption = "Gestione Anagrafiche"
|
||||||
Picture = <ba01.bmp>
|
Picture = <ba01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -19,14 +19,14 @@ Item_01 = "Persone fisiche", "ba4 -1 F", ""
|
|||||||
Item_02 = "Persone giuridiche", "ba4 -1 G", ""
|
Item_02 = "Persone giuridiche", "ba4 -1 G", ""
|
||||||
Item_03 = "Ditte", "ba4 -2", ""
|
Item_03 = "Ditte", "ba4 -2", ""
|
||||||
Item_04 = "Ricerca Soci", "ba5", ""
|
Item_04 = "Ricerca Soci", "ba5", ""
|
||||||
Item_05 = "Tabelle ministeriali", [PRASSI_011]
|
Item_05 = "Tabelle ministeriali", [MENU_011]
|
||||||
Item_06 = "Tabelle", [PRASSI_002]
|
Item_06 = "Tabelle", [MENU_002]
|
||||||
Item_07 = "Stampa anagrafiche", "ba6 -0", ""
|
Item_07 = "Stampa anagrafiche", "ba6 -0", ""
|
||||||
Item_08 = "Stampa tabelle", [PRASSI_003]
|
Item_08 = "Stampa tabelle", [MENU_003]
|
||||||
Item_09 = "Stampa tabelle ministeriali", [PRASSI_012]
|
Item_09 = "Stampa tabelle ministeriali", [MENU_012]
|
||||||
Item_10 = "Stampa fogli libri bollati", "ba3 -2", ""
|
Item_10 = "Stampa fogli libri bollati", "ba3 -2", ""
|
||||||
|
|
||||||
[PRASSI_002]
|
[MENU_002]
|
||||||
Caption = "Tabelle"
|
Caption = "Tabelle"
|
||||||
Picture = <ba02.bmp>
|
Picture = <ba02.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -43,7 +43,7 @@ Item_09 = "Vecchi cod.Attivita'", "ba3 -0 %ois", ""
|
|||||||
Item_10 = "Stati esteri", "ba3 -0 %sta", ""
|
Item_10 = "Stati esteri", "ba3 -0 %sta", ""
|
||||||
Item_11 = "Gestione profili deleghe e distinte", "ba2 -0", ""
|
Item_11 = "Gestione profili deleghe e distinte", "ba2 -0", ""
|
||||||
|
|
||||||
[PRASSI_003]
|
[MENU_003]
|
||||||
Caption = "Stampa tabelle"
|
Caption = "Stampa tabelle"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -59,7 +59,7 @@ Item_08 = "Cariche sociali", "ba3 -1 %crs", ""
|
|||||||
Item_09 = "Vecchi cod.Attivita'", "ba3 -1 %ois", ""
|
Item_09 = "Vecchi cod.Attivita'", "ba3 -1 %ois", ""
|
||||||
Item_10 = "Stati esteri", "ba3 -1 %sta", ""
|
Item_10 = "Stati esteri", "ba3 -1 %sta", ""
|
||||||
|
|
||||||
[PRASSI_011]
|
[MENU_011]
|
||||||
Caption = "Tabelle ministeriali"
|
Caption = "Tabelle ministeriali"
|
||||||
Picture = <ba02.bmp>
|
Picture = <ba02.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -72,7 +72,7 @@ Item_05 = "Uffici IVA", "ba3 -0 %uiv", ""
|
|||||||
Item_06 = "Uffici registro", "ba3 -0 %ure", ""
|
Item_06 = "Uffici registro", "ba3 -0 %ure", ""
|
||||||
Item_07 = "Centri servizio", "ba3 -0 %ucs", ""
|
Item_07 = "Centri servizio", "ba3 -0 %ucs", ""
|
||||||
|
|
||||||
[PRASSI_012]
|
[MENU_012]
|
||||||
Caption = "Stampa tabelle ministeriali"
|
Caption = "Stampa tabelle ministeriali"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -84,7 +84,7 @@ Item_04 = "Uffici IVA", "ba3 -1 %uiv", ""
|
|||||||
Item_05 = "Uffici registro", "ba3 -1 %ure", ""
|
Item_05 = "Uffici registro", "ba3 -1 %ure", ""
|
||||||
Item_06 = "Centri servizio", "ba3 -1 %ucs", ""
|
Item_06 = "Centri servizio", "ba3 -1 %ucs", ""
|
||||||
|
|
||||||
[PRASSI_015]
|
[MENU_015]
|
||||||
Caption = "Manutenzione"
|
Caption = "Manutenzione"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -96,9 +96,9 @@ Item_04 = "Attivazione moduli", "ba1 -4", ""
|
|||||||
Item_05 = "Installazione moduli", "ba1 -6", ""
|
Item_05 = "Installazione moduli", "ba1 -6", ""
|
||||||
Item_06 = "Creazione dischi di installazione", "ba1 -5", ""
|
Item_06 = "Creazione dischi di installazione", "ba1 -5", ""
|
||||||
Item_07 = "Backup", "ba2 -1", ""
|
Item_07 = "Backup", "ba2 -1", ""
|
||||||
Item_08 = "Conversione all'Euro", [PRASSI_883]
|
Item_08 = "Conversione all'Euro", [MENU_883]
|
||||||
|
|
||||||
[PRASSI_019]
|
[MENU_019]
|
||||||
Caption = "Comunicazione"
|
Caption = "Comunicazione"
|
||||||
Picture = <ba05.bmp>
|
Picture = <ba05.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -107,7 +107,7 @@ Item_02 = "Gestione Fax", "bafax -s", ""
|
|||||||
Item_03 = "Archivio fax spediti e ricevuti", disabled
|
Item_03 = "Archivio fax spediti e ricevuti", disabled
|
||||||
Item_04 = "Archivio contatti telefonici", disabled
|
Item_04 = "Archivio contatti telefonici", disabled
|
||||||
|
|
||||||
[PRASSI_883]
|
[MENU_883]
|
||||||
Caption = "Conversione all'Euro"
|
Caption = "Conversione all'Euro"
|
||||||
Picture = <ba00.bmp>
|
Picture = <ba00.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -115,25 +115,25 @@ Item_01 = "Creazione nuova area dati in Euro", "baeur -0"
|
|||||||
Item_02 = "Conversione ditte in Euro", "baeur -1"
|
Item_02 = "Conversione ditte in Euro", "baeur -1"
|
||||||
Item_03 = "Chiusura/Apertura in Euro", "baeur -3", "F"
|
Item_03 = "Chiusura/Apertura in Euro", "baeur -3", "F"
|
||||||
Item_04 = "Apertura magazzino", "baeur -5", "F"
|
Item_04 = "Apertura magazzino", "baeur -5", "F"
|
||||||
Item_05 = "Stampe magazzino",[PRASSI_884], ""
|
Item_05 = "Stampe magazzino",[MENU_884], ""
|
||||||
Item_06 = "Conversione cespiti",[PRASSI_885], ""
|
Item_06 = "Conversione cespiti",[MENU_885], ""
|
||||||
Item_07 = "Manutenzione",[PRASSI_886], ""
|
Item_07 = "Manutenzione",[MENU_886], ""
|
||||||
|
|
||||||
[PRASSI_884]
|
[MENU_884]
|
||||||
Caption = "Stampe magazzino in Euro"
|
Caption = "Stampe magazzino in Euro"
|
||||||
Picture = <mg00.bmp>
|
Picture = <mg00.bmp>
|
||||||
Module = 32
|
Module = 32
|
||||||
Item_01 = "Stampa inventario", "baeur -7"
|
Item_01 = "Stampa inventario", "baeur -7"
|
||||||
Item_02 = "Stampa storico", "baeur -8"
|
Item_02 = "Stampa storico", "baeur -8"
|
||||||
|
|
||||||
[PRASSI_885]
|
[MENU_885]
|
||||||
Caption = "Conversione cespiti"
|
Caption = "Conversione cespiti"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
Item_01 = "Conversione cespiti", "ceeur -0"
|
Item_01 = "Conversione cespiti", "ceeur -0"
|
||||||
Item_02 = "Controllo arrotondamenti", "ceeur -1"
|
Item_02 = "Controllo arrotondamenti", "ceeur -1"
|
||||||
|
|
||||||
[PRASSI_886]
|
[MENU_886]
|
||||||
Caption = "Manutenzione"
|
Caption = "Manutenzione"
|
||||||
Picture = <ba00.bmp>
|
Picture = <ba00.bmp>
|
||||||
Module = 0
|
Module = 0
|
@ -16,7 +16,7 @@ BEGIN
|
|||||||
KEY 1
|
KEY 1
|
||||||
USE CMS
|
USE CMS
|
||||||
INPUT CODTAB F_CODICE
|
INPUT CODTAB F_CODICE
|
||||||
DISPLAY "Codice@10" CODTAB
|
DISPLAY "Codice@20" CODTAB
|
||||||
DISPLAY "Descrizione@50" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
OUTPUT F_CODICE CODTAB
|
OUTPUT F_CODICE CODTAB
|
||||||
OUTPUT F_DESCR S0
|
OUTPUT F_DESCR S0
|
||||||
@ -30,8 +30,8 @@ BEGIN
|
|||||||
KEY 2
|
KEY 2
|
||||||
USE CMS KEY 2
|
USE CMS KEY 2
|
||||||
INPUT S0 F_DESCR
|
INPUT S0 F_DESCR
|
||||||
DISPLAY "Descrizione@60" S0
|
DISPLAY "Descrizione@50" S0
|
||||||
DISPLAY "Codice@10" CODTAB
|
DISPLAY "Codice@20" CODTAB
|
||||||
COPY OUTPUT F_CODICE
|
COPY OUTPUT F_CODICE
|
||||||
CHECKTYPE REQUIRED
|
CHECKTYPE REQUIRED
|
||||||
WARNING "Manca la descrizione"
|
WARNING "Manca la descrizione"
|
||||||
|
@ -2,10 +2,10 @@
|
|||||||
Caption = "Amministrazione"
|
Caption = "Amministrazione"
|
||||||
Picture = <cg00.bmp>
|
Picture = <cg00.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Item_01 = "Contabilita' generale", <cgprassi.men>
|
Item_01 = "Contabilita' generale", <cgmenu.men>
|
||||||
Item_02 = "Gestione cespiti", <ceprassi.men>
|
Item_02 = "Gestione cespiti", <cemenu.men>
|
||||||
Item_03 = "Gestione percipienti", <77prassi.men>
|
Item_03 = "Gestione percipienti", <77menu.men>
|
||||||
Item_04 = "Contabilita analitica", <procomm.men>
|
Item_04 = "Contabilita analitica", <procomm.men>
|
||||||
Item_05 = "Bilanci e Analisi", <abprassi.men>
|
Item_05 = "Bilanci e Analisi", <abmenu.men>
|
||||||
Item_06 = "Elenchi Intracomunitari", <inprassi.men>
|
Item_06 = "Elenchi Intracomunitari", <inmenu.men>
|
||||||
|
|
||||||
|
215
ce/ce0.cpp
215
ce/ce0.cpp
@ -1,213 +1,16 @@
|
|||||||
#define STRICT
|
#include <xvt.h>
|
||||||
#define XVT_INCL_NATIVE
|
|
||||||
|
|
||||||
#include <applicat.h>
|
#include "ce0.h"
|
||||||
#include <execp.h>
|
|
||||||
#include <filetext.h>
|
|
||||||
#include <isam.h>
|
|
||||||
|
|
||||||
#include <anagr.h>
|
int main(int argc,char** argv)
|
||||||
#include <anafis.h>
|
|
||||||
#include <anagiu.h>
|
|
||||||
#include <nditte.h>
|
|
||||||
#include <unloc.h>
|
|
||||||
|
|
||||||
class TSESA_anagr : public TSkeleton_application
|
|
||||||
{
|
{
|
||||||
protected:
|
const int r = (argc > 1) ? (argv[1][1]-'0') : 0;
|
||||||
virtual void main_loop();
|
switch (r)
|
||||||
|
|
||||||
public:
|
|
||||||
bool is_sigla32() const;
|
|
||||||
bool split_address(TString& addr, TString& civ) const;
|
|
||||||
int write(TLocalisamfile& file, bool re);
|
|
||||||
};
|
|
||||||
|
|
||||||
bool TSESA_anagr::is_sigla32() const
|
|
||||||
{
|
|
||||||
char szBuffer[80];
|
|
||||||
GetPrivateProfileString("SIGLAPP",
|
|
||||||
"Driver32", "", szBuffer, sizeof(szBuffer), "odbc.ini");
|
|
||||||
return *szBuffer != '\0';
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TSESA_anagr::split_address(TString& addr, TString& civ) const
|
|
||||||
{
|
|
||||||
bool ok = FALSE;
|
|
||||||
char* comma = strchr(addr, ',');
|
|
||||||
if (comma == NULL)
|
|
||||||
comma = strrchr(addr, ' ');
|
|
||||||
if (comma)
|
|
||||||
{
|
{
|
||||||
for (const char* c = comma+1; *c; c++)
|
case 3: ce0400(argc,argv); break;
|
||||||
{
|
case 4: ce0500(argc,argv); break;
|
||||||
if (isdigit(*c))
|
case 8: ce0900(argc,argv); break;
|
||||||
{
|
default: ce0100(argc,argv); break;
|
||||||
*comma = '\0';
|
|
||||||
civ = comma+1;
|
|
||||||
civ = civ.left(10);
|
|
||||||
ok = TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
addr.ltrim();
|
|
||||||
addr = addr.left(35);
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TSESA_anagr::write(TLocalisamfile& file, bool re)
|
|
||||||
{
|
|
||||||
int err = re ? file.rewrite() : file.write();
|
|
||||||
if (err != NOERR)
|
|
||||||
err = re ? file.write() : file.rewrite();
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TSESA_anagr::main_loop()
|
|
||||||
{
|
|
||||||
TFilename tmp; tmp.tempdir();
|
|
||||||
TString cmdline(80);
|
|
||||||
cmdline = "dump";
|
|
||||||
if (is_sigla32())
|
|
||||||
cmdline << "32";
|
|
||||||
else
|
|
||||||
cmdline << "16";
|
|
||||||
cmdline << " ditte " << tmp;
|
|
||||||
TExternal_app app(cmdline);
|
|
||||||
int err = app.run(FALSE,3);
|
|
||||||
if (err != 0)
|
|
||||||
{
|
|
||||||
error_box("Errore %d nell'esecuzione del programma %s",
|
|
||||||
err, (const char*)cmdline);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
TFilename txt = tmp; txt.add("ditte.txt");
|
|
||||||
TFilename ini = tmp; ini.add("ditte.ini");
|
|
||||||
TFile_text file(txt, ini);
|
|
||||||
err = file.open('r');
|
|
||||||
if (err != 0)
|
|
||||||
{
|
|
||||||
::remove(ini); // Lo rimuove in caso crei vuoto il TConfig di TFile_text
|
|
||||||
error_box("Aggiornamento anagrafiche non effettuato:\n"
|
|
||||||
"impossibile aprire il file %s", (const char*)txt);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
TLocalisamfile ditte(LF_NDITTE);
|
|
||||||
TLocalisamfile anag(LF_ANAG);
|
|
||||||
TLocalisamfile anafis(LF_ANAGFIS);
|
|
||||||
TLocalisamfile anagiu(LF_ANAGGIU);
|
|
||||||
TLocalisamfile unloc(LF_UNLOC);
|
|
||||||
|
|
||||||
TString ragsoc, comres, locres, indres, civres, capres;
|
|
||||||
|
|
||||||
TRecord_text rec;
|
|
||||||
for (long rig = 1; file.read(rec) == 0; rig++)
|
|
||||||
{
|
|
||||||
const long codditta = atol(file.get_field(rec, "CODDITTA"));
|
|
||||||
if (codditta <= 0)
|
|
||||||
{
|
|
||||||
error_box("Codice ditta non valido alla riga %ld.", rig);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char tipoa = file.get_field(rec, "PERS_FIS") == "S" ? 'F' : 'G';
|
|
||||||
ragsoc = file.get_field(rec, "RAGSOC");
|
|
||||||
comres = file.get_field(rec, "COMUNE");
|
|
||||||
locres = file.get_field(rec, "LOCALITA");
|
|
||||||
indres = file.get_field(rec, "INDIR1");
|
|
||||||
indres << file.get_field(rec, "INDIR2");
|
|
||||||
split_address(indres, civres);
|
|
||||||
|
|
||||||
ditte.zero();
|
|
||||||
ditte.put(NDT_CODDITTA, codditta);
|
|
||||||
int err = ditte.read(_isequal, _lock);
|
|
||||||
|
|
||||||
ditte.put(NDT_CODDITTA, codditta);
|
|
||||||
ditte.put(NDT_TIPOA, tipoa);
|
|
||||||
ditte.put(NDT_CODANAGR, codditta);
|
|
||||||
ditte.put(NDT_RAGSOC, ragsoc);
|
|
||||||
|
|
||||||
err = write(ditte, err == NOERR);
|
|
||||||
if (err != NOERR)
|
|
||||||
error_box("Errore %d in scrittura\ndella ditta %ld", err, codditta);
|
|
||||||
|
|
||||||
anag.put(ANA_TIPOA, tipoa);
|
|
||||||
anag.put(ANA_CODANAGR, codditta);
|
|
||||||
err = anag.read(_isequal, _lock);
|
|
||||||
|
|
||||||
anag.put(ANA_TIPOA, tipoa);
|
|
||||||
anag.put(ANA_CODANAGR, codditta);
|
|
||||||
anag.put(ANA_RAGSOC, ragsoc);
|
|
||||||
anag.put(ANA_COMRES, comres);
|
|
||||||
anag.put(ANA_INDRES, indres);
|
|
||||||
anag.put(ANA_CIVRES, civres);
|
|
||||||
anag.put(ANA_CAPRES, capres);
|
|
||||||
anag.put(ANA_COFI, file.get_field(rec, "CODFISCALE"));
|
|
||||||
anag.put(ANA_PAIV, file.get_field(rec, "PART_IVA"));
|
|
||||||
|
|
||||||
err = write(anag, err == NOERR);
|
|
||||||
if (err != NOERR)
|
|
||||||
error_box("Errore %d in scrittura\ndell'anagrafica %ld", err, codditta);
|
|
||||||
|
|
||||||
if (tipoa == 'F')
|
|
||||||
{
|
|
||||||
anafis.put(ANF_CODANAGR, codditta);
|
|
||||||
err = anafis.read(_isequal, _lock);
|
|
||||||
|
|
||||||
anafis.put(ANF_CODANAGR, codditta);
|
|
||||||
anafis.put(ANF_SESSO, file.get_field(rec, "SESSO"));
|
|
||||||
anafis.put(ANF_DATANASC, file.get_field(rec, "NASCITA"));
|
|
||||||
anafis.put(ANF_COMNASC, file.get_field(rec, "COMNASC"));
|
|
||||||
|
|
||||||
err = write(anafis, err == NOERR);
|
|
||||||
if (err != NOERR)
|
|
||||||
error_box("Errore %d in scrittura\ndella persona fisica %ld", err, codditta);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
anagiu.put(ANG_CODANAGR, codditta);
|
|
||||||
err = anagiu.read(_isequal, _lock);
|
|
||||||
|
|
||||||
anagiu.put(ANG_CODANAGR, codditta);
|
|
||||||
anagiu.put(ANG_NATGIU, file.get_field(rec, "NAT_GIURID"));
|
|
||||||
|
|
||||||
err = write(anagiu, err == NOERR);
|
|
||||||
if (err != NOERR)
|
|
||||||
error_box("Errore %d in scrittura\ndella persona giuridica %ld", err, codditta);
|
|
||||||
}
|
|
||||||
|
|
||||||
unloc.put(ULC_CODDITTA, codditta);
|
|
||||||
unloc.put(ULC_CODULC, 1);
|
|
||||||
err = unloc.read(_isequal, _lock);
|
|
||||||
|
|
||||||
unloc.put(ULC_CODDITTA, codditta);
|
|
||||||
unloc.put(ULC_CODULC, 1);
|
|
||||||
unloc.put(ULC_COMULC, comres);
|
|
||||||
unloc.put(ULC_INDULC, indres);
|
|
||||||
unloc.put(ULC_CIVULC, civres);
|
|
||||||
unloc.put(ULC_CAPULC, capres);
|
|
||||||
unloc.put(ULC_COMCCIAA, comres);
|
|
||||||
unloc.put(ULC_COMTRIB, comres);
|
|
||||||
|
|
||||||
err = write(unloc, err == NOERR);
|
|
||||||
if (err != NOERR)
|
|
||||||
error_box("Errore %d in scrittura\ndell'unita' locale della ditta %ld", err, codditta);
|
|
||||||
}
|
|
||||||
if (rig <= 1)
|
|
||||||
warning_box("Non e' stata trasferita nessuna ditta");
|
|
||||||
|
|
||||||
remove(txt);
|
|
||||||
remove(ini);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char** argv)
|
|
||||||
{
|
|
||||||
TSESA_anagr app;
|
|
||||||
app.run(argc, argv, "Aggiornamento anagrafiche");
|
|
||||||
exit(0);
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
#include <mainmenu.url>
|
||||||
MENU TASK_MENUBAR
|
|
||||||
SUBMENU MENU_FILE "~File"
|
|
||||||
|
|
||||||
|
@ -81,7 +81,7 @@ bool TConversione_ce_mask::already_converted(long ditta)
|
|||||||
|
|
||||||
TFilename ditce = prefix().get_studio();
|
TFilename ditce = prefix().get_studio();
|
||||||
ditce.add("cesp/ditce");
|
ditce.add("cesp/ditce");
|
||||||
TExternisamfile oldfile(ditce, FALSE, FALSE);
|
TExternisamfile oldfile(ditce,(bool) FALSE,(bool) FALSE);
|
||||||
for (err = oldfile.first(); err == NOERR; err = oldfile.next())
|
for (err = oldfile.first(); err == NOERR; err = oldfile.next())
|
||||||
{
|
{
|
||||||
long d = oldfile.get_long("CACDD");
|
long d = oldfile.get_long("CACDD");
|
||||||
@ -289,7 +289,7 @@ int TConversione_cespiti::conv_file(const TFilename& ofname, int nflogicnum)
|
|||||||
d.eod() = 0L;
|
d.eod() = 0L;
|
||||||
d.put(nflogicnum);
|
d.put(nflogicnum);
|
||||||
|
|
||||||
TExternisamfile oldfile(ofname, FALSE, FALSE);
|
TExternisamfile oldfile(ofname,(bool) FALSE,(bool) FALSE);
|
||||||
TLocalisamfile* newfile = NULL;
|
TLocalisamfile* newfile = NULL;
|
||||||
const TRectype& oldrec = oldfile.curr();
|
const TRectype& oldrec = oldfile.curr();
|
||||||
TString s;
|
TString s;
|
||||||
@ -420,7 +420,7 @@ void TConversione_cespiti::zap_table(const char* tab) const
|
|||||||
int TConversione_cespiti::conv_tab(const TFilename& ofname, const char* tab)
|
int TConversione_cespiti::conv_tab(const TFilename& ofname, const char* tab)
|
||||||
{
|
{
|
||||||
long oldditta = -1, ditta = -1;
|
long oldditta = -1, ditta = -1;
|
||||||
TExternisamfile oldfile(ofname, FALSE, FALSE);
|
TExternisamfile oldfile(ofname,(bool)FALSE,(bool)FALSE);
|
||||||
|
|
||||||
TTable* newfile = NULL;
|
TTable* newfile = NULL;
|
||||||
TConfig config("ce0900.ini", tab);
|
TConfig config("ce0900.ini", tab);
|
||||||
@ -672,7 +672,7 @@ int TConversione_cespiti::conv_inifile(const TFilename& ofname, const char* ofpa
|
|||||||
int err = f.pack();
|
int err = f.pack();
|
||||||
if (err == NOERR)
|
if (err == NOERR)
|
||||||
{
|
{
|
||||||
TExternisamfile oldfile(ofname, FALSE, FALSE);
|
TExternisamfile oldfile(ofname,(bool)FALSE,(bool)FALSE);
|
||||||
TLocalisamfile* newfile = new TLocalisamfile(nflogicnum);
|
TLocalisamfile* newfile = new TLocalisamfile(nflogicnum);
|
||||||
TConfig config("ce0900.ini", (const char*) ofpar);
|
TConfig config("ce0900.ini", (const char*) ofpar);
|
||||||
TAssoc_array& fieldlist = config.list_variables();
|
TAssoc_array& fieldlist = config.list_variables();
|
||||||
@ -747,7 +747,7 @@ int TConversione_cespiti::conv_par(const TFilename& ofname, const char* ofpar, i
|
|||||||
{
|
{
|
||||||
long oldditta = -1;
|
long oldditta = -1;
|
||||||
long ditta;
|
long ditta;
|
||||||
TExternisamfile oldfile(ofname, FALSE, FALSE);
|
TExternisamfile oldfile(ofname,(bool)FALSE,(bool)FALSE);
|
||||||
TConfig newconfig(which_config, "ce");
|
TConfig newconfig(which_config, "ce");
|
||||||
TConfig config("ce0900.ini", (const char*) ofpar);
|
TConfig config("ce0900.ini", (const char*) ofpar);
|
||||||
TAssoc_array& fieldlist = config.list_variables();
|
TAssoc_array& fieldlist = config.list_variables();
|
||||||
|
@ -134,6 +134,8 @@ bool TPR_mask::on_field_event(TOperable_field& f, TField_event e, long jolly)
|
|||||||
|
|
||||||
class TTotalizer : public TAssoc_array
|
class TTotalizer : public TAssoc_array
|
||||||
{
|
{
|
||||||
|
TString _str;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void add_num(const TRectype& rec, const char* name, char segno);
|
void add_num(const TRectype& rec, const char* name, char segno);
|
||||||
|
|
||||||
@ -141,9 +143,16 @@ public:
|
|||||||
void add_rec(const TRectype& rec, char segno = '+');
|
void add_rec(const TRectype& rec, char segno = '+');
|
||||||
TTotalizer& operator+=(TTotalizer& tot);
|
TTotalizer& operator+=(TTotalizer& tot);
|
||||||
real get_num(const char* name);
|
real get_num(const char* name);
|
||||||
const TString& get(const char* name) { return get_num(name).string(); }
|
const TString& get(const char* name);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const TString& TTotalizer::get(const char* name)
|
||||||
|
{
|
||||||
|
_str = get_num(name).string();
|
||||||
|
return _str;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void TTotalizer::add_num(const TRectype& rec, const char* name, char segno)
|
void TTotalizer::add_num(const TRectype& rec, const char* name, char segno)
|
||||||
{
|
{
|
||||||
real num = rec.get(name);
|
real num = rec.get(name);
|
||||||
|
@ -107,7 +107,7 @@ bool TECUP_app::promis_filter(const TRelation* rel)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (a._veidip < 2)
|
if (a._veidip < 2)
|
||||||
return cespi.get_bool(CESPI_VEIDIP) == a._veidip;
|
return cespi.get_bool(CESPI_VEIDIP) == (a._veidip != 0);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
[PRASSICE_001]
|
[CEMENU_001]
|
||||||
Caption = "Gestione cespiti"
|
Caption = "Gestione cespiti"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Anagrafiche", [PRASSICE_002], ""
|
Item_01 = "Anagrafiche", [CEMENU_002], ""
|
||||||
Item_02 = "Tabelle comuni", [PRASSICE_003], ""
|
Item_02 = "Tabelle comuni", [CEMENU_003], ""
|
||||||
Item_03 = "Stampa tabelle comuni", [PRASSICE_004], ""
|
Item_03 = "Stampa tabelle comuni", [CEMENU_004], ""
|
||||||
Item_04 = "Scelta ditta", [PRASSICE_005], "F"
|
Item_04 = "Scelta ditta", [CEMENU_005], "F"
|
||||||
Item_05 = "Conversione", "ce0 -8"
|
Item_05 = "Conversione", "ce0 -8"
|
||||||
|
|
||||||
|
|
||||||
[PRASSICE_002]
|
[CEMENU_002]
|
||||||
Caption = "Anagrafiche"
|
Caption = "Anagrafiche"
|
||||||
Picture = <ba01.bmp>
|
Picture = <ba01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -19,7 +19,7 @@ Item_01 = "Persone fisiche", "ba4 -1 F", ""
|
|||||||
Item_02 = "Persone giuridiche", "ba4 -1 G", ""
|
Item_02 = "Persone giuridiche", "ba4 -1 G", ""
|
||||||
Item_03 = "Ditte", "ba4 -2", ""
|
Item_03 = "Ditte", "ba4 -2", ""
|
||||||
|
|
||||||
[PRASSICE_003]
|
[CEMENU_003]
|
||||||
Caption = "Tabelle comuni"
|
Caption = "Tabelle comuni"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -30,7 +30,7 @@ Item_03 = "Specie", "ce0 -0 %cat", ""
|
|||||||
Item_04 = "Categorie", "ce0 -0 %cac", ""
|
Item_04 = "Categorie", "ce0 -0 %cac", ""
|
||||||
Item_05 = "Tipi movimento", "ce0 -0 %tmc" , ""
|
Item_05 = "Tipi movimento", "ce0 -0 %tmc" , ""
|
||||||
|
|
||||||
[PRASSICE_004]
|
[CEMENU_004]
|
||||||
Caption = "Stampa tabelle comuni"
|
Caption = "Stampa tabelle comuni"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -40,20 +40,20 @@ Item_02 = "Specie", "ba3 -1 %cat", ""
|
|||||||
Item_03 = "Categorie", "ba3 -1 %cac", ""
|
Item_03 = "Categorie", "ba3 -1 %cac", ""
|
||||||
Item_04 = "Tipi movimento", "ba3 -1 %tmc" , ""
|
Item_04 = "Tipi movimento", "ba3 -1 %tmc" , ""
|
||||||
|
|
||||||
[PRASSICE_005]
|
[CEMENU_005]
|
||||||
Caption = "Scelta ditta"
|
Caption = "Scelta ditta"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
Flags = "F"
|
Flags = "F"
|
||||||
Item_01 = "Tabelle ditta", [PRASSICE_006]
|
Item_01 = "Tabelle ditta", [CEMENU_006]
|
||||||
Item_02 = "Stampa tabelle ditta", [PRASSICE_007]
|
Item_02 = "Stampa tabelle ditta", [CEMENU_007]
|
||||||
Item_03 = "Collegamenti contabili", [PRASSICE_008]
|
Item_03 = "Collegamenti contabili", [CEMENU_008]
|
||||||
Item_04 = "Operaz. giornal. e fine eserc.", [PRASSICE_009]
|
Item_04 = "Operaz. giornal. e fine eserc.", [CEMENU_009]
|
||||||
Item_05 = "Stampe giornaliere", [PRASSICE_010]
|
Item_05 = "Stampe giornaliere", [CEMENU_010]
|
||||||
Item_06 = "Stampe di fine esercizio", [PRASSICE_011]
|
Item_06 = "Stampe di fine esercizio", [CEMENU_011]
|
||||||
Item_07 = "Servizi", [PRASSICE_012]
|
Item_07 = "Servizi", [CEMENU_012]
|
||||||
|
|
||||||
[PRASSICE_006]
|
[CEMENU_006]
|
||||||
Caption = "Tabelle ditta"
|
Caption = "Tabelle ditta"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -64,7 +64,7 @@ Item_03 = "Impianti", "ce0 -0 cim" , ""
|
|||||||
Item_04 = "Esercizi", "ce0 -0 cce", "F"
|
Item_04 = "Esercizi", "ce0 -0 cce", "F"
|
||||||
Item_05 = "Esercizi contabili", "cg0 -5 esc", "F"
|
Item_05 = "Esercizi contabili", "cg0 -5 esc", "F"
|
||||||
|
|
||||||
[PRASSICE_007]
|
[CEMENU_007]
|
||||||
Caption = "Stampa tabelle ditta"
|
Caption = "Stampa tabelle ditta"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -74,7 +74,7 @@ Item_02 = "Localizzazioni", "ba3 -1 loc", ""
|
|||||||
Item_03 = "Impianti", "ba3 -1 cim" , ""
|
Item_03 = "Impianti", "ba3 -1 cim" , ""
|
||||||
Item_04 = "Esercizi", "ba3 -1 cce", "F"
|
Item_04 = "Esercizi", "ba3 -1 cce", "F"
|
||||||
|
|
||||||
[PRASSICE_008]
|
[CEMENU_008]
|
||||||
Caption = "Collegamenti contabili"
|
Caption = "Collegamenti contabili"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -86,7 +86,7 @@ Item_04 = "St. contr. colleg. contab. cat/ces", "", ""
|
|||||||
Item_05 = "Trasferimento movimenti provvisori", "", ""
|
Item_05 = "Trasferimento movimenti provvisori", "", ""
|
||||||
Item_06 = "Trasferimento movimenti definitivi", "", ""
|
Item_06 = "Trasferimento movimenti definitivi", "", ""
|
||||||
|
|
||||||
[PRASSICE_009]
|
[CEMENU_009]
|
||||||
Caption = "Operazioni giornaliere e fine esercizio"
|
Caption = "Operazioni giornaliere e fine esercizio"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -99,7 +99,7 @@ Item_05 = "Forzatura ammortamento su cespiti", "ce1 -0", "F"
|
|||||||
Item_06 = "Forzatura ammortamento su movimenti", "ce1 -1", "F"
|
Item_06 = "Forzatura ammortamento su movimenti", "ce1 -1", "F"
|
||||||
Item_07 = "Esecuzione calcolo ammortamenti", "ce2 -0", "F"
|
Item_07 = "Esecuzione calcolo ammortamenti", "ce2 -0", "F"
|
||||||
|
|
||||||
[PRASSICE_010]
|
[CEMENU_010]
|
||||||
Caption = "Stampe giornaliere"
|
Caption = "Stampe giornaliere"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -109,7 +109,7 @@ Item_02 = "Lista movimenti", "ce3 -5", "F"
|
|||||||
Item_03 = "Lista cespiti ad uso promiscuo", "ce3 -6", "F"
|
Item_03 = "Lista cespiti ad uso promiscuo", "ce3 -6", "F"
|
||||||
Item_04 = "Lista cespiti a fine esercizio", "ce3 -7", "F"
|
Item_04 = "Lista cespiti a fine esercizio", "ce3 -7", "F"
|
||||||
|
|
||||||
[PRASSICE_011]
|
[CEMENU_011]
|
||||||
Caption = "Stampe di fine esercizio"
|
Caption = "Stampe di fine esercizio"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
||||||
@ -119,7 +119,7 @@ Item_02 = "Prospetto cespiti", "ce3 -2", "F"
|
|||||||
Item_03 = "Prospetto rivalutazioni", "ce3 -3", "F"
|
Item_03 = "Prospetto rivalutazioni", "ce3 -3", "F"
|
||||||
Item_04 = "Registro cespiti", "ce3 -0", "F"
|
Item_04 = "Registro cespiti", "ce3 -0", "F"
|
||||||
|
|
||||||
[PRASSICE_012]
|
[CEMENU_012]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <ce00.bmp>
|
Picture = <ce00.bmp>
|
||||||
Module = 11
|
Module = 11
|
@ -1,2 +1,3 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
@ -3,14 +3,17 @@
|
|||||||
// Prima nota
|
// Prima nota
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
SUBMENU M_FONT "~Opzioni"
|
SUBMENU M_FONT "~Opzioni"
|
||||||
|
|
||||||
MENU M_FONT
|
MENU M_FONT
|
||||||
ITEM MENU_ITEM(1) "~Colori righe"
|
ITEM MENU_ITEM(1) "~Colori righe"
|
||||||
|
|
||||||
|
// Gestione movimenti provvisori
|
||||||
|
|
||||||
|
MENUBAR MENU_BAR(1)
|
||||||
|
|
||||||
MENU MENU_BAR(1)
|
MENU MENU_BAR(1)
|
||||||
SUBMENU M_FILE "~File"
|
SUBMENU M_FILE "~File"
|
||||||
SUBMENU M_HELP "~Help"
|
SUBMENU M_HELP "~Help"
|
||||||
|
|
||||||
|
|
||||||
|
12
cg/cg3.url
12
cg/cg3.url
@ -1,4 +1,5 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
|
||||||
|
|
||||||
@ -10,12 +11,9 @@ MENUBAR MENU_BAR(2)
|
|||||||
|
|
||||||
MENU MENU_BAR(2)
|
MENU MENU_BAR(2)
|
||||||
SUBMENU M_FILE "~File"
|
SUBMENU M_FILE "~File"
|
||||||
SUBMENU M_EDIT "~Modifica"
|
|
||||||
ITEM BAR_ITEM(1) "~Scelta parametri"
|
ITEM BAR_ITEM(1) "~Scelta parametri"
|
||||||
ITEM BAR_ITEM(2) "~Ricalcolo"
|
ITEM BAR_ITEM(2) "~Ricalcolo"
|
||||||
ITEM BAR_ITEM(3) "~Disco"
|
ITEM BAR_ITEM(3) "~Disco"
|
||||||
SUBMENU M_HELP "~Help"
|
|
||||||
|
|
||||||
|
|
||||||
/* ----------------------------------------------------
|
/* ----------------------------------------------------
|
||||||
* cg3 -5
|
* cg3 -5
|
||||||
@ -25,12 +23,12 @@ MENU MENU_BAR(2)
|
|||||||
MENUBAR MENU_BAR(5)
|
MENUBAR MENU_BAR(5)
|
||||||
|
|
||||||
MENU MENU_BAR(5)
|
MENU MENU_BAR(5)
|
||||||
SUBMENU MENU_FILE "~File"
|
SUBMENU M_FILE "~File"
|
||||||
SUBMENU M_EDIT "~Modifica"
|
SUBMENU M_FONT "~Opzioni"
|
||||||
SUBMENU M_FONT "~Opzioni"
|
SUBMENU M_HELP "~Help"
|
||||||
SUBMENU M_HELP "~Help"
|
|
||||||
|
|
||||||
MENU M_FONT
|
MENU M_FONT
|
||||||
ITEM MENU_ITEM(1) "~Colori righe"
|
ITEM MENU_ITEM(1) "~Colori righe"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,2 +1,4 @@
|
|||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
|
||||||
|
260
cg/cgmenu.men
Executable file
260
cg/cgmenu.men
Executable file
@ -0,0 +1,260 @@
|
|||||||
|
[CGMENU_004]
|
||||||
|
Caption = "Contabilita'"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Persone fisiche", "ba4 -1 F", ""
|
||||||
|
Item_02 = "Persone giuridiche", "ba4 -1 G", ""
|
||||||
|
Item_03 = "Ditte", "ba4 -2", ""
|
||||||
|
Item_04 = "Tabelle studio", [CGMENU_005]
|
||||||
|
Item_05 = "Stampa tabelle studio", [CGMENU_006]
|
||||||
|
Item_06 = "Scelta contabilita'", [CGMENU_013]
|
||||||
|
Item_07 = "IVA", [CGMENU_010]
|
||||||
|
Item_08 = "Parametri di studio", "cg5 -0", ""
|
||||||
|
Item_09 = "Gestione Libro Unico", [CGMENU_014]
|
||||||
|
Item_10 = "Invio", [CGMENU_019]
|
||||||
|
Item_11 = "Ricezione", [CGMENU_020]
|
||||||
|
Item_12 = "Moduli aggiuntivi", <cgaddon.men>
|
||||||
|
|
||||||
|
[CGMENU_005]
|
||||||
|
Caption = "Tabelle studio"
|
||||||
|
Picture = <ba01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Condizioni di pagamento", "ba3 -6", ""
|
||||||
|
Item_02 = "Classificazione pagamenti", "ba3 -0 %clr", ""
|
||||||
|
Item_03 = "Descrizioni aggiuntive", "ba3 -0 %dpn", ""
|
||||||
|
Item_04 = "Codici IVA", "ba3 -0 %iva", ""
|
||||||
|
Item_05 = "Codici Attivita'", "ba3 -0 %ais", ""
|
||||||
|
Item_06 = "Libri sociali", "ba3 -0 %itl", ""
|
||||||
|
Item_07 = "Banche", "ba3 -0 %ban", ""
|
||||||
|
Item_08 = "IV direttiva CEE", "ba3 -0 %ivd", ""
|
||||||
|
Item_09 = "Valute", "ba3 -0 %val", ""
|
||||||
|
Item_10 = "Lingue", "ba3 -0 %lng", ""
|
||||||
|
Item_11 = "Versamenti ed interessi IVA", "ba3 -0 %ver", ""
|
||||||
|
Item_12 = "Profili estratto conto", "sc3 -0", ""
|
||||||
|
|
||||||
|
[CGMENU_006]
|
||||||
|
Caption = "Stampa tabelle studio"
|
||||||
|
Picture = <ba03.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Condizioni di pagamento", "ba3 -9", ""
|
||||||
|
Item_02 = "Classificazione pagamenti", "ba3 -1 %clr", ""
|
||||||
|
Item_03 = "Descrizioni aggiuntive", "ba3 -1 %dpn", ""
|
||||||
|
Item_04 = "Codici IVA", "ba3 -1 %iva", ""
|
||||||
|
Item_05 = "Codici Attivita'", "ba3 -1 %ais", ""
|
||||||
|
Item_06 = "Libri sociali", "ba3 -1 %itl", ""
|
||||||
|
Item_07 = "Banche", "ba3 -1 %ban", ""
|
||||||
|
Item_08 = "IV direttiva CEE", "ba3 -7 S", ""
|
||||||
|
Item_09 = "Valute", "ba3 -1 %val", ""
|
||||||
|
Item_10 = "Lingue", "ba3 -1 %lng", ""
|
||||||
|
Item_11 = "Versamenti ed interessi IVA", "ba3 -1 %ver", ""
|
||||||
|
|
||||||
|
[CGMENU_007]
|
||||||
|
Caption = "Tabelle ditta"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Parametri ditta", "cg5 -1", "F"
|
||||||
|
Item_02 = "Registri", "ba3 -0 reg", ""
|
||||||
|
Item_03 = "Piano dei conti", "cg0 -0", "F"
|
||||||
|
Item_04 = "Causali", "cg0 -4", "F"
|
||||||
|
Item_05 = "Clienti/Fornitori", "cg0 -1", "F"
|
||||||
|
Item_06 = "Agenti", "pr0 -4", ""
|
||||||
|
Item_07 = "Cambi giornalieri", "ba3 -0 cam", ""
|
||||||
|
Item_08 = "Esercizi", "cg0 -5 esc", "F"
|
||||||
|
Item_09 = "Commesse", "ba3 -0 cms", ""
|
||||||
|
Item_10 = "Fasi commesse", "ba3 -0 fsc", ""
|
||||||
|
|
||||||
|
[CGMENU_008]
|
||||||
|
Caption = "Stampa tabelle ditta"
|
||||||
|
Picture = <ba03.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Registri", "ba3 -1 reg", ""
|
||||||
|
Item_02 = "Piano dei conti", "cg1 -0", "F"
|
||||||
|
Item_03 = "Causali", "cg1 -6", "F"
|
||||||
|
Item_04 = "Clienti/Fornitori", "cg1 -1", "F"
|
||||||
|
Item_05 = "Cambi giornalieri", "ba3 -1 cam", ""
|
||||||
|
Item_06 = "IV direttiva CEE", "ba3 -7 D", ""
|
||||||
|
|
||||||
|
[CGMENU_009]
|
||||||
|
Caption = "Prima nota"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Prima nota", "cg2 -0", "F"
|
||||||
|
Item_02 = "Gestione movimenti provvisori", "cg2 -1", "F"
|
||||||
|
Item_03 = "Visualizzazione mastrini", "cg3 -5", "F"
|
||||||
|
Item_04 = "IVA", [CGMENU_010]
|
||||||
|
Item_05 = "Lista movimenti", "cg3 -0 M", "F"
|
||||||
|
Item_06 = "Lista fatture per clienti/fornitori", "cg3 -0 C", "F"
|
||||||
|
Item_07 = "Stampa Mastrini", "cg3 -1", "F"
|
||||||
|
Item_08 = "Stampa Riepiloghi", "cg3 -4", "F"
|
||||||
|
Item_09 = "Visualizzazione saldi", "cg5 -2", "F"
|
||||||
|
Item_10 = "Ricalcolo saldi", "cg4 -0", "F"
|
||||||
|
Item_11 = "Bilancio", "cg1 -4", "F"
|
||||||
|
Item_12 = "Bilancio IV direttiva CEE", "cg1 -5", "F"
|
||||||
|
Item_13 = "Giornale", "cg3 -3", "F"
|
||||||
|
Item_14 = "Saldaconto", <scmenu.men>
|
||||||
|
|
||||||
|
[CGMENU_010]
|
||||||
|
Caption = "IVA"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 5
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Parametri liquidazione", "cg5 -3", "F"
|
||||||
|
Item_02 = "Liquidazione", "cg4 -2", "F"
|
||||||
|
Item_03 = "Visualizzazione liquidazione", "cg5 -5", "F"
|
||||||
|
Item_04 = "Prospetto dich. IVA periodica", "cg5 -7", "F"
|
||||||
|
Item_05 = "Riepilogo progressivi", "cg0 -3", "F"
|
||||||
|
Item_06 = "Stampa registri", "cg4 -3", "F"
|
||||||
|
Item_07 = "Liste fatture", [CGMENU_026]
|
||||||
|
Item_08 = "Gestione acconti IVA", [CGMENU_027]
|
||||||
|
Item_09 = "Gestione versamenti IVA", [CGMENU_022]
|
||||||
|
Item_10 = "Gestione autotrasportatori", "cg4 -9", "F"
|
||||||
|
|
||||||
|
[CGMENU_011]
|
||||||
|
Caption = "Tabelle ministeriali"
|
||||||
|
Picture = <ba01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Comuni", "ba4 -0", ""
|
||||||
|
Item_02 = "Regioni", "ba3 -0 %rgi", ""
|
||||||
|
Item_03 = "Uffici concessioni", "ba3 -0 %ucc", ""
|
||||||
|
Item_04 = "Uffici imposte dirette", "ba3 -0 %uid", ""
|
||||||
|
Item_05 = "Uffici IVA", "ba3 -0 %uiv", ""
|
||||||
|
Item_06 = "Uffici registro", "ba3 -0 %ure", ""
|
||||||
|
Item_07 = "Centri servizio", "ba3 -0 %ucs", ""
|
||||||
|
|
||||||
|
[CGMENU_012]
|
||||||
|
Caption = "Stampa tabelle ministeriali"
|
||||||
|
Picture = <ba03.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Comuni", "ba6 -1", ""
|
||||||
|
Item_02 = "Uffici concessioni", "ba3 -1 %ucc", ""
|
||||||
|
Item_03 = "Uffici imposte dirette", "ba3 -1 %uid", ""
|
||||||
|
Item_04 = "Uffici IVA", "ba3 -1 %uiv", ""
|
||||||
|
Item_05 = "Uffici registro", "ba3 -1 %ure", ""
|
||||||
|
Item_06 = "Centri servizio", "ba3 -1 %ucs", ""
|
||||||
|
|
||||||
|
[CGMENU_013]
|
||||||
|
Caption = "Scelta contabilita'"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = "F"
|
||||||
|
Item_01 = "Tabelle ditta", [CGMENU_007]
|
||||||
|
Item_02 = "Stampa tabelle ditta", [CGMENU_008]
|
||||||
|
Item_03 = "Prima nota", [CGMENU_009]
|
||||||
|
Item_04 = "Operazioni di inizio fine es.", [CGMENU_021]
|
||||||
|
Item_05 = "Servizio", [CGMENU_016]
|
||||||
|
|
||||||
|
[CGMENU_014]
|
||||||
|
Caption = "Gestione libro unico"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Gestione libro unico", "ba3 -0 %lbu", ""
|
||||||
|
Item_02 = "Gestione indici libro unico", "ba3 -8", ""
|
||||||
|
Item_03 = "Tabella vidimazioni", "ba3 -0 %vid", ""
|
||||||
|
Item_04 = "Stampa indici libro unico", "ba3 -5", ""
|
||||||
|
Item_05 = "Stampa indici libro unico per ditta", "ba3 -5 A", ""
|
||||||
|
Item_06 = "Ripristino indici libro unico", "cg5 -4 inl", "F"
|
||||||
|
|
||||||
|
[CGMENU_016]
|
||||||
|
Caption = "Servizio"
|
||||||
|
Picture = <ba04.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Copia Archivi", "cg4 -1", "F"
|
||||||
|
Item_02 = "Ripristino stampa registri", "cg5 -4", "F"
|
||||||
|
Item_03 = "Aggiornamento Tipo Conto", "cg1 -2 T", "FP"
|
||||||
|
Item_04 = "Aggiornamento Tipo Att. su mov.IVA", "cg1 -2 A", "FP"
|
||||||
|
Item_05 = "Aggiornamento flag op.Intrac.", "cg1 -2 I", "FP"
|
||||||
|
Item_06 = "Rinumerazione n° Protocollo", "cg1 -2 P", "FP"
|
||||||
|
Item_07 = "Aggiornamento Codice Attivita'", "cg1 -2 C", "FP"
|
||||||
|
Item_08 = "Riorganizzazione codici esercizio", "cg1 -2 E", "FP"
|
||||||
|
Item_09 = "Correzione righe di prima nota", "cg1 -2 Z", "FP"
|
||||||
|
Item_10 = "Impostazione mese liquidazione", "cg1 -2 M", "FP"
|
||||||
|
Item_11 = "Collegamento bilanci", [CGMENU_025]
|
||||||
|
|
||||||
|
[CGMENU_019]
|
||||||
|
Caption = "Invio"
|
||||||
|
Picture = <ba06.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Tabella studio per invio", "cg6 -4 %INS", "F"
|
||||||
|
Item_02 = "Tabella ditta per invio", "cg6 -4 %IND", "F"
|
||||||
|
Item_03 = "Invio contabilita' a sistema", "cg6 -8 S", "F"
|
||||||
|
Item_04 = "Invio contabilita' a PC", "cg6 -8 P", "F"
|
||||||
|
Item_05 = "Ripristino movimenti da inviare", "cg6 -8 R", "F"
|
||||||
|
Item_06 = "Eliminazione file invio", "cg6 -8 C", "FP"
|
||||||
|
|
||||||
|
[CGMENU_020]
|
||||||
|
Caption = "Ricezione"
|
||||||
|
Picture = <ba06.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Tabella ditte per ricezione", "cg6 -2 %TRA", "F"
|
||||||
|
Item_02 = "Ricezione archivi da sistema", "cg6 -3 S", "F"
|
||||||
|
Item_03 = "Ricezione archivi da PC", "cg6 -3 P", "F"
|
||||||
|
Item_04 = "Scelta ditta per ricezione", "cg6 -7 S", "F"
|
||||||
|
Item_05 = "Ricezione tabelle", "cg6 -5 T", "F"
|
||||||
|
Item_06 = "Lista controllo movimenti", "cg6 -6", "F"
|
||||||
|
Item_07 = "Ricezione movimenti", "cg6 -5 M", "F"
|
||||||
|
Item_08 = "Visualiz. stato ricezione", "cg6 -7 V", "F"
|
||||||
|
Item_09 = "Variazione p.n. da ricevere", "cg6 -7 P", "F"
|
||||||
|
Item_10 = "Variazione iva da ricevere", "cg6 -7 I", "F"
|
||||||
|
Item_11 = "Annul. movimenti da ricevere", "cg6 -7 A", "F"
|
||||||
|
Item_12 = "Variazione saldaconto da ricevere", "cg6 -7 B", "F"
|
||||||
|
|
||||||
|
[CGMENU_021]
|
||||||
|
Caption = "Operazioni di inizio fine es."
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Apertura nuovo esercizio", "cg4 -4 C", "F"
|
||||||
|
Item_02 = "Apertura nuovo esercizio IVA", "cg4 -4 I", "F"
|
||||||
|
Item_03 = "Chiusura/Apertura conti", "cg4 -5", "F"
|
||||||
|
|
||||||
|
[CGMENU_022]
|
||||||
|
Caption = "Gestione versamenti IVA"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Estrazione versamenti", "cg4 -2 -D", "F"
|
||||||
|
Item_02 = "Gestione versamenti", "ba3 -0 %del", ""
|
||||||
|
Item_03 = "Stampa versamenti", "cg1 -3", "F"
|
||||||
|
Item_04 = "Gestione profili deleghe e distinte", "ba2 -0", ""
|
||||||
|
|
||||||
|
[CGMENU_025]
|
||||||
|
Caption = "Collegamento bilanci"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 7
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Ricezione conti e periodi", "trrice", ""
|
||||||
|
Item_02 = "Tabella piano dei conti", "ab0 -1", ""
|
||||||
|
Item_03 = "Tabella periodi di bilancio", "ab0 -0 %pdb", ""
|
||||||
|
Item_04 = "Copia aggancio piano dei conti", "vcopia", ""
|
||||||
|
Item_05 = "Calcolo bilanci", "cb0000", ""
|
||||||
|
|
||||||
|
[CGMENU_026]
|
||||||
|
Caption = "Liste fatture"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Lista fatture con iva indetraibile", "cg3 -6 I", "F"
|
||||||
|
Item_02 = "Lista fatture per tipo costo/ricavo", "cg3 -6 C", "F"
|
||||||
|
Item_03 = "Lista fatture intracomunitarie", "cg3 -6 N", "F"
|
||||||
|
|
||||||
|
[CGMENU_027]
|
||||||
|
Caption = "Gestione acconti IVA"
|
||||||
|
Picture = <cg01.bmp>
|
||||||
|
Module = 0
|
||||||
|
Flags = ""
|
||||||
|
Item_01 = "Calcolo acconti", "cg4 -2 -A", "F"
|
||||||
|
Item_02 = "Gestione acconti", "cg4 -6", "F"
|
||||||
|
Item_03 = "Creazione versam. per acconti", "cg4 -7", "F"
|
||||||
|
Item_04 = "Visualizzazione liquidaz. acconti", "cg4 -8", "F"
|
@ -1,15 +1,15 @@
|
|||||||
[PRASSIDB_001]
|
[DBMENU_001]
|
||||||
Caption = "Gestione distinta base"
|
Caption = "Gestione distinta base"
|
||||||
Picture = <db01.bmp>
|
Picture = <db01.bmp>
|
||||||
Module = 35
|
Module = 35
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Archivi", [PRASSIDB_010]
|
Item_01 = "Archivi", [DBMENU_010]
|
||||||
Item_02 = "Stampe archivi", [PRASSIDB_020]
|
Item_02 = "Stampe archivi", [DBMENU_020]
|
||||||
Item_03 = "Stampe", [PRASSIDB_040]
|
Item_03 = "Stampe", [DBMENU_040]
|
||||||
Item_04 = "Servizi", [PRASSIDB_030]
|
Item_04 = "Servizi", [DBMENU_030]
|
||||||
Item_05 = "Configurazione distinta base", [PRASSIDB_080]
|
Item_05 = "Configurazione distinta base", [DBMENU_080]
|
||||||
|
|
||||||
[PRASSIDB_010]
|
[DBMENU_010]
|
||||||
Caption = "Gestione archivi"
|
Caption = "Gestione archivi"
|
||||||
Picture = <db01.bmp>
|
Picture = <db01.bmp>
|
||||||
Module = 35
|
Module = 35
|
||||||
@ -19,7 +19,7 @@ Item_01 = "Tabella lavorazioni", "db0 -0 LAV", "F"
|
|||||||
Item_01 = "Tabella ordinamenti", "db0 -0 ORD", "F"
|
Item_01 = "Tabella ordinamenti", "db0 -0 ORD", "F"
|
||||||
Item_01 = "Tabella variabili", "db0 -0 VAR", "F"
|
Item_01 = "Tabella variabili", "db0 -0 VAR", "F"
|
||||||
|
|
||||||
[PRASSIDB_020]
|
[DBMENU_020]
|
||||||
Caption = "Stampa archivi"
|
Caption = "Stampa archivi"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 35
|
Module = 35
|
||||||
@ -30,7 +30,7 @@ Item_03 = "Tabella ordinamenti", "ba3 -1 ORD", "F"
|
|||||||
Item_04 = "Tabella variabili", "ba3 -1 VAR", "F"
|
Item_04 = "Tabella variabili", "ba3 -1 VAR", "F"
|
||||||
|
|
||||||
|
|
||||||
[PRASSIDB_040]
|
[DBMENU_040]
|
||||||
Caption = "Stampa"
|
Caption = "Stampa"
|
||||||
Picture = <db01.bmp>
|
Picture = <db01.bmp>
|
||||||
Module = 35
|
Module = 35
|
||||||
@ -38,7 +38,7 @@ Flags = ""
|
|||||||
Item_01 = "Esplosione distinte", "db1 -0", "F"
|
Item_01 = "Esplosione distinte", "db1 -0", "F"
|
||||||
Item_02 = "Implosione", "db1 -2", "F"
|
Item_02 = "Implosione", "db1 -2", "F"
|
||||||
|
|
||||||
[PRASSIDB_030]
|
[DBMENU_030]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <db01.bmp>
|
Picture = <db01.bmp>
|
||||||
Module = 35
|
Module = 35
|
@ -1,4 +1,4 @@
|
|||||||
[PRASSIEF_001]
|
[EFMENU_001]
|
||||||
Caption = "Gestione effetti"
|
Caption = "Gestione effetti"
|
||||||
Picture = <ef01.bmp>
|
Picture = <ef01.bmp>
|
||||||
Module = 34
|
Module = 34
|
@ -3,7 +3,4 @@
|
|||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
#define QFIRMNAME "A.G.A. Informatica Srl"
|
||||||
|
|
||||||
#include <default.url>
|
#include <default.url>
|
||||||
|
#include <mainmenu.url>
|
||||||
MENU TASK_MENUBAR
|
|
||||||
SUBMENU MENU_FILE "~File"
|
|
||||||
|
|
||||||
|
143
in/in0100a.frm
143
in/in0100a.frm
@ -50,7 +50,7 @@ END
|
|||||||
STRINGA 4 1
|
STRINGA 4 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Tipo riepilogo"
|
KEY "Tipo riepilogo"
|
||||||
PROMPT 39 16 ""
|
PROMPT 40 16 "" //1 dx
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
@ -436,7 +436,8 @@ NUMERO 3 15
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare complessivo sezione 1"
|
KEY "Ammontare complessivo sezione 1"
|
||||||
PROMPT 25 6 ""
|
PROMPT 25 6 ""
|
||||||
PICTURE "###.###.###.^^^"
|
PICTURE "###.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 4 3
|
NUMERO 4 3
|
||||||
@ -455,10 +456,11 @@ NUMERO 6 15
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare complessivo sezione 2"
|
KEY "Ammontare complessivo sezione 2"
|
||||||
PROMPT 64 6 ""
|
PROMPT 64 6 ""
|
||||||
PICTURE "###.###.###.^^^"
|
PICTURE "###.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA 7 10
|
DATA 8 10
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Data di stampa"
|
KEY "Data di stampa"
|
||||||
PROMPT 6 10 ""
|
PROMPT 6 10 ""
|
||||||
@ -523,24 +525,33 @@ END
|
|||||||
|
|
||||||
NUMERO 4 12
|
NUMERO 4 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in lire"
|
KEY "Ammontare operazioni in Euro" //++
|
||||||
PROMPT 25 1 ""
|
PROMPT 23 1 "" //2 sx
|
||||||
FIELD 135->AMMLIRE
|
FIELD 135->AMMLIRE
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 51 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 35 1 "" //2 sx
|
||||||
|
FIELD 135->CODVAL
|
||||||
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 5 12
|
NUMERO 5 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in valuta"
|
KEY "Ammontare operazioni in valuta"
|
||||||
PROMPT 37 1 ""
|
PROMPT 35 1 "" //2 sx
|
||||||
FIELD 135->AMMVALUTA
|
FIELD 135->AMMVALUTA
|
||||||
PICTURE "#.###.###,@@"
|
MESSAGE _IMP
|
||||||
|
PICTURE "####.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 6 1
|
STRINGA 6 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Natura della transazione"
|
KEY "Natura della transazione"
|
||||||
PROMPT 50 1 ""
|
PROMPT 49 1 "" //1 sx
|
||||||
FIELD 135->NATURA
|
FIELD 135->NATURA
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -549,65 +560,67 @@ BEGIN
|
|||||||
KEY "Nomenclatura combinata"
|
KEY "Nomenclatura combinata"
|
||||||
PROMPT 53 1 ""
|
PROMPT 53 1 ""
|
||||||
FIELD 135->NOMENCL
|
FIELD 135->NOMENCL
|
||||||
PICTURE "@@@@@@@@"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 8 10
|
NUMERO 8 9
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Massa netta in kilogrammi"
|
KEY "Massa netta in kilogrammi"
|
||||||
PROMPT 62 1 ""
|
PROMPT 62 1 ""
|
||||||
FIELD 135->MASSAKG
|
FIELD 135->MASSAKG
|
||||||
PICTURE "######,@@@"
|
PICTURE "#########"
|
||||||
|
MESSAGE _ROUND,0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 9 10
|
NUMERO 9 9
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Massa in unita' supplementare"
|
KEY "Massa in unita' supplementare"
|
||||||
PROMPT 73 1 ""
|
PROMPT 72 1 "" //1 sx
|
||||||
FIELD 135->MASSAUMS
|
FIELD 135->MASSAUMS
|
||||||
PICTURE "######,@@@"
|
PICTURE "#########"
|
||||||
|
MESSAGE _ROUND,0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 10 12
|
NUMERO 10 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Valore statistico"
|
KEY "Valore statistico"
|
||||||
PROMPT 84 1 ""
|
PROMPT 82 1 "" //2 sx
|
||||||
FIELD 135->VALSTAT
|
FIELD 135->VALSTAT
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 11 1
|
STRINGA 11 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Codice consegna"
|
KEY "Codice consegna"
|
||||||
PROMPT 97 1 ""
|
PROMPT 96 1 "" //1 sx
|
||||||
FIELD 135->CONSEGNA[1,1]
|
FIELD 135->CONSEGNA[1,1]
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 12 1
|
STRINGA 12 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Modo di trasporto"
|
KEY "Modo di trasporto"
|
||||||
PROMPT 100 1 ""
|
PROMPT 99 1 "" //1 sx
|
||||||
FIELD 135->TRASPORTO
|
FIELD 135->TRASPORTO
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 13 2
|
STRINGA 13 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Paese destinazione/provenienza"
|
KEY "Paese destinazione/provenienza"
|
||||||
PROMPT 103 1 ""
|
PROMPT 102 1 "" //1 sx
|
||||||
FIELD 135->PAESE
|
FIELD 135->PAESE
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 14 2
|
STRINGA 14 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Paese di origine"
|
KEY "Paese di origine"
|
||||||
PROMPT 107 1 ""
|
PROMPT 106 1 "" //1 sx
|
||||||
FIELD 135->PAESEORIG
|
FIELD 135->PAESEORIG
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 15 2
|
STRINGA 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Provincia di destinazione"
|
KEY "Provincia di destinazione"
|
||||||
PROMPT 111 1 ""
|
PROMPT 110 1 "" //1 sx
|
||||||
FIELD 135->PROV
|
FIELD 135->PROV
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -618,21 +631,23 @@ SECTION FOOTER ODD 31
|
|||||||
NUMERO 1 12
|
NUMERO 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Riporto dalla pagina precedente"
|
KEY "Riporto dalla pagina precedente"
|
||||||
PROMPT 25 1 ""
|
PROMPT 23 1 "" //2 sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 2 12
|
NUMERO 2 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale"
|
KEY "Totale riepiloghi"
|
||||||
PROMPT 25 3 ""
|
PROMPT 23 3 "" //2 sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 3
|
NUMERO 3 3
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Numero di pagina"
|
KEY "Numero di pagina"
|
||||||
PROMPT 111 3 ""
|
PROMPT 110 3 "" //1 sx
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
@ -650,6 +665,7 @@ NUMERO 2 1
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "Trimestre"
|
KEY "Trimestre"
|
||||||
PROMPT 29 15 ""
|
PROMPT 29 15 ""
|
||||||
|
PICTURE ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 6
|
NUMERO 3 6
|
||||||
@ -681,16 +697,16 @@ END
|
|||||||
|
|
||||||
NUMERO 2 2
|
NUMERO 2 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Mese del periodo di riferimento"
|
KEY "Mese del periodo di riferimento (riempito da programma)"
|
||||||
PROMPT 7 1 ""
|
PROMPT 7 1 ""
|
||||||
FIELD 135->PERETT
|
PICTURE "#@"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 2
|
NUMERO 3 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Trimestre del periodo di riferimento"
|
KEY "Trimestre del periodo di riferimento (riempito da programma)"
|
||||||
PROMPT 11 1 ""
|
PROMPT 11 1 ""
|
||||||
FIELD 135->PERETT
|
PICTURE "@"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 4 4
|
NUMERO 4 4
|
||||||
@ -723,67 +739,88 @@ END
|
|||||||
|
|
||||||
NUMERO 8 12
|
NUMERO 8 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in lire"
|
KEY "Ammontare operazioni in Euro"
|
||||||
PROMPT 41 1 ""
|
PROMPT 39 1 "" //2 sx
|
||||||
FIELD 135->AMMLIRE
|
FIELD 135->AMMLIRE
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 91 3
|
||||||
|
BEGIN
|
||||||
|
PROMPT 35 1 "" //2 sx
|
||||||
|
FIELD 135->CODVAL
|
||||||
|
FLAGS "H"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 9 12
|
NUMERO 9 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in valuta"
|
KEY "Ammontare operazioni in valuta"
|
||||||
PROMPT 52 1 ""
|
PROMPT 52 1 "" //2 sx
|
||||||
FIELD 135->AMMVALUTA
|
FIELD 135->AMMVALUTA
|
||||||
PICTURE "#.###.###,@@"
|
MESSAGE _IMP
|
||||||
|
PICTURE "####.###.###"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 10 1
|
STRINGA 10 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Natura della transazione"
|
KEY "Natura della transazione"
|
||||||
PROMPT 66 1 ""
|
PROMPT 65 1 "" //1 sx
|
||||||
FIELD 135->NATURA
|
FIELD 135->NATURA
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 11 8
|
STRINGA 11 8
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Nomenclatura combinata"
|
KEY "Nomenclatura combinata"
|
||||||
PROMPT 69 1 ""
|
PROMPT 68 1 "" //1 sx
|
||||||
FIELD 135->NOMENCL
|
FIELD 135->NOMENCL
|
||||||
PICTURE "@@@@@@@@"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 12 12
|
NUMERO 12 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Valore statistico"
|
KEY "Valore statistico"
|
||||||
PROMPT 80 1 ""
|
PROMPT 78 1 "" //2 sx
|
||||||
FIELD 135->VALSTAT
|
FIELD 135->VALSTAT
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION FOOTER EVEN 36
|
SECTION FOOTER EVEN 36
|
||||||
|
|
||||||
|
STRINGA 4 1
|
||||||
|
BEGIN
|
||||||
|
KEY "Segno riporto rettifiche"
|
||||||
|
PROMPT 37 1 ""
|
||||||
|
END
|
||||||
|
|
||||||
NUMERO 1 12
|
NUMERO 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Riporto dala pagina precedente"
|
KEY "Riporto dalla pagina precedente"
|
||||||
PROMPT 41 1 ""
|
PROMPT 39 1 "" //2 sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 7 1
|
||||||
|
BEGIN
|
||||||
|
KEY "Segno Totale rettifiche"
|
||||||
|
PROMPT 37 3 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 2 12
|
NUMERO 2 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale"
|
KEY "Totale rettifiche"
|
||||||
PROMPT 41 3 ""
|
PROMPT 39 3 "" //2 sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 3
|
NUMERO 3 3
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Numero di pagina"
|
KEY "Numero di pagina"
|
||||||
PROMPT 89 4 ""
|
PROMPT 87 4 "" //2 sx
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
103
in/in0100b.frm
103
in/in0100b.frm
@ -436,7 +436,8 @@ NUMERO 3 15
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare complessivo sezione 1"
|
KEY "Ammontare complessivo sezione 1"
|
||||||
PROMPT 25 6 ""
|
PROMPT 25 6 ""
|
||||||
PICTURE "###.###.###.^^^"
|
PICTURE "###.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 4 3
|
NUMERO 4 3
|
||||||
@ -455,7 +456,8 @@ NUMERO 6 15
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare complessivo sezione 2"
|
KEY "Ammontare complessivo sezione 2"
|
||||||
PROMPT 64 6 ""
|
PROMPT 64 6 ""
|
||||||
PICTURE "###.###.###.^^^"
|
PICTURE "###.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
DATA 7 10
|
DATA 7 10
|
||||||
@ -523,16 +525,17 @@ END
|
|||||||
|
|
||||||
NUMERO 4 12
|
NUMERO 4 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in lire"
|
KEY "Ammontare operazioni in euro"
|
||||||
PROMPT 25 1 ""
|
PROMPT 23 1 "" //2sx
|
||||||
FIELD 135->AMMLIRE
|
FIELD 135->AMMLIRE
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 6 1
|
STRINGA 6 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Natura della transazione"
|
KEY "Natura della transazione"
|
||||||
PROMPT 37 1 ""
|
PROMPT 36 1 "" //1sx
|
||||||
FIELD 135->NATURA
|
FIELD 135->NATURA
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -541,31 +544,33 @@ BEGIN
|
|||||||
KEY "Nomenclatura combinata"
|
KEY "Nomenclatura combinata"
|
||||||
PROMPT 39 1 ""
|
PROMPT 39 1 ""
|
||||||
FIELD 135->NOMENCL
|
FIELD 135->NOMENCL
|
||||||
PICTURE "@@@@@@@@"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 8 10
|
NUMERO 8 9
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Massa netta in kilogrammi"
|
KEY "Massa netta in kilogrammi"
|
||||||
PROMPT 49 1 ""
|
PROMPT 48 1 "" //1sx
|
||||||
FIELD 135->MASSAKG
|
FIELD 135->MASSAKG
|
||||||
PICTURE "######,@@@"
|
PICTURE "#########"
|
||||||
|
MESSAGE _ROUND,0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 9 10
|
NUMERO 9 9
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Massa in unita' supplementare"
|
KEY "Massa in unita' supplementare"
|
||||||
PROMPT 60 1 ""
|
PROMPT 58 1 "" //2sx
|
||||||
FIELD 135->MASSAUMS
|
FIELD 135->MASSAUMS
|
||||||
PICTURE "######,@@@"
|
PICTURE "#########"
|
||||||
|
MESSAGE _ROUND,0
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 10 12
|
NUMERO 10 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Valore statistico"
|
KEY "Valore statistico"
|
||||||
PROMPT 71 1 ""
|
PROMPT 69 1 "" //2sx
|
||||||
FIELD 135->VALSTAT
|
FIELD 135->VALSTAT
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 11 1
|
STRINGA 11 1
|
||||||
@ -578,21 +583,21 @@ END
|
|||||||
STRINGA 12 1
|
STRINGA 12 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Modo di trasporto"
|
KEY "Modo di trasporto"
|
||||||
PROMPT 87 1 ""
|
PROMPT 86 1 "" //1sx
|
||||||
FIELD 135->TRASPORTO
|
FIELD 135->TRASPORTO
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 13 2
|
STRINGA 13 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Paese destinazione"
|
KEY "Paese destinazione"
|
||||||
PROMPT 90 1 ""
|
PROMPT 89 1 "" //1sx
|
||||||
FIELD 135->PAESE
|
FIELD 135->PAESE
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 14 2
|
STRINGA 14 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Provincia Origine"
|
KEY "Provincia Origine"
|
||||||
PROMPT 94 1 ""
|
PROMPT 93 1 "" //1sx
|
||||||
FIELD 135->PROV
|
FIELD 135->PROV
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -603,21 +608,23 @@ SECTION FOOTER ODD 31
|
|||||||
NUMERO 1 12
|
NUMERO 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Riporto dalla pagina precedente"
|
KEY "Riporto dalla pagina precedente"
|
||||||
PROMPT 25 1 ""
|
PROMPT 23 1 "" //2sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 2 12
|
NUMERO 2 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale"
|
KEY "Totale"
|
||||||
PROMPT 25 3 ""
|
PROMPT 23 3 "" //2sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 3
|
NUMERO 3 3
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Numero di pagina"
|
KEY "Numero di pagina"
|
||||||
PROMPT 95 3 ""
|
PROMPT 94 3 "" //1sx
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
@ -666,16 +673,16 @@ END
|
|||||||
|
|
||||||
NUMERO 2 2
|
NUMERO 2 2
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Mese del periodo di riferimento"
|
KEY "Mese del periodo di riferimento (Settato da programma)"
|
||||||
PROMPT 7 1 ""
|
PROMPT 7 1 ""
|
||||||
FIELD 135->PERETT
|
PICTURE "#@"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 2
|
NUMERO 3 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Trimestre del periodo di riferimento"
|
KEY "Trimestre del periodo di riferimento (Settato da programma)"
|
||||||
PROMPT 11 1 ""
|
PROMPT 11 1 ""
|
||||||
FIELD 135->PERETT
|
PICTURE "@"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 4 4
|
NUMERO 4 4
|
||||||
@ -708,16 +715,17 @@ END
|
|||||||
|
|
||||||
NUMERO 8 12
|
NUMERO 8 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Ammontare operazioni in lire"
|
KEY "Ammontare operazioni in euro"
|
||||||
PROMPT 41 1 ""
|
PROMPT 39 1 "" //2sx
|
||||||
FIELD 135->AMMLIRE
|
FIELD 135->AMMLIRE
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA 10 1
|
STRINGA 10 1
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Natura della transazione"
|
KEY "Natura della transazione"
|
||||||
PROMPT 53 1 ""
|
PROMPT 52 1 "" //1sx
|
||||||
FIELD 135->NATURA
|
FIELD 135->NATURA
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -726,41 +734,54 @@ BEGIN
|
|||||||
KEY "Nomenclatura combinata"
|
KEY "Nomenclatura combinata"
|
||||||
PROMPT 56 1 ""
|
PROMPT 56 1 ""
|
||||||
FIELD 135->NOMENCL
|
FIELD 135->NOMENCL
|
||||||
PICTURE "@@@@@@@@"
|
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 12 12
|
NUMERO 12 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Valore statistico"
|
KEY "Valore statistico"
|
||||||
PROMPT 67 1 ""
|
PROMPT 65 1 "" //2sx
|
||||||
FIELD 135->VALSTAT
|
FIELD 135->VALSTAT
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION FOOTER EVEN 36
|
SECTION FOOTER EVEN 36
|
||||||
|
|
||||||
|
STRINGA 4 1
|
||||||
|
BEGIN
|
||||||
|
KEY "Segno riporto rettifiche"
|
||||||
|
PROMPT 37 1 ""
|
||||||
|
END
|
||||||
|
|
||||||
NUMERO 1 12
|
NUMERO 1 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Riporto dala pagina precedente"
|
KEY "Riporto dala pagina precedente"
|
||||||
PROMPT 41 1 ""
|
PROMPT 39 1 "" //2sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA 7 1
|
||||||
|
BEGIN
|
||||||
|
KEY "Segno Totale rettifiche"
|
||||||
|
PROMPT 37 3 ""
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 2 12
|
NUMERO 2 12
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Totale"
|
KEY "Totale"
|
||||||
PROMPT 41 3 ""
|
PROMPT 39 3 "" //2sx
|
||||||
PICTURE "####.###.^^^"
|
PICTURE "####.###.###"
|
||||||
|
MESSAGE _IMP
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 3 3
|
NUMERO 3 3
|
||||||
BEGIN
|
BEGIN
|
||||||
KEY "Numero di pagina"
|
KEY "Numero di pagina"
|
||||||
PROMPT 75 4 ""
|
PROMPT 74 4 "" //1sx
|
||||||
END
|
END
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
|
@ -302,9 +302,9 @@ STRING F_PARTITA_IVA 12
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 51 13 "Partita IVA "
|
PROMPT 51 13 "Partita IVA "
|
||||||
USE LF_CLIFO KEY 5
|
USE LF_CLIFO KEY 5
|
||||||
INPUT TIPOCF O_TIPO_CF SELECT
|
INPUT TIPOCF F_TIPO_CF SELECT
|
||||||
INPUT STATOPAIV O_STATO
|
INPUT STATOPAIV F_STATO
|
||||||
INPUT PAIV O_PARTITA_IVA
|
INPUT PAIV F_PARTITA_IVA
|
||||||
DISPLAY "Stato" STATOPAIV
|
DISPLAY "Stato" STATOPAIV
|
||||||
DISPLAY "Partita IVA@12" PAIV
|
DISPLAY "Partita IVA@12" PAIV
|
||||||
DISPLAY "Codice" CODCF
|
DISPLAY "Codice" CODCF
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
[PRASSIIN_001]
|
[INMENU_001]
|
||||||
Caption = "Elenchi Intracomunitari"
|
Caption = "Elenchi Intracomunitari"
|
||||||
Picture = <ba00.bmp>
|
Picture = <ba00.bmp>
|
||||||
Module = 18
|
Module = 18
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Tabelle", [PRASSIIN_002]
|
Item_01 = "Tabelle", [INMENU_002]
|
||||||
Item_02 = "Stampa Tabelle", [PRASSIIN_003]
|
Item_02 = "Stampa Tabelle", [INMENU_003]
|
||||||
Item_03 = "Gestione movimenti", [PRASSIIN_004]
|
Item_03 = "Gestione movimenti", [INMENU_004]
|
||||||
|
|
||||||
[PRASSIIN_002]
|
[INMENU_002]
|
||||||
Caption = "Tabelle"
|
Caption = "Tabelle"
|
||||||
Picture = <ba01.bmp>
|
Picture = <ba01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -18,7 +18,7 @@ Item_03 = "Natura Transazione", "ba3 -0 %int", ""
|
|||||||
Item_04 = "Condizioni di consegna", "ba3 -0 %icc", ""
|
Item_04 = "Condizioni di consegna", "ba3 -0 %icc", ""
|
||||||
Item_05 = "Modalita' di trasporto", "ba3 -0 %imt", ""
|
Item_05 = "Modalita' di trasporto", "ba3 -0 %imt", ""
|
||||||
|
|
||||||
[PRASSIIN_003]
|
[INMENU_003]
|
||||||
Caption = "Stampa Tabelle"
|
Caption = "Stampa Tabelle"
|
||||||
Picture = <ba01.bmp>
|
Picture = <ba01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -29,7 +29,7 @@ Item_03 = "Natura Transazione", "ba3 -1 %int", ""
|
|||||||
Item_04 = "Condizioni di consegna", "ba3 -1 %icc", ""
|
Item_04 = "Condizioni di consegna", "ba3 -1 %icc", ""
|
||||||
Item_05 = "Modalita' di trasporto", "ba3 -1 %imt", ""
|
Item_05 = "Modalita' di trasporto", "ba3 -1 %imt", ""
|
||||||
|
|
||||||
[PRASSIIN_004]
|
[INMENU_004]
|
||||||
Caption = "Gestione movimenti"
|
Caption = "Gestione movimenti"
|
||||||
Picture = <ba00.bmp>
|
Picture = <ba00.bmp>
|
||||||
Module = 18
|
Module = 18
|
@ -286,7 +286,11 @@ long TApplication::handler(WINDOW win, EVENT* ep)
|
|||||||
{
|
{
|
||||||
on_firm_change();
|
on_firm_change();
|
||||||
on_config_change();
|
on_config_change();
|
||||||
|
#ifdef XVAGA
|
||||||
|
return 1;
|
||||||
|
#else
|
||||||
do_events();
|
do_events();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
stop_run();
|
stop_run();
|
||||||
@ -516,7 +520,7 @@ const char* TApplication::get_module_name() const
|
|||||||
}
|
}
|
||||||
if (!ok)
|
if (!ok)
|
||||||
{
|
{
|
||||||
error_box("Il modulo '%s' non e' autorizzato", (const char*)module);
|
error_box("Il modulo '%s' non e' autorizzato per l'utente %s", (const char*)module, ((const char*)user()));
|
||||||
module.cut(0);
|
module.cut(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -527,18 +531,10 @@ const char* TApplication::get_module_name() const
|
|||||||
|
|
||||||
void TApplication::set_perms()
|
void TApplication::set_perms()
|
||||||
{
|
{
|
||||||
#ifndef _DEMO_
|
_user_aut.set(0, TRUE); // Attiva la BASE
|
||||||
_dongle_aut.set(0, TRUE);
|
|
||||||
for (int i = 1 ; i < ENDAUT; i++)
|
|
||||||
{
|
|
||||||
const bool val = ::dongle().active(i);
|
|
||||||
_dongle_aut.set(i, val);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
_user_aut.set(0, TRUE);
|
|
||||||
|
|
||||||
TString& utente = user();
|
TString& utente = user();
|
||||||
if (utente.empty() && god_mode("PrassiForever"))
|
if (utente.empty() && god_mode("AdminForever"))
|
||||||
utente = ::dongle().administrator();
|
utente = ::dongle().administrator();
|
||||||
|
|
||||||
if (utente.not_empty())
|
if (utente.not_empty())
|
||||||
@ -674,7 +670,7 @@ void TApplication::run(
|
|||||||
cfg.about_box_ID = 0;
|
cfg.about_box_ID = 0;
|
||||||
cfg.base_appl_name = (char*)base.name();
|
cfg.base_appl_name = (char*)base.name();
|
||||||
cfg.appl_name = (char*)title;
|
cfg.appl_name = (char*)title;
|
||||||
cfg.taskwin_title = "PR.A.S.S.I.";
|
cfg.taskwin_title = "CAMPO";
|
||||||
|
|
||||||
set_xvt_hooks();
|
set_xvt_hooks();
|
||||||
|
|
||||||
@ -684,7 +680,7 @@ void TApplication::run(
|
|||||||
|
|
||||||
bool TApplication::get_version_info(int& year, int& release, int& tag, int& patch)
|
bool TApplication::get_version_info(int& year, int& release, int& tag, int& patch)
|
||||||
{
|
{
|
||||||
const char* const VERSIONANDPATCH = "Don't cry for me Argentina.1998.01.00.000.1999";
|
const char* const VERSIONANDPATCH = "Don't cry for me Argentina.2002.02.00.000.2004";
|
||||||
TToken_string vep(VERSIONANDPATCH, '.');
|
TToken_string vep(VERSIONANDPATCH, '.');
|
||||||
year = vep.get_int(1);
|
year = vep.get_int(1);
|
||||||
release = vep.get_int();
|
release = vep.get_int();
|
||||||
@ -692,7 +688,7 @@ bool TApplication::get_version_info(int& year, int& release, int& tag, int& patc
|
|||||||
patch = vep.get_int();
|
patch = vep.get_int();
|
||||||
int checksum = vep.get_int();
|
int checksum = vep.get_int();
|
||||||
|
|
||||||
bool valid = year >= 1997 && release > 0 && tag >= 0 && patch >= 0 &&
|
bool valid = year >= 2002 && release > 0 && tag >= 0 && patch >= 0 &&
|
||||||
checksum == (year + release + tag + patch);
|
checksum == (year + release + tag + patch);
|
||||||
return valid;
|
return valid;
|
||||||
}
|
}
|
||||||
@ -711,9 +707,8 @@ void TApplication::about() const
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#include <prassi.ver>
|
message_box("Versione 2.00\nProgramma %s\nLibreria del %s\nNumero di serie %u\nUtente %s",
|
||||||
message_box("Versione %s\nProgramma %s\nLibreria del %s\nN.ro di serie %u-%s",
|
(const char*)n.name(), __DATE__, ser_no, (const char*)user());
|
||||||
VERSION, (const char*)n.name(), __DATE__, ser_no, INTERNAL_VERSION);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -752,32 +747,18 @@ void TApplication::enable_menu_item(
|
|||||||
xvt_menu_update(TASK_WIN);
|
xvt_menu_update(TASK_WIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
// @cmember Setta il cursore a clessidra (To be removed soon)
|
|
||||||
void TApplication::begin_wait()
|
|
||||||
{
|
|
||||||
::begin_wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
// @cmember Setta il cursore standard (To be removed soon)
|
|
||||||
void TApplication::end_wait()
|
|
||||||
{
|
|
||||||
::end_wait();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TApplication::has_module(int module, int checktype) const
|
bool TApplication::has_module(int module, int checktype) const
|
||||||
{
|
{
|
||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
|
|
||||||
#ifdef DBG
|
|
||||||
// Ignora i bit di attivazione della chiave programmatori (sempre attivati)
|
|
||||||
if (get_serial_number() == 0)
|
|
||||||
checktype = CHK_USER;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef _DEMO_
|
#ifndef _DEMO_
|
||||||
// Testa bit di attivazione della chiave
|
// Ignora i bit di attivazione della chiave programmatori (sempre attivati)
|
||||||
|
if (get_serial_number() == 0)
|
||||||
|
checktype = CHK_USER;
|
||||||
|
|
||||||
if (checktype == CHK_ALL || checktype == CHK_DONGLE)
|
if (checktype == CHK_ALL || checktype == CHK_DONGLE)
|
||||||
ok = _dongle_aut[module];
|
ok = dongle().active(module);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Testa bit di attivazione dell'utente
|
// Testa bit di attivazione dell'utente
|
||||||
|
@ -43,8 +43,6 @@ class TApplication
|
|||||||
const char** _argv_;
|
const char** _argv_;
|
||||||
// @cmember:(INTERNAL) Ora di inizio utilizzo del programma (per versioni DEMO)
|
// @cmember:(INTERNAL) Ora di inizio utilizzo del programma (per versioni DEMO)
|
||||||
time_t _start_time;
|
time_t _start_time;
|
||||||
// @cmember:(INTERNAL) Array di autorizzazione concessa della chiavi
|
|
||||||
TBit_array _dongle_aut;
|
|
||||||
// @cmember:(INTERNAL) Array di autorizzazione concessa all'utente
|
// @cmember:(INTERNAL) Array di autorizzazione concessa all'utente
|
||||||
TBit_array _user_aut;
|
TBit_array _user_aut;
|
||||||
// @cmember:(INTERNAL) Array di valori dei modi speciali
|
// @cmember:(INTERNAL) Array di valori dei modi speciali
|
||||||
@ -196,11 +194,6 @@ public:
|
|||||||
// @cmember Ritorna la directory in cui si trovano i dati della ditta corrente
|
// @cmember Ritorna la directory in cui si trovano i dati della ditta corrente
|
||||||
const char* get_firm_dir() const;
|
const char* get_firm_dir() const;
|
||||||
|
|
||||||
// @cmember Setta il cursore a clessidra
|
|
||||||
void begin_wait();
|
|
||||||
// @cmember Setta il cursore standard
|
|
||||||
void end_wait();
|
|
||||||
|
|
||||||
// @cmember Interfaccia runtime del menu' della finestra principale???
|
// @cmember Interfaccia runtime del menu' della finestra principale???
|
||||||
bool add_menu(TString_array& menu, MENU_TAG id = 0);
|
bool add_menu(TString_array& menu, MENU_TAG id = 0);
|
||||||
// @cmember Elimina il menu' <p id> (Ritorna se ce l'ha fatta???)
|
// @cmember Elimina il menu' <p id> (Ritorna se ce l'ha fatta???)
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
#include <direct.h>
|
#include <direct.h>
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
#include <agasys.h>
|
||||||
#define XVT_INCL_NATIVE
|
|
||||||
#define STRICT
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <archives.h>
|
#include <archives.h>
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <defmask.h>
|
#include <defmask.h>
|
||||||
#include <execp.h>
|
|
||||||
#include <isam.h>
|
#include <isam.h>
|
||||||
#include <mask.h>
|
#include <mask.h>
|
||||||
#include <os_dep.h>
|
#include <os_dep.h>
|
||||||
@ -17,101 +12,10 @@
|
|||||||
#include <urldefid.h>
|
#include <urldefid.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
|
||||||
|
|
||||||
#include <al.h>
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
// TProgress_win declaration
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
class TProgress_win : public TMask
|
|
||||||
{
|
|
||||||
ALWindowsMessage* _monitor;
|
|
||||||
TArchive* _arc;
|
|
||||||
|
|
||||||
protected:
|
|
||||||
static bool cancel_handler(TMask_field&, KEY k);
|
|
||||||
|
|
||||||
public:
|
|
||||||
ALWindowsMessage* monitor() const { return _monitor; }
|
|
||||||
|
|
||||||
TProgress_win(const char* title, TArchive* = NULL);
|
|
||||||
~TProgress_win();
|
|
||||||
};
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
// TArchive
|
// TArchive
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @mfunc Funzione per richiedere all'utente il dischetto e per controllare la
|
|
||||||
// corretta sequenza dei dischetti da inserire
|
|
||||||
//
|
|
||||||
// @rdesc Ritorna il puntatore al file presente (o meno) sul dischetto
|
|
||||||
FILE* TArchive::ask_disk(
|
|
||||||
TFilename& name, // @parm Nome del file da creare/cercare su disco
|
|
||||||
int disk, // @parm Numero progressivo del set
|
|
||||||
char floppy, // @parm Drive sul quale effettuare l'operazione (A, B, C, ...)
|
|
||||||
bool lettura) const // @parm Indica il modo di apertura del file:
|
|
||||||
//
|
|
||||||
// @flag TRUE | Apre il file in lettura
|
|
||||||
// @flag FALSE | Apre il file in scrittura
|
|
||||||
{
|
|
||||||
TFilename prev(name);
|
|
||||||
TString16 ext; ext.format("%03d", disk-1);
|
|
||||||
prev.ext(ext); // File precedente
|
|
||||||
bool first = TRUE;
|
|
||||||
do
|
|
||||||
{
|
|
||||||
if (first)
|
|
||||||
{
|
|
||||||
message_box("Inserire il disco %d nel drive %c:\n"
|
|
||||||
"File '%s'", disk, floppy, (const char*)prev.name());
|
|
||||||
first = FALSE;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
const bool ok = yesno_box("Inserire il disco %d nel drive %c\n"
|
|
||||||
"Estrarre il disco %d e continuare?",
|
|
||||||
disk, floppy, disk-1);
|
|
||||||
if (!ok) return NULL;
|
|
||||||
}
|
|
||||||
} while (prev.exist()); // Non facciamo i furbetti!
|
|
||||||
|
|
||||||
ext.format("%03d", disk);
|
|
||||||
name.ext(ext); // File attuale
|
|
||||||
|
|
||||||
FILE* f = NULL;
|
|
||||||
bool retry = TRUE;
|
|
||||||
while (retry)
|
|
||||||
{
|
|
||||||
f = fopen(name, lettura ? "rb" : "wb");
|
|
||||||
if (f == NULL)
|
|
||||||
retry = yesno_box("Il file %s non e' %s: riprovare?",
|
|
||||||
(const char*)name, lettura ? "accessibile" : "scrivibile");
|
|
||||||
else
|
|
||||||
{
|
|
||||||
setvbuf(f, NULL, _IOFBF, BUFSIZE);
|
|
||||||
retry = FALSE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
long TArchive::fsize(FILE* f) const
|
|
||||||
{
|
|
||||||
CHECK(f, "Can't measure NULL file");
|
|
||||||
fseek(f, 0, SEEK_END);
|
|
||||||
const long s = ftell(f);
|
|
||||||
fseek(f, 0, SEEK_SET);
|
|
||||||
return s;
|
|
||||||
}
|
|
||||||
|
|
||||||
int TArchive::build_backup_list(int mode, long firm, TString_array& fl) const
|
int TArchive::build_backup_list(int mode, long firm, TString_array& fl) const
|
||||||
{
|
{
|
||||||
fl.destroy();
|
fl.destroy();
|
||||||
@ -151,14 +55,6 @@ int TArchive::build_backup_list(int mode, long firm, TString_array& fl) const
|
|||||||
fl.add(name);
|
fl.add(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mode & 0x10)
|
|
||||||
{
|
|
||||||
TFilename name(firm2dir(-1)); // __ptprf
|
|
||||||
name.add("cesp"); // Aggiungi Cespiti
|
|
||||||
if (fexist(name))
|
|
||||||
fl.add(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
return fl.items();
|
return fl.items();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -223,13 +119,6 @@ int TArchive::build_restore_list(
|
|||||||
else
|
else
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (name.compare("cesp", -1, TRUE) == 0)
|
|
||||||
{
|
|
||||||
if (mode & 0x10)
|
|
||||||
mode &= ~0x10;
|
|
||||||
else
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
TFilename fn(firm2dir(-1)); // __ptprf
|
TFilename fn(firm2dir(-1)); // __ptprf
|
||||||
fn.add(name);
|
fn.add(name);
|
||||||
@ -283,438 +172,6 @@ bool TArchive::write_ini(TFilename& work, int disk, long tot, const char* desc,
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @mfunc Spezza il file in modo da farlo stare sul dischetto
|
|
||||||
//
|
|
||||||
// @rdesc Ritorna se e' riuscito a spezzare il file
|
|
||||||
bool TArchive::fsplit(
|
|
||||||
const char* filename, // @parm Nome del file da spezzare
|
|
||||||
char floppy, // @parm Floppy su cui scaricare il file
|
|
||||||
const char* desc) const // @parm Descrizione dell'archivio
|
|
||||||
{
|
|
||||||
const TFilename from(filename); // File da splittare
|
|
||||||
|
|
||||||
FILE* i = fopen(from, "rb");
|
|
||||||
if (i == NULL)
|
|
||||||
return error_box("Impossibile aprire il file '%s'", from);
|
|
||||||
setvbuf(i, NULL, _IOFBF, BUFSIZE);
|
|
||||||
|
|
||||||
const long tot = fsize(i);
|
|
||||||
long scritti = 0;
|
|
||||||
|
|
||||||
TFilename work;
|
|
||||||
work << floppy << ":/" << from.name(); // File su dischetto
|
|
||||||
|
|
||||||
if (!os_test_disk_free_space(work, tot))
|
|
||||||
{
|
|
||||||
TString16 dev("A:\\*.*"); dev[0] = floppy;
|
|
||||||
TString_array dir;
|
|
||||||
if (list_files(dev, dir) > 1)
|
|
||||||
{
|
|
||||||
fclose(o);
|
|
||||||
::remove(work);
|
|
||||||
warning_box("Il salvataggio del file %s, generato dalla procedura, richiederà più di un dischetto: "
|
|
||||||
"il floppy inserito risulta contenere uno o più files. E' consigliabile "
|
|
||||||
"utilizzare dischetti vuoti o formattati per ridurre il loro numero.\n"
|
|
||||||
"OK per continuare.", (const char*)from.name());
|
|
||||||
o = fopen(work, "wb");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int disk = 1;
|
|
||||||
if (!write_ini(work, disk, tot, desc, floppy))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
TString msg("Archiviazione di "); msg << work << " (" << (tot/1024) << "K)";
|
|
||||||
TProgind w(tot, msg, TRUE, TRUE);
|
|
||||||
|
|
||||||
TString buffer(BUFSIZE);
|
|
||||||
|
|
||||||
bool ok = TRUE;
|
|
||||||
while (ok)
|
|
||||||
{
|
|
||||||
const size_t letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
|
||||||
|
|
||||||
if (o != NULL)
|
|
||||||
ok = (letti > 0) ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
|
||||||
else
|
|
||||||
ok = FALSE;
|
|
||||||
|
|
||||||
if (!ok)
|
|
||||||
{
|
|
||||||
if (o != NULL)
|
|
||||||
{
|
|
||||||
chsize(fileno(o),scritti); // Must truncate output file or some information will be rewritten on next disk!
|
|
||||||
scritti = 0; // Reset count bytes written to disk.
|
|
||||||
fclose(o);
|
|
||||||
}
|
|
||||||
o = ask_disk(work, ++disk, floppy, FALSE);
|
|
||||||
ok = o != NULL;
|
|
||||||
if (ok)
|
|
||||||
{
|
|
||||||
TFilename parag(work.name()); parag.ext("");
|
|
||||||
TFilename ini("a:/backup.ini"); ini[0] = floppy;
|
|
||||||
|
|
||||||
if (!write_ini(work, disk, tot, desc, floppy))
|
|
||||||
break;
|
|
||||||
|
|
||||||
ok = (letti > 0) ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
|
||||||
if (!ok)
|
|
||||||
error_box("Impossibile scrivere i dati sul dischetto");
|
|
||||||
else
|
|
||||||
scritti +=letti;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
scritti += letti;
|
|
||||||
w.addstatus(letti);
|
|
||||||
if (ok)
|
|
||||||
ok = !w.iscancelled();
|
|
||||||
if (letti < BUFSIZE)
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose(i);
|
|
||||||
if (o != NULL) fclose(o);
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @mfunc Ricostruisce il file spezzato
|
|
||||||
//
|
|
||||||
// @rdesc Ritorna se e' riuscito a ricostruire il file
|
|
||||||
bool TArchive::fbuild(
|
|
||||||
const char* filename, // @parm Nome del file da ricostrutire
|
|
||||||
char floppy) const // @parm Floppy da cui recupare i pezzi del file
|
|
||||||
{
|
|
||||||
const TFilename work(filename);
|
|
||||||
|
|
||||||
FILE* o = fopen(work, "wb"), *i = NULL;
|
|
||||||
if (o == NULL)
|
|
||||||
return error_box("Impossibile creare il file '%s'", (const char*)work);
|
|
||||||
setvbuf(o, NULL, _IOFBF, BUFSIZE);
|
|
||||||
|
|
||||||
long totale = 0L; // Bytes letti
|
|
||||||
long max = 1440000L; // Bytes da leggere
|
|
||||||
TFilename name; // Nome del file su dischetto
|
|
||||||
name << floppy << ":/" << work.name();
|
|
||||||
|
|
||||||
TString256 msg("Ripristino da "); msg << name;
|
|
||||||
TProgind w(max, msg, TRUE, TRUE, 40);
|
|
||||||
|
|
||||||
int disk = 0;
|
|
||||||
TString buffer(BUFSIZE);
|
|
||||||
|
|
||||||
bool ok = TRUE;
|
|
||||||
while (ok)
|
|
||||||
{
|
|
||||||
size_t letti = 0;
|
|
||||||
if (i != NULL)
|
|
||||||
{
|
|
||||||
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
|
||||||
ok = letti > 0;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
ok = FALSE;
|
|
||||||
|
|
||||||
if (!ok) // Richiedi nuovo disco
|
|
||||||
{
|
|
||||||
if (i != NULL) fclose(i);
|
|
||||||
i = ask_disk(name, ++disk, floppy, TRUE);
|
|
||||||
ok = i != NULL;
|
|
||||||
if (ok)
|
|
||||||
{
|
|
||||||
if (disk == 1)
|
|
||||||
{
|
|
||||||
TFilename ini("a:/backup.ini"); ini[0] = floppy;
|
|
||||||
if (ini.exist())
|
|
||||||
{
|
|
||||||
TFilename parag(name.name()); parag.ext("");
|
|
||||||
TConfig c(ini, parag);
|
|
||||||
max = c.get_long("Size");
|
|
||||||
}
|
|
||||||
else ok = yesno_box("Manca il file %s: continuare ugualmente?", (const char*)ini);
|
|
||||||
}
|
|
||||||
w.setmax(max);
|
|
||||||
|
|
||||||
if (ok) // Leggi primo blocco di bytes
|
|
||||||
{
|
|
||||||
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
|
||||||
ok = letti > 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ok) // La lettura e stata fatta bene
|
|
||||||
{
|
|
||||||
ok = fwrite((char*)(const char*)buffer, 1, letti, o) == letti;
|
|
||||||
if (ok)
|
|
||||||
{
|
|
||||||
w.addstatus(letti);
|
|
||||||
totale += letti;
|
|
||||||
ok = !w.iscancelled();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
error_box("Impossibile scrivere i dati sul file %s", (const char*)work);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!ok || totale == max) // Esci in caso di errore o se hai finito
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose(o);
|
|
||||||
if (i != NULL) fclose(i);
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @mfunc Effettua il backup della ditta o della directory
|
|
||||||
//
|
|
||||||
// @rdesc Ritorna il risultato dell'operazione
|
|
||||||
bool TArchive::backup(
|
|
||||||
const char* dir, // @parm Directory di cui effettuare il backup
|
|
||||||
char floppy, // @parm Floppy su cui effettuare il backup
|
|
||||||
const char* desc, // @parm Descrizione da assegnare al backup
|
|
||||||
bool)
|
|
||||||
|
|
||||||
// @syntax bool backup(const char* dir, char floppy, const char* desc, bool pr_set);
|
|
||||||
// @syntax bool backup(long firm, char floppy, const char* desc, bool pr_set);
|
|
||||||
|
|
||||||
// @comm Il parametro <p pr_set> e' utilizzato per evitare errori di riaperture di files.
|
|
||||||
|
|
||||||
{
|
|
||||||
const TString16 old(prefix().name());
|
|
||||||
if (pr_set)
|
|
||||||
prefix().set(NULL);
|
|
||||||
|
|
||||||
DIRECTORY curdir;
|
|
||||||
xvt_fsys_get_dir(&curdir);
|
|
||||||
if (dir[1] == ':')
|
|
||||||
_chdrive(toupper(dir[0]) - '@');
|
|
||||||
chdir(dir);
|
|
||||||
|
|
||||||
const TFilename d(dir);
|
|
||||||
const TString16 name(d.name());
|
|
||||||
TFilename work; work.tempdir(); work.add(name); work.ext("gal");
|
|
||||||
|
|
||||||
// Cancella eventuali gal residui
|
|
||||||
TString_array gals;
|
|
||||||
list_files("*.000", gals);
|
|
||||||
list_files("*.gal", gals);
|
|
||||||
for (int g = gals.items()-1; g >= 0; g--)
|
|
||||||
::remove(gals.row(g));
|
|
||||||
|
|
||||||
_arc = new ALArchive(work);
|
|
||||||
|
|
||||||
TString title("Archiviazione di "); title << name;
|
|
||||||
TProgress_win w(title, this);
|
|
||||||
ALEntryList list(w.monitor());
|
|
||||||
_arc->AddWildCardFiles(list, "*.*", 1);
|
|
||||||
|
|
||||||
w.open_modal();
|
|
||||||
_arc->Create( list );
|
|
||||||
w.close_modal();
|
|
||||||
|
|
||||||
bool ok = _arc->mStatus == AL_SUCCESS;
|
|
||||||
if (ok)
|
|
||||||
ok = fsplit(work, floppy, desc);
|
|
||||||
else
|
|
||||||
error_box("Compressione degli archivi errata o incompleta:\n%s",
|
|
||||||
_arc->mStatus.GetStatusDetail());
|
|
||||||
|
|
||||||
delete _arc; _arc = NULL;
|
|
||||||
|
|
||||||
remove(work);
|
|
||||||
xvt_fsys_set_dir(&curdir);
|
|
||||||
if (pr_set)
|
|
||||||
prefix().set(old);
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TArchive::backup(int mode, long firm, char floppy, const char* desc, bool pr_set)
|
|
||||||
{
|
|
||||||
TString_array fl;
|
|
||||||
const int num_ditte = build_backup_list(mode, firm, fl);
|
|
||||||
|
|
||||||
bool ok = TRUE;
|
|
||||||
for (int f = 0; f < num_ditte; f++)
|
|
||||||
{
|
|
||||||
ok = backup(fl.row(f), floppy, desc);
|
|
||||||
if (!ok) break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
|
||||||
|
|
||||||
// @mfunc Effettua il restore della ditta o dell directory
|
|
||||||
//
|
|
||||||
// @rdesc Ritorna il risultato dell'operazione
|
|
||||||
bool TArchive::restore(
|
|
||||||
const char* dir, // @parm Directory di cui effettuare il restore
|
|
||||||
char floppy, // @parm Floppy da cui leggere i dati
|
|
||||||
bool tmp, // @parm Directory temporanea da utilizzare
|
|
||||||
bool)
|
|
||||||
// @syntax bool restore(const char* dir, char floppy, bool temp, bool pr_set);
|
|
||||||
// @syntax bool restore(long firm, char floppy, bool temp, bool pr_set);
|
|
||||||
|
|
||||||
{
|
|
||||||
TFilename work;
|
|
||||||
if (tmp)
|
|
||||||
work.tempdir();
|
|
||||||
else
|
|
||||||
work = dir;
|
|
||||||
|
|
||||||
TFilename output(dir);
|
|
||||||
output = output.name(); output.ext("gal");
|
|
||||||
|
|
||||||
if (!yesno_box("Attenzione l'archivio sul disco %c: verra' ripristinato\n"
|
|
||||||
"nella cartella %s. Continuare?", floppy, (const char*)work))
|
|
||||||
return FALSE;
|
|
||||||
|
|
||||||
xvt_fsys_save_dir();
|
|
||||||
if (work[1] == ':')
|
|
||||||
_chdrive(toupper(work[0]) - '@');
|
|
||||||
bool ok = chdir(work) == 0;
|
|
||||||
if (!ok)
|
|
||||||
{
|
|
||||||
ok = yesno_box("Non esiste la cartella %s: si desidera crearla?", (const char*)work);
|
|
||||||
if (ok)
|
|
||||||
{
|
|
||||||
make_dir(work);
|
|
||||||
ok = chdir(work) == 0;
|
|
||||||
}
|
|
||||||
if (!ok)
|
|
||||||
return error_box("Impossibile accedere a %s", (const char*)work);
|
|
||||||
}
|
|
||||||
|
|
||||||
const TString16 old(prefix().name());
|
|
||||||
prefix().set(NULL);
|
|
||||||
|
|
||||||
ok = fbuild(output, floppy);
|
|
||||||
|
|
||||||
if (ok)
|
|
||||||
{
|
|
||||||
_arc = new ALArchive(output);
|
|
||||||
|
|
||||||
TAssoc_array subdirs; // Array delle sottocartellle da creare
|
|
||||||
TProgress_win w("Ripristino", this);
|
|
||||||
ALEntryList list(w.monitor());
|
|
||||||
_arc->ReadDirectory(list);
|
|
||||||
|
|
||||||
// Naviga attraverso l'archivio e compone l'array delle cartelle da creare
|
|
||||||
ALEntry *entry = list.GetFirstEntry();
|
|
||||||
TFilename path;
|
|
||||||
|
|
||||||
while (entry)
|
|
||||||
{
|
|
||||||
path = entry->mpStorageObject->mName;
|
|
||||||
path = path.path();
|
|
||||||
if (path.not_empty() && subdirs.objptr(path) == NULL) // Se non c'e' lo aggiunge alla lista
|
|
||||||
if (!fexist(path))
|
|
||||||
subdirs.add(path,path);
|
|
||||||
entry = entry->GetNextEntry();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Scorre la lista delle sottocartelle da creare
|
|
||||||
for (TFilename* p = (TFilename*)subdirs.first_item(); p != NULL; p = (TFilename*)subdirs.succ_item())
|
|
||||||
{
|
|
||||||
p->rtrim(1); // Strip trailing /
|
|
||||||
make_dir(*p);
|
|
||||||
}
|
|
||||||
|
|
||||||
w.open_modal();
|
|
||||||
_arc->Extract( list );
|
|
||||||
|
|
||||||
ok = _arc->mStatus == AL_SUCCESS;
|
|
||||||
if (!ok) error_box("Ripristino degli archivi errato o incompleto:\n%s",
|
|
||||||
_arc->mStatus.GetStatusString());
|
|
||||||
w.close_modal();
|
|
||||||
delete _arc; _arc = NULL;
|
|
||||||
|
|
||||||
remove(output);
|
|
||||||
}
|
|
||||||
|
|
||||||
xvt_fsys_restore_dir();
|
|
||||||
prefix().set(old);
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TArchive::restore(int mode, long firm, char floppy, bool temp, bool pr_set)
|
|
||||||
{
|
|
||||||
bool ok = TRUE;
|
|
||||||
while (ok && mode != 0)
|
|
||||||
{
|
|
||||||
TString_array fl;
|
|
||||||
const int num_ditte = build_restore_list(mode, firm, floppy, fl);
|
|
||||||
if (num_ditte <= 0)
|
|
||||||
break;
|
|
||||||
for (int f = 0; f < num_ditte; f++)
|
|
||||||
{
|
|
||||||
const TToken_string& code = fl.row(f);
|
|
||||||
ok = restore(code, floppy, temp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void TArchive::stop_job()
|
|
||||||
{
|
|
||||||
if (_arc != NULL)
|
|
||||||
_arc->GetStorageObject()->mStatus.SetError(AL_USER_ABORT, "Interrotto dall'utente");
|
|
||||||
}
|
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
// TProgress_win implementation
|
|
||||||
///////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
TProgress_win::TProgress_win(const char* title, TArchive* arc)
|
|
||||||
: TMask(title, 1, 60, 5), _arc(arc), _monitor(NULL)
|
|
||||||
{
|
|
||||||
RCT rct;
|
|
||||||
xvt_rect_set(&rct, CHARX, CHARY, 58*CHARX, 5*CHARY/2);
|
|
||||||
WINDOW wtxt = xvt_ctl_create(WC_EDIT, &rct, "", win(), CTL_FLAG_DISABLED, (long)this, 101);
|
|
||||||
xvt_rect_set(&rct, 28*CHARX, 3*CHARY, 33*CHARX, 9*CHARY/2);
|
|
||||||
WINDOW wnum = xvt_ctl_create(WC_EDIT, &rct, "", win(), CTL_FLAG_DISABLED, (long)this, 102);
|
|
||||||
|
|
||||||
add_button(DLG_USER, 0, "Cancel", -11, -1, 10, 2, "", BMP_CANCEL);
|
|
||||||
set_handler(DLG_USER, cancel_handler);
|
|
||||||
|
|
||||||
HWND txt = (HWND)xvt_vobj_get_attr(wtxt, ATTR_NATIVE_WINDOW);
|
|
||||||
HWND num = (HWND)xvt_vobj_get_attr(wnum, ATTR_NATIVE_WINDOW);
|
|
||||||
_monitor = new ALWindowsMessage(AL_MONITOR_OBJECTS, txt, AL_SEND_RATIO, num);
|
|
||||||
}
|
|
||||||
|
|
||||||
TProgress_win::~TProgress_win()
|
|
||||||
{
|
|
||||||
if (_monitor) delete _monitor;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TProgress_win::cancel_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_SPACE)
|
|
||||||
{
|
|
||||||
TProgress_win& m = (TProgress_win&)f.mask();
|
|
||||||
if (m._arc != NULL)
|
|
||||||
m._arc->stop_job();
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
bool TArchive::move_file(const TFilename& file, const char* dir) const
|
bool TArchive::move_file(const TFilename& file, const char* dir) const
|
||||||
{
|
{
|
||||||
TFilename dest(dir);
|
TFilename dest(dir);
|
||||||
@ -758,6 +215,50 @@ bool TArchive::move_file(const TFilename& file, const char* dir) const
|
|||||||
return write_ok;
|
return write_ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool TArchive::split_file(const TFilename& archive, unsigned long max_chunk) const
|
||||||
|
{
|
||||||
|
TFilename output(archive);
|
||||||
|
output.ext("z00");
|
||||||
|
|
||||||
|
int disk = 0;
|
||||||
|
unsigned long scritti = 0;
|
||||||
|
|
||||||
|
FILE* i = fopen(archive, "rb");
|
||||||
|
if (i == NULL)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
FILE* o = fopen(output, "wb");
|
||||||
|
|
||||||
|
const int BUFSIZE = 1024*16;
|
||||||
|
TString buf(BUFSIZE);
|
||||||
|
char* buffer = buf.get_buffer();
|
||||||
|
|
||||||
|
bool ok = TRUE;
|
||||||
|
while (ok)
|
||||||
|
{
|
||||||
|
const size_t letti = fread(buffer, 1, BUFSIZE, i);
|
||||||
|
if (letti == 0)
|
||||||
|
break;
|
||||||
|
|
||||||
|
if (scritti >= max_chunk)
|
||||||
|
{
|
||||||
|
fclose(o);
|
||||||
|
|
||||||
|
TString16 ext; ext.format("z%02d", ++disk);
|
||||||
|
output.ext(ext);
|
||||||
|
o = fopen(output, "wb");
|
||||||
|
scritti = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
ok = fwrite(buffer, letti, 1, o) > 0;
|
||||||
|
scritti += letti;
|
||||||
|
}
|
||||||
|
fclose(i);
|
||||||
|
fclose(o);
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
}
|
||||||
|
|
||||||
bool TArchive::fsplit_zip(
|
bool TArchive::fsplit_zip(
|
||||||
const char* filename, // @parm Nome del file da spezzare
|
const char* filename, // @parm Nome del file da spezzare
|
||||||
char floppy, // @parm Floppy su cui scaricare il file
|
char floppy, // @parm Floppy su cui scaricare il file
|
||||||
@ -784,32 +285,22 @@ bool TArchive::fsplit_zip(
|
|||||||
if (size < minsize)
|
if (size < minsize)
|
||||||
size = minsize;
|
size = minsize;
|
||||||
|
|
||||||
// Costruisce percorso dello splitter
|
if (!split_file(archive, size))
|
||||||
TFilename cmd("zipsplit.pif");
|
return error_box("Errore durante lo splitting del file %s", (const char*)archive);
|
||||||
cmd << " -n " << (long)size << " -b " << archive.path() << ' ' << archive;
|
|
||||||
|
|
||||||
// Esegue lo splitter nella directory temporanea
|
|
||||||
TExternal_app app(cmd);
|
|
||||||
int err = app.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
|
|
||||||
if (err != NOERR)
|
|
||||||
return error_box("Errore %d durante lo splitting del file %s",
|
|
||||||
err, (const char*)archive);
|
|
||||||
|
|
||||||
size = ::fsize(archive);
|
size = ::fsize(archive);
|
||||||
::remove(archive);
|
::remove(archive);
|
||||||
|
|
||||||
for (int d = 1; ; d++)
|
for (int d = 0; ; d++)
|
||||||
{
|
{
|
||||||
|
TString16 ext; ext.format("z%02d", d);
|
||||||
TFilename src(archive);
|
TFilename src(archive);
|
||||||
src.ext("");
|
src.ext(ext);
|
||||||
src << d;
|
|
||||||
src.ext("zip");
|
|
||||||
if (src.exist())
|
if (src.exist())
|
||||||
{
|
{
|
||||||
if (d > 1)
|
if (d > 0)
|
||||||
{
|
{
|
||||||
message_box("Inserire il disco %d nel drive %c:", d, floppy);
|
message_box("Inserire il disco %d nel drive %c:", d+1, floppy);
|
||||||
do_events();
|
do_events();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -819,7 +310,7 @@ bool TArchive::fsplit_zip(
|
|||||||
ini.add("backup.ini");
|
ini.add("backup.ini");
|
||||||
TConfig c(ini, archive.name());
|
TConfig c(ini, archive.name());
|
||||||
c.set("Size", size);
|
c.set("Size", size);
|
||||||
c.set("Disk", d);
|
c.set("Disk", d+1);
|
||||||
c.set("Description", desc);
|
c.set("Description", desc);
|
||||||
c.set("Date", TDate(TODAY).string());
|
c.set("Date", TDate(TODAY).string());
|
||||||
}
|
}
|
||||||
@ -833,40 +324,6 @@ bool TArchive::fsplit_zip(
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* const file[] = { "zip.pif", "zip386.bat", "zip386.exe", "ziplist.txt", NULL };
|
|
||||||
|
|
||||||
bool TArchive::copy_zipper(const char* dir) const
|
|
||||||
{
|
|
||||||
bool ok = TRUE;
|
|
||||||
TFilename dest;
|
|
||||||
for (int f = 0; ok && file[f]; f++)
|
|
||||||
{
|
|
||||||
dest = dir;
|
|
||||||
dest.add(file[f]);
|
|
||||||
ok &= ::fcopy(file[f], dest);
|
|
||||||
}
|
|
||||||
return ok;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TArchive::remove_zipper(const char* dir) const
|
|
||||||
{
|
|
||||||
TFilename dest;
|
|
||||||
for (int f = 0; file[f]; f++)
|
|
||||||
{
|
|
||||||
dest = dir;
|
|
||||||
dest.add(file[f]);
|
|
||||||
::remove(dest);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
void TArchive::add_zipper_list(TString& str) const
|
|
||||||
{
|
|
||||||
for (int f = 0; file[f]; f++)
|
|
||||||
str << ' ' << file[f];
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @mfunc Effettua il backup della directory
|
// @mfunc Effettua il backup della directory
|
||||||
@ -887,12 +344,8 @@ bool TArchive::zip(
|
|||||||
const TString16 old(prefix().name());
|
const TString16 old(prefix().name());
|
||||||
prefix().set(NULL);
|
prefix().set(NULL);
|
||||||
|
|
||||||
const TFilename workdir(dir);
|
const TFilename workdir = dir;
|
||||||
|
const TString name = workdir.name();
|
||||||
TString16 name(workdir.name());
|
|
||||||
// Trasforma com in datcom altrimenti lo splitter lo trasforma in com1 e com2!
|
|
||||||
if (name.compare("com", -1, TRUE) == 0)
|
|
||||||
name = "datcom";
|
|
||||||
|
|
||||||
// Nome del file compresso
|
// Nome del file compresso
|
||||||
TFilename work; work.tempdir(); work.add(name); work.ext("zip");
|
TFilename work; work.tempdir(); work.add(name); work.ext("zip");
|
||||||
@ -907,31 +360,7 @@ bool TArchive::zip(
|
|||||||
fprintf(flist, "*.*");
|
fprintf(flist, "*.*");
|
||||||
fclose(flist);
|
fclose(flist);
|
||||||
|
|
||||||
copy_zipper(workdir);
|
bool ok = ::aga_zip_filelist(ZIPLIST, work);
|
||||||
|
|
||||||
// Esegui lo zippatore
|
|
||||||
TFilename cmd = workdir;
|
|
||||||
cmd.add("zip.pif");
|
|
||||||
cmd << ' ' << work << ' ' << ZIPLIST << " -D -r";
|
|
||||||
|
|
||||||
TExternal_app zipapp(cmd);
|
|
||||||
int err = zipapp.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
|
|
||||||
// Elimina files temporanei dallo zip
|
|
||||||
/*
|
|
||||||
cmd = workdir;
|
|
||||||
cmd.add("zip386.exe");
|
|
||||||
cmd << ' ' << work << " -d";
|
|
||||||
add_zipper_list(cmd);
|
|
||||||
TExternal_app zipdel(cmd);
|
|
||||||
zipdel.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Elimina i file temporanei dalla directory
|
|
||||||
remove_zipper(workdir);
|
|
||||||
|
|
||||||
// Splitta su floppy
|
|
||||||
bool ok = err == 0;
|
|
||||||
if (ok)
|
if (ok)
|
||||||
ok = fsplit_zip(work, floppy, desc);
|
ok = fsplit_zip(work, floppy, desc);
|
||||||
else
|
else
|
||||||
@ -978,8 +407,6 @@ bool TArchive::unzip(
|
|||||||
|
|
||||||
TFilename output(dir);
|
TFilename output(dir);
|
||||||
output = output.name();
|
output = output.name();
|
||||||
if (output.compare("com", -1, TRUE) == 0)
|
|
||||||
output = "datcom";
|
|
||||||
output.ext("zip");
|
output.ext("zip");
|
||||||
|
|
||||||
if (!yesno_box("Attenzione l'archivio %c:%s verra' ripristinato\n"
|
if (!yesno_box("Attenzione l'archivio %c:%s verra' ripristinato\n"
|
||||||
@ -1010,16 +437,22 @@ bool TArchive::unzip(
|
|||||||
cfg << floppy << ':';
|
cfg << floppy << ':';
|
||||||
cfg.add("backup.ini");
|
cfg.add("backup.ini");
|
||||||
TConfig c(cfg, output.name());
|
TConfig c(cfg, output.name());
|
||||||
long total_size = c.get_long("Size");
|
const unsigned long total_size = c.get_long("Size");
|
||||||
long read_size = 0;
|
unsigned long read_size = 0;
|
||||||
for (int d = 1; read_size < total_size; d++)
|
|
||||||
|
TFilename restored;
|
||||||
|
restored = work;
|
||||||
|
restored.add(output.name());
|
||||||
|
restored.ext("zip");
|
||||||
|
|
||||||
|
for (int d = 0; read_size < total_size; d++)
|
||||||
{
|
{
|
||||||
|
TString16 ext; ext.format("z%02d", d);
|
||||||
TFilename src;
|
TFilename src;
|
||||||
src << floppy << ':' << SLASH << output.name();
|
src << floppy << ':' << SLASH << output.name();
|
||||||
src.ext("");
|
src.ext(ext);
|
||||||
src << d << ".zip";
|
|
||||||
|
|
||||||
message_box("Inserire il disco %d contenente il file %s", d, (const char*)src);
|
message_box("Inserire il disco %d contenente il file %s", d+1, (const char*)src);
|
||||||
while (!src.exist())
|
while (!src.exist())
|
||||||
{
|
{
|
||||||
if (!yesno_box("Impossibile aprire il file %s:\nSi desidera ritentare?",
|
if (!yesno_box("Impossibile aprire il file %s:\nSi desidera ritentare?",
|
||||||
@ -1029,21 +462,17 @@ bool TArchive::unzip(
|
|||||||
|
|
||||||
if (src.exist())
|
if (src.exist())
|
||||||
{
|
{
|
||||||
TFilename cmd;
|
fcopy(src, restored, d > 0);
|
||||||
cmd << "unzip.pif -o " << src << " -d " << work;
|
read_size = ::fsize(restored);
|
||||||
TExternal_app app(cmd);
|
|
||||||
int err = app.run(FALSE, FALSE, FALSE, FALSE);
|
|
||||||
if (err == 0)
|
|
||||||
read_size += ::fsize(src);
|
|
||||||
else
|
|
||||||
{
|
|
||||||
error_box("Errore %d durante il ripristino del file %s", err, (const char*)src);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
ok = read_size == total_size;
|
||||||
|
if (ok)
|
||||||
|
ok = ::aga_unzip(restored, work);
|
||||||
|
else
|
||||||
|
error_box("Il file %s non è stato ripristinato completamente", (const char*)restored);
|
||||||
|
|
||||||
prefix().set(old);
|
prefix().set(old);
|
||||||
|
|
||||||
@ -1064,8 +493,6 @@ bool TArchive::unzip(int mode, long firm, char floppy, bool temp)
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN32
|
|
||||||
|
|
||||||
bool TArchive::backup(const char* dir, char floppy, const char* desc, bool)
|
bool TArchive::backup(const char* dir, char floppy, const char* desc, bool)
|
||||||
{
|
{
|
||||||
return zip(dir, floppy, desc);
|
return zip(dir, floppy, desc);
|
||||||
@ -1086,5 +513,4 @@ bool TArchive::restore(int mode, long firm, char floppy, bool tmp, bool)
|
|||||||
return unzip(mode, firm, floppy, tmp);
|
return unzip(mode, firm, floppy, tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
@ -1,10 +1,6 @@
|
|||||||
#ifndef __ARCHIVES_H
|
#ifndef __ARCHIVES_H
|
||||||
#define __ARCHIVES_H
|
#define __ARCHIVES_H
|
||||||
|
|
||||||
#ifndef __STDIO_H
|
|
||||||
#include <stdio.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __STRINGS_H
|
#ifndef __STRINGS_H
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
#endif
|
#endif
|
||||||
@ -13,8 +9,6 @@
|
|||||||
// TArchive
|
// TArchive
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
class ALArchive;
|
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
|
|
||||||
// @class TArchive | Classe per effettuare compressione e archiviazione di dati
|
// @class TArchive | Classe per effettuare compressione e archiviazione di dati
|
||||||
@ -26,32 +20,17 @@ class TArchive : public TObject
|
|||||||
|
|
||||||
// @access:(INTERNAL) Private Member
|
// @access:(INTERNAL) Private Member
|
||||||
{
|
{
|
||||||
#if XVT_OS == XVT_OS_WIN
|
|
||||||
// @ccost:(INTERNAL) BUFSIZE | 4096*7 | Dimensione del buffer di lettura/scrittura su dischetto
|
|
||||||
enum { BUFSIZE = 4096*7 };
|
|
||||||
// @cmember:(INTERNAL) Oggetto per la gestione di archivi (vedi <c ALArchive>)
|
|
||||||
ALArchive* _arc;
|
|
||||||
|
|
||||||
// @cmember Funzione per richiedere all'utente il dischetto e per controllare la
|
|
||||||
// corretta sequenza dei dischetti da inserire
|
|
||||||
FILE* ask_disk(TFilename& name, int disk, char floppy, bool lettura) const;
|
|
||||||
|
|
||||||
// @cmember Spezza il file in modo da farlo stare sul dischetto
|
|
||||||
bool fsplit(const char* filename, char floppy, const char* desc = "") const;
|
|
||||||
// @cmember Ricostruisce il file spezzato
|
|
||||||
bool fbuild(const char* filename, char floppy) const;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// @access Protected Member
|
// @access Protected Member
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
// @cmember Ritorna la dimensione del file <p f>
|
|
||||||
long fsize(FILE* f) const;
|
|
||||||
|
|
||||||
// @cmember Sposta il file nella directory dir
|
// @cmember Sposta il file nella directory dir
|
||||||
bool move_file(const TFilename& file, const char* dir) const;
|
bool move_file(const TFilename& file, const char* dir) const;
|
||||||
|
|
||||||
// @cmember Spezza il file.zip in modo da farlo stare sul dischetto
|
// @cmember Spezza un file in pezzi da max_chunk
|
||||||
|
bool split_file(const TFilename& archive, unsigned long max_chunk) const;
|
||||||
|
|
||||||
|
// @cmember Spezza il file.zip in modo da farlo stare sul dischetto
|
||||||
bool fsplit_zip(const char* filename, char floppy, const char* desc = "") const;
|
bool fsplit_zip(const char* filename, char floppy, const char* desc = "") const;
|
||||||
|
|
||||||
// @cmember Ricostruisce la lista dei file contenuti nel backup
|
// @cmember Ricostruisce la lista dei file contenuti nel backup
|
||||||
@ -62,10 +41,6 @@ protected:
|
|||||||
// @cmember Costruisce la lista delle directory da scompattare
|
// @cmember Costruisce la lista delle directory da scompattare
|
||||||
int build_restore_list(int& mode, long firm, char floppy, TString_array& fl) const;
|
int build_restore_list(int& mode, long firm, char floppy, TString_array& fl) const;
|
||||||
|
|
||||||
bool copy_zipper(const char* dir) const;
|
|
||||||
bool remove_zipper(const char* dir) const;
|
|
||||||
void add_zipper_list(TString& str) const;
|
|
||||||
|
|
||||||
// @access Public Member
|
// @access Public Member
|
||||||
public:
|
public:
|
||||||
|
|
||||||
@ -79,11 +54,6 @@ public:
|
|||||||
// @cmember Effettua il restore della ditta
|
// @cmember Effettua il restore della ditta
|
||||||
bool restore(int mode, long firm, char floppy, bool temp, bool pr_set=TRUE);
|
bool restore(int mode, long firm, char floppy, bool temp, bool pr_set=TRUE);
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_WIN
|
|
||||||
// @cmember Interrompe le operazioni
|
|
||||||
void stop_job();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// @cmember Effettua il backup della directory
|
// @cmember Effettua il backup della directory
|
||||||
bool zip(const char* dir, char floppy, const char* desc);
|
bool zip(const char* dir, char floppy, const char* desc);
|
||||||
// @cmember Effettua il backup della ditta
|
// @cmember Effettua il backup della ditta
|
||||||
|
@ -788,7 +788,7 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod, bool a
|
|||||||
{
|
{
|
||||||
int rt=0,handle;
|
int rt=0,handle;
|
||||||
TAG4INFO tags[MaxKeys+1];
|
TAG4INFO tags[MaxKeys+1];
|
||||||
char s[82];
|
char s[256];
|
||||||
INDEX4 * w = NULL;
|
INDEX4 * w = NULL;
|
||||||
|
|
||||||
strcpy(s,"Ricostruzione indici file : ");
|
strcpy(s,"Ricostruzione indici file : ");
|
||||||
@ -796,7 +796,7 @@ int DB_packindex(short vis, const char * filename, RecDes *r, long *peod, bool a
|
|||||||
|
|
||||||
code_base.autoOpen=0 ;
|
code_base.autoOpen=0 ;
|
||||||
handle=DB_open(filename,1,0); /* Exclusive mode open */
|
handle=DB_open(filename,1,0); /* Exclusive mode open */
|
||||||
if (handle > -1)
|
if (handle >= 0)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
char *ff = find_slash_backslash((char *)filename);
|
char *ff = find_slash_backslash((char *)filename);
|
||||||
|
@ -699,14 +699,20 @@ TConfig::TConfig(int which_config, const char* paragraph)
|
|||||||
case CONFIG_DITTA:
|
case CONFIG_DITTA:
|
||||||
_file = firm2dir(prefix().get_codditta());
|
_file = firm2dir(prefix().get_codditta());
|
||||||
_file.add("ditta.ini");
|
_file.add("ditta.ini");
|
||||||
if (!fexist(_file) && fexist("ditta.ini"))
|
if (!_file.exist())
|
||||||
fcopy("ditta.ini", _file);
|
{
|
||||||
|
TFilename oldfile = firm2dir(prefix().get_codditta());
|
||||||
|
oldfile.add("prassid.ini"); // Old config file!
|
||||||
|
if (oldfile.exist())
|
||||||
|
fcopy(oldfile, _file);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case CONFIG_STUDIO:
|
case CONFIG_STUDIO:
|
||||||
case CONFIG_USER:
|
case CONFIG_USER:
|
||||||
case CONFIG_STAMPE:
|
case CONFIG_STAMPE:
|
||||||
_file = firm2dir(-1); // Directory dati
|
_file = firm2dir(-1); // Directory dati
|
||||||
_file.add("config"); // Directory config
|
_file.add("config"); // + Directory config
|
||||||
if (!_file.exist()) // Creala se necessario
|
if (!_file.exist()) // Creala se necessario
|
||||||
make_dir(_file);
|
make_dir(_file);
|
||||||
|
|
||||||
@ -715,7 +721,13 @@ TConfig::TConfig(int which_config, const char* paragraph)
|
|||||||
case CONFIG_STUDIO:
|
case CONFIG_STUDIO:
|
||||||
_file.add("studio.ini");
|
_file.add("studio.ini");
|
||||||
if (!_file.exist() && fexist("studio.ini"))
|
if (!_file.exist() && fexist("studio.ini"))
|
||||||
fcopy("studio.ini", _file);
|
{
|
||||||
|
TFilename old = _file.path();
|
||||||
|
old.add("prassis.ini"); // Old config file!
|
||||||
|
if (old.exist())
|
||||||
|
fcopy(old, _file);
|
||||||
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case CONFIG_STAMPE:
|
case CONFIG_STAMPE:
|
||||||
_file.add("print.ini");
|
_file.add("print.ini");
|
||||||
@ -754,8 +766,7 @@ TConfig::TConfig(int which_config, const char* paragraph)
|
|||||||
paragraph = "GODMODE";
|
paragraph = "GODMODE";
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
_file = "prassi.ini";
|
NFCHECK("Chi usa questo strano .ini?");
|
||||||
NFCHECK("Chi usa prassi.ini?");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
@ -775,4 +786,3 @@ TConfig::~TConfig()
|
|||||||
if (_dirty)
|
if (_dirty)
|
||||||
_write_file();
|
_write_file();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
#include <statbar.h>
|
#include <statbar.h>
|
||||||
|
|
||||||
COLOR MASK_BACK_COLOR = COLOR_LTGRAY;
|
COLOR MASK_BACK_COLOR = MAKE_COLOR(201,194,188); // COLOR_LTGRAY;
|
||||||
COLOR MASK_LIGHT_COLOR = COLOR_WHITE;
|
COLOR MASK_LIGHT_COLOR = COLOR_WHITE;
|
||||||
COLOR MASK_DARK_COLOR = COLOR_GRAY;
|
COLOR MASK_DARK_COLOR = COLOR_GRAY;
|
||||||
COLOR BTN_BACK_COLOR = COLOR_LTGRAY;
|
COLOR BTN_BACK_COLOR = COLOR_LTGRAY;
|
||||||
@ -24,7 +24,7 @@ COLOR DISABLED_COLOR = COLOR_DKGRAY;
|
|||||||
COLOR DISABLED_BACK_COLOR = MASK_BACK_COLOR;
|
COLOR DISABLED_BACK_COLOR = MASK_BACK_COLOR;
|
||||||
COLOR FOCUS_COLOR = NORMAL_COLOR;
|
COLOR FOCUS_COLOR = NORMAL_COLOR;
|
||||||
COLOR FOCUS_BACK_COLOR = COLOR_YELLOW;
|
COLOR FOCUS_BACK_COLOR = COLOR_YELLOW;
|
||||||
bool CAMPI_SCAVATI = FALSE;
|
bool CAMPI_SCAVATI = TRUE;
|
||||||
bool AUTOSELECT = FALSE;
|
bool AUTOSELECT = FALSE;
|
||||||
|
|
||||||
#ifndef STX_DATA
|
#ifndef STX_DATA
|
||||||
@ -430,7 +430,7 @@ WINDOW create_interface(WINDOW parent, short x, short y, short dx, short dy,
|
|||||||
{
|
{
|
||||||
height = -top;
|
height = -top;
|
||||||
top += max_rct.bottom;
|
top += max_rct.bottom;
|
||||||
y = 22 - height/ROWY;
|
y = (max_rct.bottom-height)/ROWY; // 22 - height/ROWY;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
height = max_rct.bottom - top + dy * ROWY;
|
height = max_rct.bottom - top + dy * ROWY;
|
||||||
@ -439,8 +439,10 @@ WINDOW create_interface(WINDOW parent, short x, short y, short dx, short dy,
|
|||||||
if (dx <= 0)
|
if (dx <= 0)
|
||||||
{
|
{
|
||||||
width = max_rct.right - left + dx * CHARX;
|
width = max_rct.right - left + dx * CHARX;
|
||||||
|
#ifndef XVAGA
|
||||||
if (!tag && dx == 0 && y > 0) // Aggiusta toolbar
|
if (!tag && dx == 0 && y > 0) // Aggiusta toolbar
|
||||||
top++;
|
top++;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
if (x < 0) left = (max_rct.right - width) / 2;
|
if (x < 0) left = (max_rct.right - width) / 2;
|
||||||
@ -594,10 +596,10 @@ HIDDEN void xi_event_handler(XI_OBJ* itf, XI_EVENT* xiev)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case a_xvt_post:
|
case a_xvt_post:
|
||||||
if (notify_xvt)
|
if (notify_xvt && xiev->v.xvte.type != 0)
|
||||||
{
|
{
|
||||||
TWindow* w = (TWindow*)xi_get_app_data(itf);
|
TWindow* w = (TWindow*)xi_get_app_data(itf);
|
||||||
if (w != NULL)
|
if (w != NULL && w->win() != NULL_WIN)
|
||||||
w->handler(w->win(), &xiev->v.xvte);
|
w->handler(w->win(), &xiev->v.xvte);
|
||||||
if (xiev->v.xvte.type == E_MOUSE_UP)
|
if (xiev->v.xvte.type == E_MOUSE_UP)
|
||||||
_button_blocked = FALSE;
|
_button_blocked = FALSE;
|
||||||
|
@ -4,9 +4,7 @@
|
|||||||
|
|
||||||
#define __DATE_CPP
|
#define __DATE_CPP
|
||||||
#include <date.h>
|
#include <date.h>
|
||||||
#ifndef FOXPRO
|
|
||||||
#include <real.h>
|
#include <real.h>
|
||||||
#endif
|
|
||||||
#include <strings.h>
|
#include <strings.h>
|
||||||
|
|
||||||
#define DAYYEAR 365
|
#define DAYYEAR 365
|
||||||
@ -16,7 +14,6 @@
|
|||||||
// Utility functions
|
// Utility functions
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
|
|
||||||
HIDDEN TString __date_tmp_string(80);
|
|
||||||
HIDDEN const byte _days_in_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
HIDDEN const byte _days_in_month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
||||||
|
|
||||||
TDate::TDate(const TDate &d) : _val(d._val)
|
TDate::TDate(const TDate &d) : _val(d._val)
|
||||||
@ -259,17 +256,15 @@ char* TDate::string(
|
|||||||
sep='\0';
|
sep='\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
TString df(16), yf(16), mf(16);
|
TString80 df, yf, mf;
|
||||||
bool letterflag = FALSE;
|
bool letterflag = FALSE;
|
||||||
|
|
||||||
// format day
|
// format day
|
||||||
if (dayf == letters)
|
if (dayf == letters)
|
||||||
{
|
{
|
||||||
#ifndef FOXPRO
|
|
||||||
const real ddd(day());
|
const real ddd(day());
|
||||||
df = ddd.string("LETTERE");
|
df = ddd.string("LETTERE");
|
||||||
letterflag = TRUE;
|
letterflag = TRUE;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else if (dayf == weekday)
|
else if (dayf == weekday)
|
||||||
{
|
{
|
||||||
@ -282,11 +277,9 @@ char* TDate::string(
|
|||||||
// format year
|
// format year
|
||||||
if (yearf == letters)
|
if (yearf == letters)
|
||||||
{
|
{
|
||||||
#ifndef FOXPRO
|
|
||||||
const real ddd(year());
|
const real ddd(year());
|
||||||
yf = ddd.string("LETTERE");
|
yf = ddd.string("LETTERE");
|
||||||
letterflag = TRUE;
|
letterflag = TRUE;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (yearf == brief)
|
if (yearf == brief)
|
||||||
@ -313,8 +306,7 @@ char* TDate::string(
|
|||||||
|
|
||||||
// build date string
|
// build date string
|
||||||
|
|
||||||
TString& dfm = __date_tmp_string;
|
TString& dfm = get_tmp_string(80);
|
||||||
dfm.cut(0);
|
|
||||||
|
|
||||||
switch (ord)
|
switch (ord)
|
||||||
{
|
{
|
||||||
|
@ -30,15 +30,10 @@
|
|||||||
|
|
||||||
#ifndef _DEMO_
|
#ifndef _DEMO_
|
||||||
|
|
||||||
#define PANDLL
|
#include "skeylink.h"
|
||||||
extern "C"
|
|
||||||
{
|
|
||||||
#include "skeytsr.h"
|
|
||||||
}
|
|
||||||
|
|
||||||
HIDDEN KEY_NET* _eutron_key = NULL;
|
HIDDEN KEY_NET* _eutron_key = NULL;
|
||||||
|
|
||||||
#pragma pack(1)
|
#pragma pack(push, 1)
|
||||||
|
|
||||||
struct TEutronHeader
|
struct TEutronHeader
|
||||||
{
|
{
|
||||||
@ -71,6 +66,8 @@ struct TEutronFooter
|
|||||||
TEutronFooter();
|
TEutronFooter();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
TEutronFooter::TEutronFooter()
|
TEutronFooter::TEutronFooter()
|
||||||
{
|
{
|
||||||
const int s = sizeof(TEutronFooter);
|
const int s = sizeof(TEutronFooter);
|
||||||
@ -100,8 +97,6 @@ bool TEutronFooter::valid()
|
|||||||
return _checksum == checksum(FALSE);
|
return _checksum == checksum(FALSE);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma pack()
|
|
||||||
|
|
||||||
#endif // _DEMO_
|
#endif // _DEMO_
|
||||||
|
|
||||||
///////////////////////////////////////////////////////////
|
///////////////////////////////////////////////////////////
|
||||||
@ -186,9 +181,9 @@ const TString& TDongle::administrator(TString* pwd)
|
|||||||
if (_admin.empty())
|
if (_admin.empty())
|
||||||
{
|
{
|
||||||
#ifdef XVAGA
|
#ifdef XVAGA
|
||||||
_admin = "PRASSI";
|
|
||||||
#else
|
|
||||||
_admin = "ADMIN";
|
_admin = "ADMIN";
|
||||||
|
#else
|
||||||
|
_admin = "PRASSI";
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -406,11 +401,13 @@ bool TDongle::hardlock_login(bool test_all_keys)
|
|||||||
bool TDongle::eutron_login(bool test_all_keys)
|
bool TDongle::eutron_login(bool test_all_keys)
|
||||||
{
|
{
|
||||||
bool ok = FALSE;
|
bool ok = FALSE;
|
||||||
|
|
||||||
if (_eutron_key == NULL)
|
if (_eutron_key == NULL)
|
||||||
_eutron_key = new KEY_NET;
|
_eutron_key = new KEY_NET;
|
||||||
memset(_eutron_key, 0, sizeof(KEY_NET));
|
memset(_eutron_key, 0, sizeof(KEY_NET));
|
||||||
_eutron_key->net_command = NET_KEY_OPEN;
|
_eutron_key->net_command = NET_KEY_OPEN;
|
||||||
_eutron_key->command = LOCATING_MODE;
|
// _eutron_key->command = LOCATING_MODE;
|
||||||
|
_eutron_key->status = ST_HW_FAILURE; // Don't leave ST_OK = 0 here!
|
||||||
|
|
||||||
const char* labels[5] = { "AGA.INFORMATICA", "AGA.PRASSI", "AGA.PROCOM",
|
const char* labels[5] = { "AGA.INFORMATICA", "AGA.PRASSI", "AGA.PROCOM",
|
||||||
"AGA.CAMPO", "25EBAI" };
|
"AGA.CAMPO", "25EBAI" };
|
||||||
@ -663,15 +660,15 @@ bool TDongle::read_words(word reg, word len, word* ud) const
|
|||||||
if (_eutron_key)
|
if (_eutron_key)
|
||||||
{
|
{
|
||||||
_eutron_key->net_command = NET_KEY_ACCESS;
|
_eutron_key->net_command = NET_KEY_ACCESS;
|
||||||
memcpy(&_eutron_key->command, BLOCK_READING_MODE, 2);
|
_eutron_key->command = BLOCK_READING_MODE;
|
||||||
word* pointer = (word*)(&_eutron_key->data[0]);
|
word* pointer = (word*)(&_eutron_key->data[0]);
|
||||||
word* number = (word*)(&_eutron_key->data[2]);
|
word* number = (word*)(&_eutron_key->data[2]);
|
||||||
while (len > 0)
|
while (len > 0)
|
||||||
{
|
{
|
||||||
*pointer = reg;
|
*pointer = reg;
|
||||||
*number = (len <= 16) ? len : 16;
|
*number = (len <= 16) ? len : 16;
|
||||||
|
|
||||||
smartlink(_eutron_key);
|
smartlink(_eutron_key);
|
||||||
|
|
||||||
ok = _eutron_key->status == ST_OK;
|
ok = _eutron_key->status == ST_OK;
|
||||||
if (ok)
|
if (ok)
|
||||||
memcpy(ud, &_eutron_key->data[4], (*number)*2);
|
memcpy(ud, &_eutron_key->data[4], (*number)*2);
|
||||||
@ -722,7 +719,7 @@ bool TDongle::write_words(word reg, word len, word* data) const
|
|||||||
if (_eutron_key)
|
if (_eutron_key)
|
||||||
{
|
{
|
||||||
_eutron_key->net_command = NET_KEY_ACCESS;
|
_eutron_key->net_command = NET_KEY_ACCESS;
|
||||||
memcpy(&_eutron_key->command, BLOCK_WRITING_MODE, 2);
|
_eutron_key->command = BLOCK_WRITING_MODE;
|
||||||
word* pointer = (word*)(&_eutron_key->data[0]);
|
word* pointer = (word*)(&_eutron_key->data[0]);
|
||||||
word* number = (word*)(&_eutron_key->data[2]);
|
word* number = (word*)(&_eutron_key->data[2]);
|
||||||
while (len > 0)
|
while (len > 0)
|
||||||
|
@ -4256,8 +4256,6 @@ bool TForm::validate(TForm_item &cf, TToken_string &s)
|
|||||||
|
|
||||||
void TForm::print_on(ostream& out) const
|
void TForm::print_on(ostream& out) const
|
||||||
{
|
{
|
||||||
main_app().begin_wait();
|
|
||||||
|
|
||||||
if (relation())
|
if (relation())
|
||||||
{
|
{
|
||||||
out << *relation() << "\nEND" << endl;
|
out << *relation() << "\nEND" << endl;
|
||||||
@ -4272,8 +4270,6 @@ void TForm::print_on(ostream& out) const
|
|||||||
print_section(out, 'F');
|
print_section(out, 'F');
|
||||||
|
|
||||||
out << "END" << endl;
|
out << "END" << endl;
|
||||||
|
|
||||||
main_app().end_wait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4477,8 +4473,6 @@ void TForm::read(
|
|||||||
_editlevel= lev;
|
_editlevel= lev;
|
||||||
_desc= desc;
|
_desc= desc;
|
||||||
|
|
||||||
main_app().begin_wait();
|
|
||||||
|
|
||||||
if (_code.not_empty())
|
if (_code.not_empty())
|
||||||
{
|
{
|
||||||
// extract base form name
|
// extract base form name
|
||||||
@ -4572,8 +4566,6 @@ void TForm::read(
|
|||||||
_fontsize = pr.get_char_size();
|
_fontsize = pr.get_char_size();
|
||||||
}
|
}
|
||||||
set_fink_mode(TRUE);
|
set_fink_mode(TRUE);
|
||||||
|
|
||||||
main_app().end_wait();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TForm::set_compulsory_specials()
|
void TForm::set_compulsory_specials()
|
||||||
|
@ -40,7 +40,7 @@ XVT_IMAGE TImage::load(
|
|||||||
const char* n) // @parm Nome del file contenente l'immagine
|
const char* n) // @parm Nome del file contenente l'immagine
|
||||||
{
|
{
|
||||||
// WinManager.free_handle();
|
// WinManager.free_handle();
|
||||||
XVT_IMAGE i = xvt_image_read_bmp((char*)n);
|
XVT_IMAGE i = xvt_image_read((char*)n);
|
||||||
// WinManager.lock_handle();
|
// WinManager.lock_handle();
|
||||||
|
|
||||||
if (i != NULL) set(i);
|
if (i != NULL) set(i);
|
||||||
|
@ -4,32 +4,25 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
#include <codeb.h>
|
||||||
|
|
||||||
#define __ISAM_CPP
|
#define __ISAM_CPP
|
||||||
|
|
||||||
#include <expr.h>
|
|
||||||
#include <execp.h>
|
|
||||||
#include <progind.h>
|
|
||||||
|
|
||||||
#include <codeb.h>
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
#include <execp.h>
|
||||||
|
#include <expr.h>
|
||||||
#include <extcdecl.h>
|
#include <extcdecl.h>
|
||||||
#include <mailbox.h>
|
#include <mailbox.h>
|
||||||
#include <postman.h>
|
#include <postman.h>
|
||||||
#include <prefix.h>
|
#include <prefix.h>
|
||||||
|
#include <progind.h>
|
||||||
#include <relation.h>
|
#include <relation.h>
|
||||||
#include <scanner.h>
|
#include <scanner.h>
|
||||||
#include <utility.h>
|
#include <utility.h>
|
||||||
#include <memo.h>
|
#include <memo.h>
|
||||||
#include <varrec.h>
|
#include <varrec.h>
|
||||||
#include <codeb.h>
|
|
||||||
#include <lffiles.h>
|
|
||||||
#include <tabutil.h>
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef DBG
|
|
||||||
#define JOURNAL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef JOURNAL
|
#ifdef JOURNAL
|
||||||
#include <journal.h>
|
#include <journal.h>
|
||||||
|
|
||||||
@ -1730,7 +1723,7 @@ TExternisamfile::~TExternisamfile()
|
|||||||
|
|
||||||
void TExternisamfile::init(const char* name, bool exclusive, bool index)
|
void TExternisamfile::init(const char* name, bool exclusive, bool index)
|
||||||
{
|
{
|
||||||
_name = name; // qui
|
_name = name;
|
||||||
_name.ext("dbf");
|
_name.ext("dbf");
|
||||||
|
|
||||||
// Espande il nome!
|
// Espande il nome!
|
||||||
@ -2726,7 +2719,7 @@ void TMemo_data::copy(const TMemo_data& m)
|
|||||||
void TRectype::init(int logicnum)
|
void TRectype::init(int logicnum)
|
||||||
{
|
{
|
||||||
_logicnum = logicnum;
|
_logicnum = logicnum;
|
||||||
CHECK(_logicnum > 0,"Impossibile costruire un record di un file esterno"); // qui
|
CHECK(_logicnum > 0,"Impossibile costruire un record di un file esterno");
|
||||||
|
|
||||||
_length = prefix().get_reclen(logicnum);
|
_length = prefix().get_reclen(logicnum);
|
||||||
|
|
||||||
@ -2747,7 +2740,7 @@ TRectype::TRectype(int logicnum)
|
|||||||
: _memo_data(NULL)
|
: _memo_data(NULL)
|
||||||
|
|
||||||
{
|
{
|
||||||
init(logicnum); //qui
|
init(logicnum);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2763,7 +2756,7 @@ TRectype::TRectype(const TRectype& r)
|
|||||||
_memo_data(NULL)
|
_memo_data(NULL)
|
||||||
|
|
||||||
{
|
{
|
||||||
init(r._logicnum); //qui
|
init(r._logicnum);
|
||||||
if (r._memo_data)
|
if (r._memo_data)
|
||||||
{
|
{
|
||||||
init_memo(r._memo_data->recno(), r._memo_data->file());
|
init_memo(r._memo_data->recno(), r._memo_data->file());
|
||||||
@ -2792,7 +2785,7 @@ void TRectype::unknown_field(const char* name) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TRectype::write_memo(TIsam_handle file, const TRecnotype recno) //qui
|
void TRectype::write_memo(TIsam_handle file, const TRecnotype recno)
|
||||||
{
|
{
|
||||||
const RecDes *r = rec_des( );
|
const RecDes *r = rec_des( );
|
||||||
TIsam_handle orig = _memo_data->file();
|
TIsam_handle orig = _memo_data->file();
|
||||||
@ -2815,9 +2808,9 @@ void TRectype::write_memo(TIsam_handle file, const TRecnotype recno) //qui
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
CHECK( _memo_data->recno() > 0, "Maiale! Non fare le GO con _recno < 0 " );
|
CHECK( recno > 0, "Maiale! Non fare le GO con _recno < 0 " );
|
||||||
TCodeb_handle cb_handle = prefix().get_handle(file);
|
TCodeb_handle cb_handle = prefix().get_handle(file);
|
||||||
DB_go( cb_handle, _memo_data->recno());
|
DB_go( cb_handle, recno);
|
||||||
for( int i = _memo_data->last( ); i > 0; i = _memo_data->pred( i ) )
|
for( int i = _memo_data->last( ); i > 0; i = _memo_data->pred( i ) )
|
||||||
{
|
{
|
||||||
if (_memo_data->is_dirty(i))
|
if (_memo_data->is_dirty(i))
|
||||||
@ -3090,9 +3083,9 @@ const TString& TRectype::get(const char* fieldname) const
|
|||||||
if (orig)
|
if (orig)
|
||||||
{
|
{
|
||||||
TCodeb_handle cb_handle = prefix().get_handle(orig);
|
TCodeb_handle cb_handle = prefix().get_handle(orig);
|
||||||
CHECKD(cb_handle >= 0, "Can't read memo from file ", orig); //qui
|
CHECKD(cb_handle >= 0, "Can't read memo from file ", orig);
|
||||||
DB_go(cb_handle, _memo_data->recno()); //qui
|
DB_go(cb_handle, _memo_data->recno());
|
||||||
_memo_data->add(DB_memoptr(orig, fieldname), index);
|
_memo_data->add(DB_memoptr(cb_handle, fieldname), index);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
NFCHECK("Valid memo recno with null memo file");
|
NFCHECK("Valid memo recno with null memo file");
|
||||||
|
@ -618,11 +618,11 @@ public:
|
|||||||
int update(const TTrec& newrec, bool vis = TRUE);
|
int update(const TTrec& newrec, bool vis = TRUE);
|
||||||
|
|
||||||
// @cmember Esegue sia <mf TSystemisamfile::packfile> e <mf TSystemisamfile::packindex>
|
// @cmember Esegue sia <mf TSystemisamfile::packfile> e <mf TSystemisamfile::packindex>
|
||||||
int pack(bool vis = TRUE, bool ask = TRUE);
|
int pack(bool vis = FALSE, bool ask = TRUE);
|
||||||
// @cmember Rimuove fisicamente i record cancellati
|
// @cmember Rimuove fisicamente i record cancellati
|
||||||
int packfile(bool vis = TRUE, bool zap = FALSE);
|
int packfile(bool vis = FALSE, bool zap = FALSE);
|
||||||
// @cmember Rimuove fisicamente gli indici cancellati
|
// @cmember Rimuove fisicamente gli indici cancellati
|
||||||
int packindex(bool vis = TRUE, bool ask = TRUE);
|
int packindex(bool vis = FALSE, bool ask = TRUE);
|
||||||
|
|
||||||
// @cmember Importa un file ascii
|
// @cmember Importa un file ascii
|
||||||
int load(const char* from, char fs = '|', char fd = '\0', char rs = '\n', bool vis = TRUE, bool extended = FALSE) ;
|
int load(const char* from, char fs = '|', char fd = '\0', char rs = '\n', bool vis = TRUE, bool extended = FALSE) ;
|
||||||
|
103
include/mshell.h
103
include/mshell.h
@ -1,103 +0,0 @@
|
|||||||
#ifndef __MSHELL_H
|
|
||||||
#define __MSHELL_H
|
|
||||||
|
|
||||||
#error Obsolete include
|
|
||||||
|
|
||||||
#ifdef XVT_OS
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if XVT_OS == XVT_OS_NOTUSED
|
|
||||||
|
|
||||||
#define ALIGNSIZE sizeof(double)
|
|
||||||
#define CALCSIZE(x) ((((x) + (ALIGNSIZE - 1)) / ALIGNSIZE) * ALIGNSIZE)
|
|
||||||
|
|
||||||
#define malloc(a) win_malloc((a))
|
|
||||||
#define realloc(a,b) win_realloc((a), (b))
|
|
||||||
#define free(a) win_free((a))
|
|
||||||
#define calloc(a,b) win_calloc((a), (b))
|
|
||||||
#define strdup(a) win_strdup((a))
|
|
||||||
|
|
||||||
void setmemsize(long);
|
|
||||||
char* win_malloc(size_t);
|
|
||||||
char* win_realloc(char*, size_t);
|
|
||||||
void win_free(char*);
|
|
||||||
char* win_calloc(size_t, size_t);
|
|
||||||
char* win_strdup(char*);
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
/*
|
|
||||||
#define malloc(a) xvt_fmalloc((a))
|
|
||||||
#define realloc(a,b) xvt_frealloc((a), (b))
|
|
||||||
#define free(a) xvt_ffree((a))
|
|
||||||
#define calloc(a,b) xvt_calloc((a), (b))
|
|
||||||
#define strdup(a) xvt_strdup((a))
|
|
||||||
#define setmemsize(a)
|
|
||||||
|
|
||||||
char *xvt_calloc(size_t, size_t);
|
|
||||||
char *xvt_strdup(char*);
|
|
||||||
*/
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#define size_t unsigned
|
|
||||||
|
|
||||||
#define MEMLIST
|
|
||||||
#define MEMWHERE
|
|
||||||
|
|
||||||
/* interface functions */
|
|
||||||
unsigned long memused(void);
|
|
||||||
void memdisplay(FILE *);
|
|
||||||
|
|
||||||
/* interface macros */
|
|
||||||
#define ALIGNSIZE sizeof(double)
|
|
||||||
#define CALCSIZE(x) ((((x) + (ALIGNSIZE - 1)) / ALIGNSIZE) * ALIGNSIZE)
|
|
||||||
|
|
||||||
/* interface functions to access only through macros */
|
|
||||||
#ifdef MEMWHERE
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
char *memalloc(size_t, char *, int);
|
|
||||||
char *memrealloc(char *, size_t, char *, int);
|
|
||||||
void memfree(char *, char *, int);
|
|
||||||
char *memcalloc(size_t, size_t, char *, int);
|
|
||||||
char *memstrdup(char *, char *, int);
|
|
||||||
#else
|
|
||||||
char *memalloc(size_t);
|
|
||||||
char *memrealloc(char *);
|
|
||||||
void memfree(char *);
|
|
||||||
char *memcalloc(size_t, size_t);
|
|
||||||
char *memstrdup(char *);
|
|
||||||
#ifdef __cplusplus
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Interface macros */
|
|
||||||
#ifndef __MSHELL__
|
|
||||||
#ifdef MEMWHERE
|
|
||||||
#define malloc(a) memalloc((a), __FILE__, __LINE__)
|
|
||||||
#define realloc(a,b) memrealloc((a), (b), __FILE__, __LINE__)
|
|
||||||
#define free(a) memfree((a), __FILE__, __LINE__)
|
|
||||||
#define calloc(a,b) memcalloc((a), (b), __FILE__, __LINE__)
|
|
||||||
#define strdup(a) memstrdup((a), __FILE__, __LINE__)
|
|
||||||
#else
|
|
||||||
#define malloc(a) memalloc((a))
|
|
||||||
#define realloc(a,b) memrealloc((a), (b))
|
|
||||||
#define free(a) memfree((a))
|
|
||||||
#define calloc(a,b) memcalloc((a), (b))
|
|
||||||
#define strdup(a) memstrdup((a))
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
#endif /* XVT_OS */
|
|
||||||
#endif /* __MSHELL_H */
|
|
@ -341,8 +341,8 @@ public:
|
|||||||
byte dirty() const
|
byte dirty() const
|
||||||
{ return owner().dirty(); }
|
{ return owner().dirty(); }
|
||||||
// @cmember Permette di indicare se e' stata modificata una cella dello spreadsheet
|
// @cmember Permette di indicare se e' stata modificata una cella dello spreadsheet
|
||||||
void set_dirty(bool spork = TRUE)
|
void set_dirty(byte spork = TRUE)
|
||||||
{ owner().set_dirty(spork); _row_dirty = spork; _cell_dirty = spork;}
|
{ owner().set_dirty(spork); _row_dirty = _cell_dirty = spork!=0; }
|
||||||
|
|
||||||
// @cmember Ritorna il valore della variabile active
|
// @cmember Ritorna il valore della variabile active
|
||||||
bool active() const
|
bool active() const
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#define VERSION "98.5"
|
|
||||||
#define INTERNAL_VERSION "2"
|
|
||||||
|
|
@ -1021,11 +1021,13 @@ TPrinter::TPrinter()
|
|||||||
bool TPrinter::isfax() const
|
bool TPrinter::isfax() const
|
||||||
{
|
{
|
||||||
bool fax = FALSE;
|
bool fax = FALSE;
|
||||||
|
#ifndef XVAGA
|
||||||
if (_printertype == winprinter)
|
if (_printertype == winprinter)
|
||||||
{
|
{
|
||||||
const char* name = (const char*)((TPrinter*)this)->get_printrcd() + 4;
|
const char* name = (const char*)((TPrinter*)this)->get_printrcd() + 4;
|
||||||
fax = strncmp(name, "FaxMan", 6) == 0;
|
fax = strncmp(name, "FaxMan", 6) == 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return fax;
|
return fax;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1062,67 +1064,54 @@ void TPrinter::read_configuration(
|
|||||||
_fontname = iniptr->get("Font", NULL, -1, XVT_FFN_FIXED); // Nome del font
|
_fontname = iniptr->get("Font", NULL, -1, XVT_FFN_FIXED); // Nome del font
|
||||||
_ch_size = iniptr->get_int("Size", NULL, -1, 12); // Dimensione del font
|
_ch_size = iniptr->get_int("Size", NULL, -1, 12); // Dimensione del font
|
||||||
_lines_per_inch = iniptr->get_int("Lines", NULL, -1, 6); // Linee per pollice
|
_lines_per_inch = iniptr->get_int("Lines", NULL, -1, 6); // Linee per pollice
|
||||||
_isgraphics = iniptr->get_bool("Graphic", NULL, -1, FALSE); // Grafica attiva
|
_isgraphics = iniptr->get_bool("Graphic", NULL, -1, TRUE); // Grafica attiva
|
||||||
|
|
||||||
|
bool read_rcd = FALSE;
|
||||||
|
|
||||||
#ifdef XVAGA
|
|
||||||
bool read_rcd = TRUE;
|
|
||||||
const TString& host = iniptr->get("Host");
|
const TString& host = iniptr->get("Host");
|
||||||
if (host.not_empty())
|
if (host.not_empty())
|
||||||
{
|
{
|
||||||
char hostname[32];
|
char hostname[32];
|
||||||
aga_get_host_name(hostname, sizeof(hostname));
|
aga_get_host_name(hostname, sizeof(hostname));
|
||||||
if (host != hostname)
|
read_rcd = (host == hostname); // Safe to read
|
||||||
{
|
if (!read_rcd)
|
||||||
read_rcd = yesno_box("Le impostazioni della stampante sono relative alla stazione di lavoro %s:\n"
|
read_rcd = yesno_box("Le impostazioni della stampante sono relative alla stazione di lavoro %s:\n"
|
||||||
"si desidera applicarle ugualmente alla stazione %s?", (const char*)host, hostname);
|
"si desidera applicarle ugualmente alla stazione %s?", (const char*)host, hostname);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (read_rcd)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (iniptr->exist("rcd", 0))
|
if (read_rcd)
|
||||||
{
|
{
|
||||||
int size, i = 0;
|
if (_print_rcd != NULL)
|
||||||
byte* rcd = (byte*)get_printrcd(&size);
|
xvt_print_destroy(_print_rcd);
|
||||||
|
_print_rcd = xvt_print_create_by_name(&_print_rcd_size, _prname);
|
||||||
|
|
||||||
TToken_string s(256);
|
if (_print_rcd != NULL && iniptr->exist("rcd", 0))
|
||||||
|
{
|
||||||
|
TToken_string s(256);
|
||||||
|
int i = 0;
|
||||||
|
for (int index = 0; ; index++)
|
||||||
|
{
|
||||||
|
s = iniptr->get("rcd", NULL, index);
|
||||||
|
if (s.not_empty())
|
||||||
|
{
|
||||||
|
byte* rcd = (byte*)_print_rcd;
|
||||||
|
for (const char* n = s.get(0); n != NULL && i < _print_rcd_size; n = s.get())
|
||||||
|
rcd[i++] = (byte)atoi(n);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef XVAGA
|
if (!xvt_print_is_valid(get_printrcd()))
|
||||||
// Devo leggere tutti numeri, anche se sono di pìù di quelli attuali!
|
|
||||||
for (int index = 0; ; index++)
|
|
||||||
{
|
|
||||||
s = iniptr->get("rcd", NULL, index);
|
|
||||||
if (s.not_empty())
|
|
||||||
{
|
|
||||||
for (const char* n = s.get(0); n; n = s.get())
|
|
||||||
rcd[i++] = (byte)atoi(n);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
for (int index = 0; i < size; index++)
|
|
||||||
{
|
|
||||||
s = iniptr->get("rcd", NULL, index);
|
|
||||||
if (*s)
|
|
||||||
{
|
|
||||||
for (const char* n = s.get(0); n && i < size; n = s.get())
|
|
||||||
rcd[i++] = (byte)atoi(n);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
if (xvt_print_is_valid(_print_rcd))
|
|
||||||
{
|
|
||||||
init_formlen();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
{
|
||||||
error_box("Attenzione: la stampante corrente non e' valida.\n"
|
error_box("Attenzione: la stampante corrente non e' valida.\n"
|
||||||
"Si prega di selezionare e registrare una nuova stampante.");
|
"Si prega di selezionare e registrare una nuova stampante.");
|
||||||
set_printrcd();
|
set_printrcd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
init_formlen();
|
||||||
|
_prname = (const char*)get_printrcd() + 4; // Deep hacking
|
||||||
}
|
}
|
||||||
|
|
||||||
delete iniptr; iniptr = NULL;
|
delete iniptr; iniptr = NULL;
|
||||||
@ -1130,7 +1119,7 @@ void TPrinter::read_configuration(
|
|||||||
if (_printerfile.empty())
|
if (_printerfile.empty())
|
||||||
{
|
{
|
||||||
_printerfile.tempdir();
|
_printerfile.tempdir();
|
||||||
_printerfile << '/';
|
_printerfile << SLASH;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_config == "Printer" || _printertype == winprinter)
|
if (_config == "Printer" || _printertype == winprinter)
|
||||||
@ -1171,13 +1160,13 @@ void TPrinter::save_configuration()
|
|||||||
prini.set("Graphic", _isgraphics ? "X" : ""); // Grafica attiva
|
prini.set("Graphic", _isgraphics ? "X" : ""); // Grafica attiva
|
||||||
|
|
||||||
#ifdef XVAGA
|
#ifdef XVAGA
|
||||||
char hostname[32];
|
char hostname[80];
|
||||||
aga_get_host_name(hostname, sizeof(hostname));
|
aga_get_host_name(hostname, sizeof(hostname));
|
||||||
prini.set("Host", hostname);
|
prini.set("Host", hostname);
|
||||||
prini.set("User", user());
|
prini.set("User", user());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
int n = 0, index = 0;
|
int n = 0, index = 0;
|
||||||
TToken_string val(256);
|
TToken_string val(256);
|
||||||
|
|
||||||
int rcdsize;
|
int rcdsize;
|
||||||
@ -2008,7 +1997,6 @@ int TPrinter::calc_font_size(int columns) const
|
|||||||
return fd._size;
|
return fd._size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int TPrinter::calc_num_cols() const
|
int TPrinter::calc_num_cols() const
|
||||||
{
|
{
|
||||||
int numcols;
|
int numcols;
|
||||||
|
@ -105,11 +105,13 @@ void TPrintwin::paint_background(long j)
|
|||||||
case 'i':
|
case 'i':
|
||||||
id = (byte)(rwd[cnt++])-1; // Numero immagine
|
id = (byte)(rwd[cnt++])-1; // Numero immagine
|
||||||
y1 = (byte)(rwd[cnt++])-1; // Riga sorgente
|
y1 = (byte)(rwd[cnt++])-1; // Riga sorgente
|
||||||
x1 = (byte)(rwd[cnt++])-1; // Colonna destinazione
|
x1 = (byte)(rwd[cnt++])-1; // Colonna sorgente
|
||||||
x2 = (byte)(rwd[cnt++]); // Larghezza destinazione (in caratteri)
|
x2 = (byte)(rwd[cnt++]); // Larghezza destinazione (in caratteri)
|
||||||
y2 = (byte)(rwd[cnt++]); // Altezza destinazione (in caratteri)
|
y2 = (byte)(rwd[cnt++]); // Altezza destinazione (in caratteri)
|
||||||
if (id >= 0)
|
if (id >= 0)
|
||||||
{
|
{
|
||||||
|
#ifndef XVAGA
|
||||||
|
// Ai tempi non veniva in mente un modo peggiore
|
||||||
const short width = LEN_SPACES(win(), x2); // Larghezza in pixel
|
const short width = LEN_SPACES(win(), x2); // Larghezza in pixel
|
||||||
|
|
||||||
TImage* i = (TImage*)_images.objptr(id);
|
TImage* i = (TImage*)_images.objptr(id);
|
||||||
@ -119,6 +121,7 @@ void TPrintwin::paint_background(long j)
|
|||||||
const TImage src(a.row(id));
|
const TImage src(a.row(id));
|
||||||
if (src.ok())
|
if (src.ok())
|
||||||
{
|
{
|
||||||
|
// memorizzo l'immagine in risoluzione di stampa! Visto che ho RAM da buttare.
|
||||||
i = new TImage(src, width, _chary*y2);
|
i = new TImage(src, width, _chary*y2);
|
||||||
_images.add(i, id);
|
_images.add(i, id);
|
||||||
}
|
}
|
||||||
@ -137,6 +140,28 @@ void TPrintwin::paint_background(long j)
|
|||||||
i->draw(win(), dst, src);
|
i->draw(win(), dst, src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
if (y1 == 0) // Disegno solo una volta per tutte alla prima fetta!
|
||||||
|
{
|
||||||
|
TImage* i = (TImage*)_images.objptr(id);
|
||||||
|
if (i == NULL)
|
||||||
|
{
|
||||||
|
// memorizzo l'immagine così com'è alla risoluzione originale!
|
||||||
|
const TString_array& a = printer().image_names();
|
||||||
|
i = new TImage(a.row(id));
|
||||||
|
_images.add(i, id);
|
||||||
|
}
|
||||||
|
if (i != NULL && i->ok())
|
||||||
|
{
|
||||||
|
RCT dst;
|
||||||
|
dst.left = LEN_SPACES(win(), x1) + _hofs;
|
||||||
|
dst.top = _chary*rw + _vofs;
|
||||||
|
dst.right = dst.left + LEN_SPACES(win(), x2);
|
||||||
|
dst.bottom = dst.top + _chary*y2;
|
||||||
|
i->draw(win(), dst);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'W':
|
case 'W':
|
||||||
@ -205,7 +230,6 @@ void TPrintwin::paint_row(long j)
|
|||||||
|
|
||||||
if (_chary > 1)
|
if (_chary > 1)
|
||||||
{
|
{
|
||||||
|
|
||||||
_txt.read_line(j);
|
_txt.read_line(j);
|
||||||
|
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
@ -321,16 +345,20 @@ bool TPrintwin::do_print()
|
|||||||
|
|
||||||
int page = 0;
|
int page = 0;
|
||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
RCT* rct;
|
|
||||||
while (ok && !_aborted)
|
while (ok && !_aborted)
|
||||||
{
|
{
|
||||||
_aborted = xvt_print_open_page(_printrcd) == 0;
|
_aborted = xvt_print_open_page(_printrcd) == 0;
|
||||||
while (!_aborted && ok
|
while (!_aborted && ok)
|
||||||
&& (rct = xvt_print_get_next_band()) != NULL)
|
|
||||||
{
|
{
|
||||||
set_font(XVT_FFN_SYSTEM, XVT_FS_NONE, _char_size);
|
const RCT* rct = xvt_print_get_next_band();
|
||||||
set_font(printer().fontname(), XVT_FS_NONE, _char_size);
|
ok = rct != NULL;
|
||||||
ok = print_band(page, *rct);
|
if (ok)
|
||||||
|
{
|
||||||
|
// set_font(XVT_FFN_SYSTEM, XVT_FS_NONE, _char_size);
|
||||||
|
set_font(printer().fontname(), XVT_FS_NONE, _char_size);
|
||||||
|
LEN_SPACES(win(), -1); // Resetta bene le dimensioni font
|
||||||
|
ok = print_band(page, *rct);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_aborted |= (xvt_print_close_page(_printrcd) == 0);
|
_aborted |= (xvt_print_close_page(_printrcd) == 0);
|
||||||
page++;
|
page++;
|
||||||
|
@ -57,7 +57,7 @@ TIndwin::TIndwin(long max, const char* txt, bool cancel, bool bar, int div)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cancel)
|
if (cancel)
|
||||||
_cancel = new TPushbutton_control(win(), DLG_CANCEL, -11, -1, 10, 2, "", "Annulla", BMP_CANCEL);
|
_cancel = new TPushbutton_control(win(), DLG_CANCEL, -11, -1, 12, 2, "", "Annulla", BMP_CANCEL);
|
||||||
open_modal();
|
open_modal();
|
||||||
do_events();
|
do_events();
|
||||||
}
|
}
|
||||||
|
@ -472,6 +472,9 @@ real& real::operator /= (const real & b)
|
|||||||
#ifdef DBG
|
#ifdef DBG
|
||||||
if (dst == GM_NULL)
|
if (dst == GM_NULL)
|
||||||
{
|
{
|
||||||
|
TString& tmp = get_tmp_string();
|
||||||
|
char * __string = tmp.get_buffer(256);
|
||||||
|
|
||||||
errname (__string, gmec ());
|
errname (__string, gmec ());
|
||||||
error_box ("Division error: %s", __string);
|
error_box ("Division error: %s", __string);
|
||||||
}
|
}
|
||||||
@ -519,7 +522,7 @@ long real::integer () const
|
|||||||
// @mfunc Trasforma un reale in stringa
|
// @mfunc Trasforma un reale in stringa
|
||||||
//
|
//
|
||||||
// @rdesc Ritorna la stringa nella lunghezza richiesta
|
// @rdesc Ritorna la stringa nella lunghezza richiesta
|
||||||
char *real::string (
|
const char *real::string (
|
||||||
int len, // @parm Lunghezza della stringa (compreso decimali)
|
int len, // @parm Lunghezza della stringa (compreso decimali)
|
||||||
int dec, // @parm Numero di decimali (default UNDEFINED)
|
int dec, // @parm Numero di decimali (default UNDEFINED)
|
||||||
char pad) const // @parm Carattere di riempimento (default ' ')
|
char pad) const // @parm Carattere di riempimento (default ' ')
|
||||||
@ -542,6 +545,9 @@ char *real::string (
|
|||||||
else
|
else
|
||||||
__tmp_real.trail();
|
__tmp_real.trail();
|
||||||
|
|
||||||
|
TString& tmp = get_tmp_string();
|
||||||
|
char* __string = tmp.get_buffer(len);
|
||||||
|
|
||||||
dtoa (__string, __tmp_real.ptr ());
|
dtoa (__string, __tmp_real.ptr ());
|
||||||
int lun = strlen (__string);
|
int lun = strlen (__string);
|
||||||
|
|
||||||
@ -581,6 +587,8 @@ istream & operator >> (
|
|||||||
real & a) // @parm Indirizzo in cui posizionare il numero
|
real & a) // @parm Indirizzo in cui posizionare il numero
|
||||||
|
|
||||||
{
|
{
|
||||||
|
char __string[80];
|
||||||
|
|
||||||
in >> __string;
|
in >> __string;
|
||||||
atod (a.ptr (), __string);
|
atod (a.ptr (), __string);
|
||||||
a.trail();
|
a.trail();
|
||||||
|
@ -140,8 +140,8 @@ long double abs(long double a) ;
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef GMDOTH
|
#ifndef GMDOTH
|
||||||
#include <gmsys1.h>
|
#include "../gfm/gmsys1.h"
|
||||||
#include <gfd.h>
|
#include "../gfm/gfd.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// @doc EXTERNAL
|
// @doc EXTERNAL
|
||||||
@ -198,12 +198,12 @@ public:
|
|||||||
DEC* ptr() const
|
DEC* ptr() const
|
||||||
{ return (DEC*)&_dec; }
|
{ return (DEC*)&_dec; }
|
||||||
// @cmember Trasforma un reale in stringa
|
// @cmember Trasforma un reale in stringa
|
||||||
char* string(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
|
const char* string(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
|
||||||
// @cmember Trasforma un reale in stringa (chiama <mf real::string>), ma
|
// @cmember Trasforma un reale in stringa (chiama <mf real::string>), ma
|
||||||
// ritorna il formato italiano
|
// ritorna il formato italiano
|
||||||
char* stringa(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
|
const char* stringa(int len = 0, int dec = UNDEFINED, char pad = ' ') const;
|
||||||
// @cmember Ritorna la stringa con il formato passato
|
// @cmember Ritorna la stringa con il formato passato
|
||||||
char* string(const char* picture) const;
|
const char* string(const char* picture) const;
|
||||||
|
|
||||||
// @cmember Ritorna la precisione del reale (numero di decimali)
|
// @cmember Ritorna la precisione del reale (numero di decimali)
|
||||||
int precision() const;
|
int precision() const;
|
||||||
|
181
include/skeylink.h
Executable file
181
include/skeylink.h
Executable file
@ -0,0 +1,181 @@
|
|||||||
|
#ifndef __SKEYLINK_H
|
||||||
|
#define __SKEYLINK_H
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef __SKEYDRV_H
|
||||||
|
#define __SKEYDRV_H
|
||||||
|
|
||||||
|
/*
|
||||||
|
Smartkey commands
|
||||||
|
*/
|
||||||
|
#define MAKE_KEY_CODE(low,high) (((unsigned short)(low)) | (((unsigned short)(high)) << 8))
|
||||||
|
|
||||||
|
#define SCRAMBLING_MODE 's'
|
||||||
|
#define READING_MODE 'r'
|
||||||
|
#define WRITING_MODE 'w'
|
||||||
|
#define FIXING_MODE 'f'
|
||||||
|
#define LOCATING_MODE 'l'
|
||||||
|
#define COMPARING_MODE 'c'
|
||||||
|
#define PROGRAMMING_MODE 'p'
|
||||||
|
#define MODEL_READING_MODE 'm'
|
||||||
|
#define ENCRYPTING_MODE 'e'
|
||||||
|
#define BLOCK_READING_MODE MAKE_KEY_CODE('b','r')
|
||||||
|
#define BLOCK_WRITING_MODE MAKE_KEY_CODE('b','w')
|
||||||
|
|
||||||
|
/*
|
||||||
|
Smartkey NEW commands
|
||||||
|
*/
|
||||||
|
#define SERIAL_NUMBER_READING_MODE 'n'
|
||||||
|
#define FIX_READING_MODE 'x'
|
||||||
|
#define EXT_MODEL_READING_MODE 'h'
|
||||||
|
#define FAIL_COUNTER_READING_MODE 'a'
|
||||||
|
|
||||||
|
/*
|
||||||
|
Legacy commands
|
||||||
|
*/
|
||||||
|
#define DEACTIVATE_ACCESS_MODE MAKE_KEY_CODE('d','d')
|
||||||
|
#define ACTIVATE_ACCESS_MODE MAKE_KEY_CODE('d','a')
|
||||||
|
#define ANTIHACKER_MODE 't'
|
||||||
|
|
||||||
|
/*
|
||||||
|
Smartkey models
|
||||||
|
*/
|
||||||
|
#define SKEY_NONE '0' /* No Smartkey */
|
||||||
|
#define SKEY_FX '1' /* Smartkey mod. FX */
|
||||||
|
#define SKEY_PR '2' /* Smartkey mod. PR */
|
||||||
|
#define SKEY_EP '3' /* Smartkey mod. EP */
|
||||||
|
#define SKEY_NET_5 '4' /* Smartkey mod. NET 5 users */
|
||||||
|
#define SKEY_NET_10 '5' /* Smartkey mod. NET 10 users */
|
||||||
|
#define SKEY_NET_25 '6' /* Smartkey mod. NET 25 users */
|
||||||
|
#define SKEY_NET_50 '7' /* Smartkey mod. NET 50 users */
|
||||||
|
#define SKEY_NET_NL '8' /* Smartkey mod. NET no limit */
|
||||||
|
#define SKEY_SP '9' /* Smartkey mod. SP */
|
||||||
|
#define SKEY_NET 'A' /* Smartkey mod. NET */
|
||||||
|
#define SKEY_SB 'B' /* Smartkey mod. SB */
|
||||||
|
#define SKEY_WI 'C' /* Smartkey mod. WI */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Return codes
|
||||||
|
*/
|
||||||
|
#define ST_OK 0 /* No errors */
|
||||||
|
#define ST_NONE_KEY -1 /* No Smartkey present */
|
||||||
|
#define ST_SYNT_ERR -2 /* Syntax error */
|
||||||
|
#define ST_LABEL_FAILED -3 /* Uncorrect label */
|
||||||
|
#define ST_PW_DATA_FAILED -4 /* Uncorrect password or data */
|
||||||
|
#define ST_EXEC_ERROR -16 /* Max exec reached */
|
||||||
|
#define ST_HW_FAILURE -20 /* Smartkey damaged */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Field length
|
||||||
|
*/
|
||||||
|
#define LABEL_LENGTH 16
|
||||||
|
#define PASSWORD_LENGTH 16
|
||||||
|
#define DATA_LENGTH 64
|
||||||
|
#define EXTENDED_DATA_LENGTH 352
|
||||||
|
#define SCRAMBLE_LENGTH 8
|
||||||
|
|
||||||
|
/*
|
||||||
|
Communication structure definition
|
||||||
|
*/
|
||||||
|
#pragma pack(push,1)
|
||||||
|
|
||||||
|
typedef struct __SKEY_DATA {
|
||||||
|
short lpt;
|
||||||
|
short command;
|
||||||
|
unsigned char label[LABEL_LENGTH];
|
||||||
|
unsigned char password[PASSWORD_LENGTH];
|
||||||
|
unsigned char data[DATA_LENGTH];
|
||||||
|
short fail_counter;
|
||||||
|
short status;
|
||||||
|
unsigned char ext_data[EXTENDED_DATA_LENGTH];
|
||||||
|
} SKEY_DATA;
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
#endif /* __SKEYDRV_H */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Smartkey net command codes
|
||||||
|
*/
|
||||||
|
#define NET_KEY_OPEN 'O'
|
||||||
|
#define NET_KEY_ACCESS 'A'
|
||||||
|
#define NET_KEY_CLOSE 'C'
|
||||||
|
|
||||||
|
/*
|
||||||
|
Smartkey command codes
|
||||||
|
*/
|
||||||
|
#define USER_NUMBER_MODE 'U'
|
||||||
|
|
||||||
|
/*
|
||||||
|
Net return codes
|
||||||
|
*/
|
||||||
|
#define ST_NET_ERROR -5 /* Lan error */
|
||||||
|
#define ST_CLOSE_ERROR -6 /* Attempting to CLOSE without OPENing */
|
||||||
|
#define ST_ACCESS_ERROR -7 /* Attempting to ACCESS without OPENing */
|
||||||
|
#define ST_USER_ERROR -8 /* Max user reached */
|
||||||
|
#define ST_NET_PWD_ERR -9 /* Net password wrong */
|
||||||
|
#define ST_TSR_NOT_INST -10 /* SKEYSRV not found */
|
||||||
|
#define ST_INIT_ERROR -11 /* Insufficient PC memory */
|
||||||
|
#define ST_PATH_ERR -12 /* Path error of file not found */
|
||||||
|
#define ST_DRIVER_NOT_INST -13 /* SKEYTSR not installed */
|
||||||
|
#define ST_TOO_MANY_OPEN_KEY -14 /* Too many open SmartKey */
|
||||||
|
#define ST_NET_PASS_INVALID -15 /* Invalid net password */
|
||||||
|
|
||||||
|
#define ST_NET_CONF_ERROR -21 /* Configuration error in INI/Registry/Environment */
|
||||||
|
#define ST_NET_ANP_INIT_ERROR -22 /* Error inizializing the ANP protocol */
|
||||||
|
#define ST_NET_TCPIP_INIT_ERROR -23 /* Error inizializing the TCPIP protocol */
|
||||||
|
#define ST_NET_NOVELL_INIT_ERROR -24 /* Error inizializing the Novell protocol */
|
||||||
|
#define ST_NET_LOCAL_INIT_ERROR -25 /* Error inizializing the Local protocol */
|
||||||
|
#define ST_NET_KEY_NOT_MAP -26 /* Not MAP programmed key found when MAP is requested */
|
||||||
|
|
||||||
|
/*
|
||||||
|
Code returned in data[0] after NET_OPEN
|
||||||
|
*/
|
||||||
|
#define NET_TYPE_LOCAL 0
|
||||||
|
#define NET_TYPE_IPX 1
|
||||||
|
#define NET_TYPE_ANP 2
|
||||||
|
#define NET_TYPE_TCPIP 3
|
||||||
|
|
||||||
|
/*
|
||||||
|
Structure definition
|
||||||
|
*/
|
||||||
|
#pragma pack(push,1)
|
||||||
|
|
||||||
|
typedef struct __KEY_NET {
|
||||||
|
short net_command;
|
||||||
|
unsigned long net_password;
|
||||||
|
short lpt;
|
||||||
|
short command;
|
||||||
|
unsigned char label[LABEL_LENGTH];
|
||||||
|
unsigned char password[PASSWORD_LENGTH];
|
||||||
|
unsigned char data[DATA_LENGTH];
|
||||||
|
short fail_counter;
|
||||||
|
short status;
|
||||||
|
unsigned char ext_data[EXTENDED_DATA_LENGTH];
|
||||||
|
} KEY_NET;
|
||||||
|
|
||||||
|
#pragma pack(pop)
|
||||||
|
|
||||||
|
/*
|
||||||
|
int smartlink_inizialize(void)
|
||||||
|
Inizialize the smartlink driver
|
||||||
|
Return 0 if successfull
|
||||||
|
|
||||||
|
void smartlink_deinizialize(void)
|
||||||
|
Deinizialize the smartlink driver
|
||||||
|
Return 0 if successfull
|
||||||
|
|
||||||
|
short smartlink(KEY_NET* key)
|
||||||
|
Call the driver.
|
||||||
|
Return key->k.status code
|
||||||
|
*/
|
||||||
|
short __cdecl smartlink(KEY_NET*);
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -1,125 +0,0 @@
|
|||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* */
|
|
||||||
/* EUTRON */
|
|
||||||
/* */
|
|
||||||
/* Via Gandhi 12 - 24048 Treviolo BG - Italy */
|
|
||||||
/* */
|
|
||||||
/* Tel. +39-35-201003 - Fax +39-35-201277 - BBS +39-35-201144 */
|
|
||||||
/* */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* */
|
|
||||||
/* Language : C */
|
|
||||||
/* Application : SkeyTsr */
|
|
||||||
/* Module : skeytsr.h */
|
|
||||||
/* Version : 1.0 */
|
|
||||||
/* Date : 8.2.1996 */
|
|
||||||
/* Note : */
|
|
||||||
/* */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#ifndef INC_SKEYTSR_H
|
|
||||||
#define INC_SKEYTSR_H
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Smartkey mode codes */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define SCRAMBLING_MODE 's'
|
|
||||||
#define READING_MODE 'r'
|
|
||||||
#define WRITING_MODE 'w'
|
|
||||||
#define FIXING_MODE 'f'
|
|
||||||
#define LOCATING_MODE 'l'
|
|
||||||
#define COMPARING_MODE 'c'
|
|
||||||
#define PROGRAMMING_MODE 'p'
|
|
||||||
#define MODEL_READING_MODE 'm'
|
|
||||||
#define ENCRYPTING_MODE 'e'
|
|
||||||
#define BLOCK_READING_MODE "br"
|
|
||||||
#define BLOCK_WRITING_MODE "bw"
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Smartkey models */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define SKEY_NONE '0' /* No Smartkey */
|
|
||||||
#define SKEY_FX '1' /* Smartkey mod. FX */
|
|
||||||
#define SKEY_PR '2' /* Smartkey mod. PR */
|
|
||||||
#define SKEY_EP '3' /* Smartkey mod. EP */
|
|
||||||
#define SKEY_NET_5 '4' /* Smartkey mod. NET 5 users */
|
|
||||||
#define SKEY_NET_10 '5' /* Smartkey mod. NET 10 users */
|
|
||||||
#define SKEY_NET_25 '6' /* Smartkey mod. NET 25 users */
|
|
||||||
#define SKEY_NET_50 '7' /* Smartkey mod. NET 50 users */
|
|
||||||
#define SKEY_NET_NL '8' /* Smartkey mod. NET no limit */
|
|
||||||
#define SKEY_SP '9' /* Smartkey mod. SP */
|
|
||||||
#define SKEY_NET 'A' /* Smartkey mod. NET */
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Return codes */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define ST_OK 0 /* No errors */
|
|
||||||
#define ST_NONE_KEY -1 /* No Smartkey present */
|
|
||||||
#define ST_SYNT_ERR -2 /* Syntax error */
|
|
||||||
#define ST_LABEL_FAILED -3 /* Uncorrect label */
|
|
||||||
#define ST_PW_DATA_FAILED -4 /* Uncorrect password or data */
|
|
||||||
#define ST_NET_ERROR -5 /* Lan error */
|
|
||||||
#define ST_CLOSE_ERROR -6 /* Attempting to CLOSE without */
|
|
||||||
/* OPENing */
|
|
||||||
#define ST_ACCESS_ERROR -7 /* Attempting to ACCESS without */
|
|
||||||
/* OPENing */
|
|
||||||
#define ST_USER_ERROR -8 /* Max user reached */
|
|
||||||
#define ST_NET_PWD_ERR -9 /* Net password wrong */
|
|
||||||
#define ST_TSR_NOT_INST -10 /* SKEYSRV not found */
|
|
||||||
#define ST_INIT_ERROR -11 /* Insufficient PC memory */
|
|
||||||
#define ST_PATH_ERR -12 /* Path error or file not found */
|
|
||||||
#define ST_DRIVER_NOT_INST -13 /* SKEYTSR not installed */
|
|
||||||
#define ST_TOO_MANY_OPEN_KEY -14 /* Too many open SmartKey */
|
|
||||||
#define ST_NET_PASS_INVALID -15 /* Invalid net password */
|
|
||||||
#define ST_EXEC_ERROR -16 /* Max exec reached */
|
|
||||||
#define ST_HW_FAILURE -20 /* Smartkey damaged */
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Field length */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define LABEL_LENGTH 16
|
|
||||||
#define PASSWORD_LENGTH 16
|
|
||||||
#define DATA_LENGTH 64
|
|
||||||
#define EXTENDED_DATA_LENGTH 352
|
|
||||||
#define SCRAMBLE_LENGTH 8
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#define NET_KEY_OPEN 'O'
|
|
||||||
#define NET_KEY_ACCESS 'A'
|
|
||||||
#define NET_KEY_CLOSE 'C'
|
|
||||||
#define USER_NUMBER_MODE 'U'
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Communication structure definition */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
#pragma pack(1)
|
|
||||||
|
|
||||||
typedef struct smartkey {
|
|
||||||
short net_command;
|
|
||||||
unsigned long net_password;
|
|
||||||
short lpt;
|
|
||||||
short command;
|
|
||||||
unsigned char label[LABEL_LENGTH];
|
|
||||||
unsigned char password[PASSWORD_LENGTH];
|
|
||||||
unsigned char data[DATA_LENGTH];
|
|
||||||
short fail_counter;
|
|
||||||
short status;
|
|
||||||
unsigned char ext_data[EXTENDED_DATA_LENGTH];
|
|
||||||
} KEY_NET;
|
|
||||||
|
|
||||||
#pragma pack()
|
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
/* Interface function prototype */
|
|
||||||
/* -------------------------------------------------------------------- */
|
|
||||||
|
|
||||||
short smartlink(KEY_NET *pSkey);
|
|
||||||
|
|
||||||
#endif
|
|
@ -291,8 +291,6 @@ TObject* TString::dup() const
|
|||||||
//
|
//
|
||||||
// @rdesc Ritorna il puntatore alla stringa duplicata
|
// @rdesc Ritorna il puntatore alla stringa duplicata
|
||||||
{
|
{
|
||||||
// TString* s = new TString(size());
|
|
||||||
// s->set(_str);
|
|
||||||
TString* s = new TString(_str);
|
TString* s = new TString(_str);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
@ -819,34 +819,38 @@ void TViswin::paint_background(
|
|||||||
y2 = (byte)(rwd[cnt++]); // Altezza destinazione (in caratteri)
|
y2 = (byte)(rwd[cnt++]); // Altezza destinazione (in caratteri)
|
||||||
if (id >= 0)
|
if (id >= 0)
|
||||||
{
|
{
|
||||||
const int width = tabx(x2);
|
|
||||||
TImage* i = (TImage*)_images.objptr(id);
|
TImage* i = (TImage*)_images.objptr(id);
|
||||||
if (i == NULL && y1 == 0)
|
if (i == NULL)
|
||||||
{
|
{
|
||||||
const TString_array& a = pr.image_names();
|
const TString_array& a = pr.image_names();
|
||||||
const TImage src(a.row(id));
|
const TImage src(a.row(id));
|
||||||
if (src.ok())
|
if (src.ok())
|
||||||
{
|
{
|
||||||
i = new TImage(src, width, y2*CHARY);
|
i = new TImage(src, x2*CHARX, y2*CHARY);
|
||||||
_images.add(i, id);
|
_images.add(i, id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i && i->ok())
|
if (i && i->ok())
|
||||||
{
|
{
|
||||||
short delta = tabx(short(origin().x - x1)); // Primo pixel sorgente
|
int delta = short(origin().x - x1); // Prima colonna sorgente
|
||||||
if (delta < 0) delta = 0;
|
if (delta < 0) delta = 0;
|
||||||
if (delta < width)
|
|
||||||
|
if (delta < x2)
|
||||||
{
|
{
|
||||||
const int scroll = (row == 1) ? 2 : 0;
|
const int scroll = (row == 1) ? 2 : 0; // Aggiungi un paio di pixel negli scroll
|
||||||
PNT p; p.h = delta; p.v = taby(y1);
|
PNT p; p.h = delta*CHARX; p.v = y1*CHARY;
|
||||||
RCT src; xvt_rect_set(&src, p.h, p.v, width, min(p.v+taby(1)+scroll , i->height()));
|
|
||||||
|
RCT src; xvt_rect_set(&src, p.h, p.v, (x2-delta)*CHARX, min(p.v+CHARY, i->height()));
|
||||||
if (src.top < i->height())
|
if (src.top < i->height())
|
||||||
{
|
{
|
||||||
short px = short(x1-origin().x);
|
int px = int(x1-origin().x);
|
||||||
if (px < 0) px = 0; px += X_OFFSET;
|
if (px < 0) px = 0; px += X_OFFSET;
|
||||||
p.h = tabx(px); p.v = taby(row);
|
RCT dst;
|
||||||
RCT dst = src; xvt_rect_set_pos(&dst, p);
|
dst.left = tabx(px);
|
||||||
|
dst.top = taby(row);
|
||||||
|
dst.right = dst.left + tabx(x2-delta);
|
||||||
|
dst.bottom = dst.top + taby(1)+scroll;
|
||||||
i->draw(win(), dst, src);
|
i->draw(win(), dst, src);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2362,6 +2366,7 @@ void TViswin::close_print ()
|
|||||||
if (_print_button)
|
if (_print_button)
|
||||||
_print_button->enable();
|
_print_button->enable();
|
||||||
enable_menu_item(M_VISWIN_PRINT, TRUE);
|
enable_menu_item(M_VISWIN_PRINT, TRUE);
|
||||||
|
|
||||||
// build bookmark menu tree
|
// build bookmark menu tree
|
||||||
_bookmarks = &(printer().get_bookmarks());
|
_bookmarks = &(printer().get_bookmarks());
|
||||||
if (_bookmarks->items() > 0)
|
if (_bookmarks->items() > 0)
|
||||||
|
@ -195,7 +195,7 @@ void TEvent_manager::push(WINDOW w, const EVENT& e)
|
|||||||
_e[_end] = e;
|
_e[_end] = e;
|
||||||
const int next = (_end+1) % MAX;
|
const int next = (_end+1) % MAX;
|
||||||
if (next == _begin)
|
if (next == _begin)
|
||||||
warning_box("Hey, clicca piu' piano!");
|
warning_box("Hey %s, clicca piu' piano!", (const char*)user());
|
||||||
else
|
else
|
||||||
_end = next;
|
_end = next;
|
||||||
}
|
}
|
||||||
|
@ -172,7 +172,7 @@ bool TSchedaPercipienti::setta_nprog(TMask& m, const bool variazione, const char
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
// istanza e inizializza chiave file schede
|
// istanza e inizializza chiave file schede
|
||||||
TLocalisamfile scperc(LF_SCPERC, FALSE);
|
TLocalisamfile scperc(LF_SCPERC);
|
||||||
scperc.zero();
|
scperc.zero();
|
||||||
scperc.put("CODDITTA", codditta);
|
scperc.put("CODDITTA", codditta);
|
||||||
scperc.put("TIPOA", tipoa);
|
scperc.put("TIPOA", tipoa);
|
||||||
@ -1881,6 +1881,7 @@ Pag_struct& TSchedaPercipienti::calcola_riga_pag(Pag_struct& s,
|
|||||||
TSheet_field& TSchedaPercipienti::enable_pag_sheet(TMask& m, const TString& quadro) const
|
TSheet_field& TSchedaPercipienti::enable_pag_sheet(TMask& m, const TString& quadro) const
|
||||||
{
|
{
|
||||||
TSheet_field* s = NULL;
|
TSheet_field* s = NULL;
|
||||||
|
|
||||||
TSheet_field& s_C = (TSheet_field&)m.field(F_PAGAMENTI_C);
|
TSheet_field& s_C = (TSheet_field&)m.field(F_PAGAMENTI_C);
|
||||||
if (quadro == "SC" || quadro == "SE")
|
if (quadro == "SC" || quadro == "SE")
|
||||||
{
|
{
|
||||||
|
@ -502,8 +502,9 @@ bool TSchedaPercipienti::pag_select (TMask_field& f, KEY k)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (mesec != datapag.month() || annoc != datapag.year())
|
if (mesec != datapag.month() || annoc != datapag.year())
|
||||||
|
{
|
||||||
// TBI inserire un'altra riga di versamento (?)
|
// TBI inserire un'altra riga di versamento (?)
|
||||||
;
|
}
|
||||||
}
|
}
|
||||||
selected.set(numpag);
|
selected.set(numpag);
|
||||||
|
|
||||||
|
@ -290,8 +290,8 @@ bool TDati_anagrafici::anagr_dich_handler(TMask_field& m, KEY k)
|
|||||||
|
|
||||||
bool TDati_anagrafici::indirizzo (TMask_field& f, KEY k)
|
bool TDati_anagrafici::indirizzo (TMask_field& f, KEY k)
|
||||||
{
|
{
|
||||||
TLocalisamfile anag (LF_ANAG, FALSE);
|
TLocalisamfile anag (LF_ANAG);
|
||||||
TLocalisamfile comuni (LF_COMUNI, FALSE);
|
TLocalisamfile comuni (LF_COMUNI);
|
||||||
long codanagr;
|
long codanagr;
|
||||||
char tipoa;
|
char tipoa;
|
||||||
TString ragione,nome,cognome,ind,civ,cap,com,prov,codcom;
|
TString ragione,nome,cognome,ind,civ,cap,com,prov,codcom;
|
||||||
|
@ -473,7 +473,7 @@ bool TQuadroA::QA3_codip_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
if (!f.mask().is_running()) return TRUE;
|
if (!f.mask().is_running()) return TRUE;
|
||||||
|
|
||||||
if ((key == K_TAB) && f.shown)
|
if ((key == K_TAB) && f.shown())
|
||||||
{
|
{
|
||||||
const long coddip = atol(f.get());
|
const long coddip = atol(f.get());
|
||||||
if (coddip==0) return TRUE;
|
if (coddip==0) return TRUE;
|
||||||
|
@ -885,7 +885,7 @@ bool TQuadroC_E2::ricalcola_imposte_c(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
f.reset();
|
f.reset();
|
||||||
f.set_dirty();
|
f.set_dirty();
|
||||||
key == K_TAB;
|
key = K_TAB;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == K_TAB && f.focusdirty() ||
|
if (key == K_TAB && f.focusdirty() ||
|
||||||
@ -943,7 +943,7 @@ bool TQuadroC_E2::ricalcola_imposte_d(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
f.reset();
|
f.reset();
|
||||||
f.set_dirty();
|
f.set_dirty();
|
||||||
key == K_TAB;
|
key = K_TAB;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == K_TAB && f.focusdirty() ||
|
if (key == K_TAB && f.focusdirty() ||
|
||||||
@ -991,7 +991,7 @@ bool TQuadroC_E2::ricalcola_imposte_e(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
f.reset();
|
f.reset();
|
||||||
f.set_dirty();
|
f.set_dirty();
|
||||||
key == K_TAB;
|
key = K_TAB;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 104)
|
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 104)
|
||||||
@ -1033,7 +1033,7 @@ bool TQuadroC_E2::ricalcola_imposte_e1(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
f.reset();
|
f.reset();
|
||||||
f.set_dirty();
|
f.set_dirty();
|
||||||
key == K_TAB;
|
key = K_TAB;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 105)
|
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 105)
|
||||||
@ -1075,7 +1075,7 @@ bool TQuadroC_E2::ricalcola_imposte_e2(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
f.reset();
|
f.reset();
|
||||||
f.set_dirty();
|
f.set_dirty();
|
||||||
key == K_TAB;
|
key = K_TAB;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 103)
|
if (key == K_TAB && f.focusdirty() || key == K_ENTER && f.dlg() == 103)
|
||||||
|
@ -15,10 +15,10 @@ int main(int argc,char** argv)
|
|||||||
m72300(argc,argv); break;
|
m72300(argc,argv); break;
|
||||||
case 3:
|
case 3:
|
||||||
m72400(argc,argv); break;
|
m72400(argc,argv); break;
|
||||||
case 4:
|
// case 4: non usate a menu!!
|
||||||
stampa_quadro(argc,argv); break;
|
// stampa_quadro(argc,argv); break;
|
||||||
case 5:
|
// case 5:
|
||||||
stampa_riepilogo(argc,argv); break;
|
// stampa_riepilogo(argc,argv); break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -121,7 +121,7 @@ class TAzzeramento_archivi : public TRelation_application
|
|||||||
static void after_reset_BASEBIS(TRectype& rec);
|
static void after_reset_BASEBIS(TRectype& rec);
|
||||||
|
|
||||||
// validazione e azioni su schede percipienti
|
// validazione e azioni su schede percipienti
|
||||||
bool is_resetable(const TRectype& rec);
|
int is_resetable(const TRectype& rec);
|
||||||
|
|
||||||
// handler di campi
|
// handler di campi
|
||||||
static bool F_ANNODIC_hnd(TMask_field& f, KEY key);
|
static bool F_ANNODIC_hnd(TMask_field& f, KEY key);
|
||||||
@ -738,10 +738,10 @@ void TAzzeramento_archivi::elab_selezionate(const bool azzsch, const bool azzqua
|
|||||||
bool TAzzeramento_archivi::validate_record_SCPERC(const TRectype& rec)
|
bool TAzzeramento_archivi::validate_record_SCPERC(const TRectype& rec)
|
||||||
{
|
{
|
||||||
// verifica se la scheda è azzerabile
|
// verifica se la scheda è azzerabile
|
||||||
bool isresetable = app().is_resetable(rec);
|
int isresetable = app().is_resetable(rec);
|
||||||
|
|
||||||
// scheda da non azzerare
|
// scheda da non azzerare
|
||||||
if (!isresetable)
|
if (isresetable == 0)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
// scheda da loggare
|
// scheda da loggare
|
||||||
@ -875,7 +875,7 @@ void TAzzeramento_archivi::after_reset_BASEBIS(TRectype& rec)
|
|||||||
// FALSE - la scheda non è azzerabile;
|
// FALSE - la scheda non è azzerabile;
|
||||||
// TRUE - la scheda è azzerabile;
|
// TRUE - la scheda è azzerabile;
|
||||||
// 2 - la scheda è da loggare;
|
// 2 - la scheda è da loggare;
|
||||||
bool TAzzeramento_archivi::is_resetable(const TRectype& rec)
|
int TAzzeramento_archivi::is_resetable(const TRectype& rec)
|
||||||
{
|
{
|
||||||
// apro file e inizializzo chiave pagamenti
|
// apro file e inizializzo chiave pagamenti
|
||||||
TLocalisamfile rpag(LF_RPAG);
|
TLocalisamfile rpag(LF_RPAG);
|
||||||
@ -1078,7 +1078,7 @@ bool TAzzeramento_archivi::F_AZZQUA_hnd(TMask_field& f, KEY k)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// funzione principale di lancio applicazione
|
// funzione principale di lancio applicazione
|
||||||
int Azzeramento_archivi(int argc, char* argv[])
|
int azzeramento_archivi(int argc, char* argv[])
|
||||||
{
|
{
|
||||||
TAzzeramento_archivi a(*argv[2]);
|
TAzzeramento_archivi a(*argv[2]);
|
||||||
a.run(argc, argv, "Azzeramento archivi");
|
a.run(argc, argv, "Azzeramento archivi");
|
||||||
|
@ -1197,6 +1197,7 @@ bool TTrasferimento770::read(TRecord770& rec)
|
|||||||
bool ok = _in_stream != NULL && !_in_stream->eof();
|
bool ok = _in_stream != NULL && !_in_stream->eof();
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
|
rec.tipo_record(' '); // Invalida il record
|
||||||
(*_in_stream) >> rec;
|
(*_in_stream) >> rec;
|
||||||
ok = rec.valid();
|
ok = rec.valid();
|
||||||
}
|
}
|
||||||
@ -1311,7 +1312,7 @@ bool TTrasferimento770::split(const char* path)
|
|||||||
else
|
else
|
||||||
error_box("Tipo record non riconosciuto: %c", tipo_rec);
|
error_box("Tipo record non riconosciuto: %c", tipo_rec);
|
||||||
|
|
||||||
if (magnetic && written > records_per_disk)
|
if (magnetic && written >= records_per_disk)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ END
|
|||||||
NUMBER F_DADITTA 5
|
NUMBER F_DADITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 5 "Da ditta "
|
PROMPT 1 5 "Da ditta "
|
||||||
USE LF_BASE SELECT ANNODIC=#F_ANNO
|
USE LF_BASE
|
||||||
JOIN LF_NDITTE INTO CODDITTA=CODDITTA
|
JOIN LF_NDITTE INTO CODDITTA=CODDITTA
|
||||||
INPUT CODDITTA F_DADITTA
|
INPUT CODDITTA F_DADITTA
|
||||||
DISPLAY "Ditta" CODDITTA
|
DISPLAY "Ditta" CODDITTA
|
||||||
|
@ -162,14 +162,20 @@ void TFormDylog::transfer_section(TPrint_section& body, TRecordDylog& rec,
|
|||||||
TToken_string trc(32, ',');
|
TToken_string trc(32, ',');
|
||||||
TString80 str;
|
TString80 str;
|
||||||
|
|
||||||
TCursor& cur = *cursor();
|
// body.update(); // Per un errore sui form 1.4 lo faccio io a mano
|
||||||
|
body.reset();
|
||||||
|
for (word i = 0; i < body.fields(); i++)
|
||||||
|
{
|
||||||
|
TForm_item& fi = body.field(i);
|
||||||
|
if (fi.enabled())
|
||||||
|
fi.update();
|
||||||
|
}
|
||||||
|
|
||||||
body.update();
|
|
||||||
for (word f = 0; f < body.fields(); f++)
|
for (word f = 0; f < body.fields(); f++)
|
||||||
{
|
{
|
||||||
TForm_item& fi = body.field(f);
|
TForm_item& fi = body.field(f);
|
||||||
str = fi.get(); str.trim();
|
str = fi.get(); str.trim();
|
||||||
if (fi.shown() && str.not_empty())
|
if (fi.shown() && fi.enabled())
|
||||||
{
|
{
|
||||||
trc = fi.get_special_value("DYLOG");
|
trc = fi.get_special_value("DYLOG");
|
||||||
if (trc.not_empty())
|
if (trc.not_empty())
|
||||||
@ -331,7 +337,7 @@ long TFormDylog::trasfer(long codditta, TTrasferimentoDylog& file, const char* t
|
|||||||
|
|
||||||
TPrint_section& body = section('B', odd_page);
|
TPrint_section& body = section('B', odd_page);
|
||||||
|
|
||||||
for (; err == NOERR; err = next())
|
for (int err = first(); err == NOERR; err = next())
|
||||||
{
|
{
|
||||||
// Inizializza record col primo modulo
|
// Inizializza record col primo modulo
|
||||||
TRecordDylog rec(td, cfdich);
|
TRecordDylog rec(td, cfdich);
|
||||||
@ -601,6 +607,7 @@ bool TTrasferimentoDylog::read(TRecordDylog& rec)
|
|||||||
bool ok = _in_stream != NULL && !_in_stream->eof();
|
bool ok = _in_stream != NULL && !_in_stream->eof();
|
||||||
if (ok)
|
if (ok)
|
||||||
{
|
{
|
||||||
|
rec.tipo_record(NULL); // Invalida il record
|
||||||
(*_in_stream) >> rec;
|
(*_in_stream) >> rec;
|
||||||
ok = rec.valid();
|
ok = rec.valid();
|
||||||
}
|
}
|
||||||
@ -623,7 +630,6 @@ bool TTrasferimentoDylog::split(const char* path)
|
|||||||
{
|
{
|
||||||
close();
|
close();
|
||||||
|
|
||||||
long totale[32]; memset(totale, 0, sizeof(totale));
|
|
||||||
long records = 0;
|
long records = 0;
|
||||||
|
|
||||||
TRecordDylog rec;
|
TRecordDylog rec;
|
||||||
@ -678,11 +684,7 @@ bool TTrasferimentoDylog::split(const char* path)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compila record di testata
|
|
||||||
// Scrive record testata
|
|
||||||
|
|
||||||
// Azzera totali
|
// Azzera totali
|
||||||
memset(totale, 0, sizeof(totale));
|
|
||||||
long written = 0;
|
long written = 0;
|
||||||
|
|
||||||
while (read(rec))
|
while (read(rec))
|
||||||
@ -691,12 +693,9 @@ bool TTrasferimentoDylog::split(const char* path)
|
|||||||
written++;
|
written++;
|
||||||
pi.addstatus(1);
|
pi.addstatus(1);
|
||||||
|
|
||||||
if (magnetic && written > records_per_disk)
|
if (magnetic && written >= records_per_disk)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compila record di coda
|
|
||||||
// Scrive record di coda
|
|
||||||
}
|
}
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ Module = 0
|
|||||||
Item_01 = "Modello 740", "740 -t -cCONF740.FPW", ""
|
Item_01 = "Modello 740", "740 -t -cCONF740.FPW", ""
|
||||||
Item_02 = "Modello 750", "750 -t -cCONF750.FPW", ""
|
Item_02 = "Modello 750", "750 -t -cCONF750.FPW", ""
|
||||||
Item_03 = "Modello 760", "760 -t -cCONF760.FPW", ""
|
Item_03 = "Modello 760", "760 -t -cCONF760.FPW", ""
|
||||||
Item_04 = "Modello 770", <77prassi.men>
|
Item_04 = "Modello 770", <77menu.men>
|
||||||
Item_05 = "Dichiarazione IVA", "miva -t", ""
|
Item_05 = "Dichiarazione IVA", "miva -t", ""
|
||||||
Item_06 = "Gestione ICI", "gici -t /cPRAWIN.INI", ""
|
Item_06 = "Gestione ICI", "gici -t /cCAMPO.INI", ""
|
||||||
|
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
[Main]
|
[Main]
|
||||||
|
Demo =
|
||||||
|
|
||||||
[770]
|
[770]
|
||||||
File(0) = 7700.bmp
|
File(0) = 7700.bmp
|
||||||
File(1) = 77area.men
|
File(1) = 77area.men
|
||||||
Patch = 0
|
Patch = 180
|
||||||
Versione = 19980104
|
Versione = 19980104
|
||||||
|
|
||||||
[771]
|
[771]
|
||||||
@ -154,7 +155,7 @@ File(145) = batbca7.msk
|
|||||||
File(146) = batbcaf.msk
|
File(146) = batbcaf.msk
|
||||||
File(147) = batbent.msk
|
File(147) = batbent.msk
|
||||||
File(148) = menu_st.msk
|
File(148) = menu_st.msk
|
||||||
Patch = 0
|
Patch = 180
|
||||||
Versione = 19980104
|
Versione = 19980104
|
||||||
|
|
||||||
[772]
|
[772]
|
||||||
@ -224,21 +225,21 @@ File(211) = recdesc\f76.dir
|
|||||||
File(212) = recdesc\f76.trr
|
File(212) = recdesc\f76.trr
|
||||||
File(213) = recdesc\f77.dir
|
File(213) = recdesc\f77.dir
|
||||||
File(214) = recdesc\f77.trr
|
File(214) = recdesc\f77.trr
|
||||||
Patch = 0
|
Patch = 180
|
||||||
Versione = 19980104
|
Versione = 19980104
|
||||||
|
|
||||||
[cg0]
|
[cg0]
|
||||||
File(0) = cg00.bmp
|
File(0) = cg00.bmp
|
||||||
File(1) = cgarea.men
|
File(1) = cgarea.men
|
||||||
Patch = 3
|
Patch = 126
|
||||||
Versione = 19980104
|
Versione = 19980104
|
||||||
|
|
||||||
[77]
|
[77]
|
||||||
Data = 12-10-1998
|
Data = 02-12-1998
|
||||||
Descrizione = Percipienti (Mod.770)
|
Descrizione = Percipienti (Mod.770)
|
||||||
Dischi = 1
|
Dischi = 1
|
||||||
Moduli = ba,cg0
|
Moduli = ba,cg0
|
||||||
Patch = 0
|
Patch = 180
|
||||||
PostProcess =
|
PostProcess =
|
||||||
PreProcess =
|
PreProcess =
|
||||||
Prezzo(1) = 700,250
|
Prezzo(1) = 700,250
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
[PRASSI77_001]
|
[77MENU_001]
|
||||||
Caption = "Gestione percipienti"
|
Caption = "Gestione percipienti"
|
||||||
Picture = <7701.bmp>
|
Picture = <7701.bmp>
|
||||||
Module = 4
|
Module = 4
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Attivazione sostituto", "776mod -1", ""
|
Item_01 = "Attivazione sostituto", "776mod -1", ""
|
||||||
Item_02 = "Gestione percipienti", "776mod -0", ""
|
Item_02 = "Gestione percipienti", "776mod -0", ""
|
||||||
Item_03 = "Stampe",[PRASSI77_002]
|
Item_03 = "Stampe",[77MENU_002]
|
||||||
Item_04 = "Tabella causali", "773mod -3 %ca7", ""
|
Item_04 = "Tabella causali", "773mod -3 %ca7", ""
|
||||||
Item_05 = "Azzeramento archivi", "774 -2 T", ""
|
Item_05 = "Azzeramento archivi", "774 -2 T", ""
|
||||||
Item_06 = "Parametri di studio", "773mod -0", ""
|
Item_06 = "Parametri di studio", "773mod -0", ""
|
||||||
|
|
||||||
[PRASSI77_002]
|
[77MENU_002]
|
||||||
Caption = "Stampe"
|
Caption = "Stampe"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
@ -67,7 +67,7 @@ KEY "CAUSALE"
|
|||||||
PROMPT 2 1 ""
|
PROMPT 2 1 ""
|
||||||
FIELD CAUSALE
|
FIELD CAUSALE
|
||||||
END
|
END
|
||||||
NUMBER 3 14
|
VALUTA 3 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "@CTotale" "Totale"
|
SPECIAL STRINGA INTESTAZIONE "@CTotale" "Totale"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
@ -77,7 +77,7 @@ PROMPT 3 1 ""
|
|||||||
FIELD TOTALE
|
FIELD TOTALE
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###^^^"
|
||||||
END
|
END
|
||||||
NUMBER 4 14
|
VALUTA 4 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "Spes. Ant." "Spes. Ant."
|
SPECIAL STRINGA INTESTAZIONE "Spes. Ant." "Spes. Ant."
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
@ -87,7 +87,7 @@ PROMPT 4 1 ""
|
|||||||
FIELD SPESEANT
|
FIELD SPESEANT
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###^^^"
|
||||||
END
|
END
|
||||||
NUMBER 5 14
|
VALUTA 5 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "Quaota Provv." "quaota Provv."
|
SPECIAL STRINGA INTESTAZIONE "Quaota Provv." "quaota Provv."
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
@ -97,7 +97,7 @@ PROMPT 5 1 ""
|
|||||||
FIELD QUOTAPRO
|
FIELD QUOTAPRO
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###^^^"
|
||||||
END
|
END
|
||||||
NUMBER 6 14
|
VALUTA 6 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
|
SPECIAL STRINGA INTESTAZIONE "@CImponibile" "Imponibile"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
@ -107,7 +107,7 @@ PROMPT 6 1 ""
|
|||||||
FIELD IMPONIBILE
|
FIELD IMPONIBILE
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###^^^"
|
||||||
END
|
END
|
||||||
NUMBER 7 14
|
VALUTA 7 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "Rit. Op." "Rit. Op."
|
SPECIAL STRINGA INTESTAZIONE "Rit. Op." "Rit. Op."
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
|
@ -75,7 +75,7 @@ END
|
|||||||
|
|
||||||
STRING 2 5
|
STRING 2 5
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "@Caus." "Caus."
|
SPECIAL STRINGA INTESTAZIONE "@cCaus." "Caus."
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
||||||
KEY "CAUSALE"
|
KEY "CAUSALE"
|
||||||
@ -107,7 +107,7 @@ END
|
|||||||
|
|
||||||
NUMERO 5 9
|
NUMERO 5 9
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
|
SPECIAL STRINGA INTESTAZIONE "@cAliquota" "Aliquota"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
||||||
KEY "ALIQUOTA"
|
KEY "ALIQUOTA"
|
||||||
@ -173,7 +173,7 @@ END
|
|||||||
|
|
||||||
VALUTA 11 14
|
VALUTA 11 14
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "Ragione Sociale" "Ragione Sociale"
|
SPECIAL STRINGA INTESTAZIONE "@cCompenso" "Compenso"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
SPECIAL STRINGA FINCATURA "XX" "Fincatura sinistra e destra"
|
||||||
KEY "AMMONTARE COMPLESSIVO"
|
KEY "AMMONTARE COMPLESSIVO"
|
||||||
|
@ -147,7 +147,7 @@ BEGIN
|
|||||||
FIELD 42->QLSERIE
|
FIELD 42->QLSERIE
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 9 15
|
VALUTA 9 15
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "@cRit. effettuate" "Rit. effettuate"
|
SPECIAL STRINGA INTESTAZIONE "@cRit. effettuate" "Rit. effettuate"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
@ -158,7 +158,7 @@ BEGIN
|
|||||||
PICTURE "###.###.###.###^^^"
|
PICTURE "###.###.###.###^^^"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO 10 15
|
VALUTA 10 15
|
||||||
BEGIN
|
BEGIN
|
||||||
SPECIAL STRINGA INTESTAZIONE "@cImp. Versato" "Imp. Versato"
|
SPECIAL STRINGA INTESTAZIONE "@cImp. Versato" "Imp. Versato"
|
||||||
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
SPECIAL NUMERO OFFSET "0" "Offset iniziale campo"
|
||||||
|
@ -430,7 +430,7 @@ int TRigheNR::fill(const long codditta,TLocalisamfile& qnr)
|
|||||||
// Si posiziona sul primo della ditta corrente
|
// Si posiziona sul primo della ditta corrente
|
||||||
qnr.zero();
|
qnr.zero();
|
||||||
qnr.put("CODDITTA",codditta);
|
qnr.put("CODDITTA",codditta);
|
||||||
qnr.read()==NOERR;
|
qnr.read() = NOERR;
|
||||||
ditta=qnr.get_long("CODDITTA");
|
ditta=qnr.get_long("CODDITTA");
|
||||||
if (ditta!=codditta) return 0;
|
if (ditta!=codditta) return 0;
|
||||||
|
|
||||||
@ -493,7 +493,7 @@ int TRigheQT::fill(const long codditta,TLocalisamfile& qt)
|
|||||||
_data.destroy();
|
_data.destroy();
|
||||||
qt.zero();
|
qt.zero();
|
||||||
qt.put("CODDITTA",codditta);
|
qt.put("CODDITTA",codditta);
|
||||||
qt.read()==NOERR;
|
qt.read() = NOERR;
|
||||||
ditta=qt.get_long("CODDITTA");
|
ditta=qt.get_long("CODDITTA");
|
||||||
if (ditta!=codditta) return 0;
|
if (ditta!=codditta) return 0;
|
||||||
|
|
||||||
@ -541,7 +541,7 @@ int TRighePS::fill(const long codditta,TLocalisamfile& ps)
|
|||||||
_data.destroy();
|
_data.destroy();
|
||||||
ps.zero();
|
ps.zero();
|
||||||
ps.put("CODDITTA",codditta);
|
ps.put("CODDITTA",codditta);
|
||||||
ps.read()==NOERR;
|
ps.read() = NOERR;
|
||||||
ditta=ps.get_long("CODDITTA");
|
ditta=ps.get_long("CODDITTA");
|
||||||
if (ditta!=codditta) return 0;
|
if (ditta!=codditta) return 0;
|
||||||
|
|
||||||
@ -1055,8 +1055,8 @@ bool TStampaBase::print_quadro(const int OffsetDitta, const bool modulaser)
|
|||||||
const TipoDitta tipo = (TipoDitta)riga.get_int(1);
|
const TipoDitta tipo = (TipoDitta)riga.get_int(1);
|
||||||
const long fis = riga.get_long(2);
|
const long fis = riga.get_long(2);
|
||||||
const long nofis = riga.get_long(3);
|
const long nofis = riga.get_long(3);
|
||||||
const bool LastFis = (bool)riga.get_int(4);
|
const bool LastFis = riga.get_int(4) != 0;
|
||||||
const bool LastNoFis = (bool)riga.get_int(5);
|
const bool LastNoFis = riga.get_int(5) != 0;
|
||||||
|
|
||||||
// I gruppi dich-estinti hanno totali comuni
|
// I gruppi dich-estinti hanno totali comuni
|
||||||
// Si presume che nell'array vengano messi nell'ordine dich-estinti
|
// Si presume che nell'array vengano messi nell'ordine dich-estinti
|
||||||
|
@ -1072,8 +1072,8 @@ bool TStampaQuadro::print_quadro(const int OffsetDitta, const bool modulaser)
|
|||||||
const TipoDitta tipo = (TipoDitta)riga.get_int(1);
|
const TipoDitta tipo = (TipoDitta)riga.get_int(1);
|
||||||
const long fis = riga.get_long(2);
|
const long fis = riga.get_long(2);
|
||||||
const long nofis = riga.get_long(3);
|
const long nofis = riga.get_long(3);
|
||||||
const bool LastFis = (bool)riga.get_int(4);
|
const bool LastFis = riga.get_int(4) != 0;
|
||||||
const bool LastNoFis = (bool)riga.get_int(5);
|
const bool LastNoFis = riga.get_int(5) != 0;
|
||||||
|
|
||||||
// I gruppi dich-estinti hanno totali comuni
|
// I gruppi dich-estinti hanno totali comuni
|
||||||
// Si presume che nell'array vengano messi nell'ordine dich-estinti
|
// Si presume che nell'array vengano messi nell'ordine dich-estinti
|
||||||
@ -1983,7 +1983,7 @@ bool TQuadroG::InitPrint(const long codditta)
|
|||||||
{
|
{
|
||||||
TCursor& cur = (TCursor&)_cursori[c];
|
TCursor& cur = (TCursor&)_cursori[c];
|
||||||
cur.setregion(filter, filter);
|
cur.setregion(filter, filter);
|
||||||
ok |= cur.items() > 0;
|
ok |= (cur.items() > 0);
|
||||||
cur = 0;
|
cur = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -249,9 +249,9 @@ bool TQuadroC::print(const long codditta, const long NumFis, const long NumNoFis
|
|||||||
if (stampero_ultimo)
|
if (stampero_ultimo)
|
||||||
{
|
{
|
||||||
if (indice.items() > 0) // Usa indice alternativo
|
if (indice.items() > 0) // Usa indice alternativo
|
||||||
stampero_ultimo &= pos == indice.items()-1;
|
stampero_ultimo &= (pos == indice.items()-1);
|
||||||
else // Usa indice del cursore
|
else // Usa indice del cursore
|
||||||
stampero_ultimo &= cur.pos() == cur.items()-1;
|
stampero_ultimo &= (cur.pos() == cur.items()-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
pr.formlen(dic_form_len());
|
pr.formlen(dic_form_len());
|
||||||
|
@ -66,7 +66,7 @@ int TResetfile::load_resetable_fields(const RecDes& recd,
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Descrittore campo
|
// Descrittore campo
|
||||||
RecFieldDes& fieldd = recd.Fd[i];
|
const RecFieldDes& fieldd = recd.Fd[i];
|
||||||
|
|
||||||
// non azzero i campi indefiniti
|
// non azzero i campi indefiniti
|
||||||
if (fieldd.TypeF == _nullfld)
|
if (fieldd.TypeF == _nullfld)
|
||||||
|
@ -4,9 +4,9 @@ Picture = <mg00.bmp>
|
|||||||
Module = 0
|
Module = 0
|
||||||
Flags = "F"
|
Flags = "F"
|
||||||
Item_01 = "Archivi e tabelle di base", [MGAREA_001]
|
Item_01 = "Archivi e tabelle di base", [MGAREA_001]
|
||||||
Item_02 = "Magazzino", <mgprassi.men>
|
Item_02 = "Magazzino", <mgmenu.men>
|
||||||
Item_03 = "Distinta base", <dbprassi.men>
|
Item_03 = "Distinta base", <dbmenu.men>
|
||||||
Item_04 = "M.R.P.", <mrprassi.men>
|
Item_04 = "M.R.P.", <mrmenu.men>
|
||||||
Item_05 = "Servizi", [MGAREA_019]
|
Item_05 = "Servizi", [MGAREA_019]
|
||||||
Item_06 = "Configurazione", [MGAREA_020]
|
Item_06 = "Configurazione", [MGAREA_020]
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
[PRASSIMG_060]
|
[MGMENU_060]
|
||||||
Caption = "Gestione magazzino"
|
Caption = "Gestione magazzino"
|
||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
Module = 32
|
Module = 32
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Movimenti", [PRASSIMG_063]
|
Item_01 = "Movimenti", [MGMENU_063]
|
||||||
Item_02 = "Stampe", [PRASSIMG_064]
|
Item_02 = "Stampe", [MGMENU_064]
|
||||||
Item_03 = "Tabelle", [PRASSIMG_061]
|
Item_03 = "Tabelle", [MGMENU_061]
|
||||||
Item_04 = "Servizi", [PRASSIMG_070]
|
Item_04 = "Servizi", [MGMENU_070]
|
||||||
Item_05 = "Configurazione magazzino", [PRASSIMG_099]
|
Item_05 = "Configurazione magazzino", [MGMENU_099]
|
||||||
|
|
||||||
[PRASSIMG_061]
|
[MGMENU_061]
|
||||||
Caption = "Tabelle di magazzino"
|
Caption = "Tabelle di magazzino"
|
||||||
Module = 32
|
Module = 32
|
||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
@ -17,7 +17,7 @@ Item_02 = "Gestione tabelle", [MGAREA_006]
|
|||||||
Item_03 = "Stampa tabelle", [MGAREA_011]
|
Item_03 = "Stampa tabelle", [MGAREA_011]
|
||||||
|
|
||||||
|
|
||||||
[PRASSIMG_063]
|
[MGMENU_063]
|
||||||
Caption = "Movimenti di magazzino"
|
Caption = "Movimenti di magazzino"
|
||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
Module = 32
|
Module = 32
|
||||||
@ -26,7 +26,7 @@ Item_01 = "Gestione interattiva", "mg1 -0", "F"
|
|||||||
Item_02 = "Ricostruzione saldi", "mg1 -1", "F"
|
Item_02 = "Ricostruzione saldi", "mg1 -1", "F"
|
||||||
Item_03 = "Lista di controllo", "mg4 -0", "F"
|
Item_03 = "Lista di controllo", "mg4 -0", "F"
|
||||||
|
|
||||||
[PRASSIMG_064]
|
[MGMENU_064]
|
||||||
Caption = "Stampe"
|
Caption = "Stampe"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 32
|
Module = 32
|
||||||
@ -40,14 +40,14 @@ Item_06 = "Libro giornale", "mg4 -2", "F"
|
|||||||
Item_07 = "Lista movimenti", "mg4 -0", "F"
|
Item_07 = "Lista movimenti", "mg4 -0", "F"
|
||||||
Item_08 = "Storico rimanenze", "mg3 -4", "F"
|
Item_08 = "Storico rimanenze", "mg3 -4", "F"
|
||||||
|
|
||||||
[PRASSIMG_070]
|
[MGMENU_070]
|
||||||
Caption = "Servizi modulo magazzino"
|
Caption = "Servizi modulo magazzino"
|
||||||
Picture = <mg01.bmp>
|
Picture = <mg01.bmp>
|
||||||
Module = 32
|
Module = 32
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Apertura/chiusura magazzino", "mg1 -3", "F"
|
Item_01 = "Apertura/chiusura magazzino", "mg1 -3", "F"
|
||||||
|
|
||||||
[PRASSIMG_099]
|
[MGMENU_099]
|
||||||
Caption = "Configurazione modulo magazzino"
|
Caption = "Configurazione modulo magazzino"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 32
|
Module = 32
|
@ -1,4 +1,4 @@
|
|||||||
[PRASSIMR_001]
|
[MRMENU_001]
|
||||||
Caption = "Gestione della produzione"
|
Caption = "Gestione della produzione"
|
||||||
Picture = <mr01.bmp>
|
Picture = <mr01.bmp>
|
||||||
Module = 39
|
Module = 39
|
||||||
@ -7,13 +7,13 @@ Item_01 = "M.S.P.", "mr2 -2", "F"
|
|||||||
Item_02 = "Pianificazione ordini", "mr2 -1", "F"
|
Item_02 = "Pianificazione ordini", "mr2 -1", "F"
|
||||||
Item_03 = "M.R.P.", "mr2 -0", "F"
|
Item_03 = "M.R.P.", "mr2 -0", "F"
|
||||||
Item_04 = "Pianificazione acquisti", "mr2 -3", "F"
|
Item_04 = "Pianificazione acquisti", "mr2 -3", "F"
|
||||||
Item_05 = "Stampe", [PRASSIMR_040]
|
Item_05 = "Stampe", [MRMENU_040]
|
||||||
Item_06 = "Archivi", [PRASSIMR_010]
|
Item_06 = "Archivi", [MRMENU_010]
|
||||||
Item_07 = "Stampe archivi", [PRASSIMR_020]
|
Item_07 = "Stampe archivi", [MRMENU_020]
|
||||||
Item_08 = "Servizi", [PRASSIMR_030]
|
Item_08 = "Servizi", [MRMENU_030]
|
||||||
Item_09 = "Configurazione MRP", [PRASSIMR_080]
|
Item_09 = "Configurazione MRP", [MRMENU_080]
|
||||||
|
|
||||||
[PRASSIMR_010]
|
[MRMENU_010]
|
||||||
Caption = "Gestione archivi"
|
Caption = "Gestione archivi"
|
||||||
Picture = <mr01.bmp>
|
Picture = <mr01.bmp>
|
||||||
Module = 39
|
Module = 39
|
||||||
@ -26,7 +26,7 @@ Item_01 = "Tabella impianti", "mr0 -0 IMP", "F"
|
|||||||
Item_01 = "Tabella linee di produzione", "mr0 -0 LNP", "F"
|
Item_01 = "Tabella linee di produzione", "mr0 -0 LNP", "F"
|
||||||
Item_01 = "Tabella Articoli/Impianti", "mr0 -0 FIA", "F"
|
Item_01 = "Tabella Articoli/Impianti", "mr0 -0 FIA", "F"
|
||||||
|
|
||||||
[PRASSIMR_020]
|
[MRMENU_020]
|
||||||
Caption = "Stampa archivi"
|
Caption = "Stampa archivi"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 39
|
Module = 39
|
||||||
@ -39,7 +39,7 @@ Item_01 = "Tabella impianti", "mr0 -1 IMP", "F"
|
|||||||
Item_01 = "Tabella linee di produzione", "mr0 -1 LNP", "F"
|
Item_01 = "Tabella linee di produzione", "mr0 -1 LNP", "F"
|
||||||
|
|
||||||
|
|
||||||
[PRASSIMR_040]
|
[MRMENU_040]
|
||||||
Caption = "Stampa"
|
Caption = "Stampa"
|
||||||
Picture = <mr01.bmp>
|
Picture = <mr01.bmp>
|
||||||
Module = 39
|
Module = 39
|
||||||
@ -51,7 +51,7 @@ Item_01 = "Stampa produzione articoli", "mr1 -0", "F"
|
|||||||
Item_01 = "Esplosione distinte", "db1 -0", "F"
|
Item_01 = "Esplosione distinte", "db1 -0", "F"
|
||||||
Item_02 = "Implosione", disabled
|
Item_02 = "Implosione", disabled
|
||||||
|
|
||||||
[PRASSIMR_030]
|
[MRMENU_030]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <mr01.bmp>
|
Picture = <mr01.bmp>
|
||||||
Module = 39
|
Module = 39
|
||||||
@ -60,7 +60,7 @@ Item_01 = "Ricalcolo balance-on-hand", "db2 -3", "F"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[PRASSIMR_080]
|
[MRMENU_080]
|
||||||
Caption = "Configurazione"
|
Caption = "Configurazione"
|
||||||
Picture = <mr01.bmp>
|
Picture = <mr01.bmp>
|
||||||
Module = 39
|
Module = 39
|
@ -1,4 +1,4 @@
|
|||||||
[PRASSIOR_000]
|
[ORMENU_000]
|
||||||
Caption = "Ordini"
|
Caption = "Ordini"
|
||||||
Picture = <or01.bmp>
|
Picture = <or01.bmp>
|
||||||
Module = 33
|
Module = 33
|
@ -1,7 +1,3 @@
|
|||||||
#define APPNAME campo
|
|
||||||
#define QAPPNAME "campo"
|
|
||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
|
||||||
|
|
||||||
#include <default.url>
|
#include <default.url>
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
|
||||||
|
@ -1,7 +1,3 @@
|
|||||||
#define APPNAME campo
|
|
||||||
#define QAPPNAME "campo"
|
|
||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
|
||||||
|
|
||||||
#include <default.url>
|
#include <default.url>
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
[PRASSIPR_001]
|
[PRMENU_001]
|
||||||
Caption = "Gestione agenti"
|
Caption = "Gestione agenti"
|
||||||
Picture = <pr01.bmp>
|
Picture = <pr01.bmp>
|
||||||
Module = 36
|
Module = 36
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Archivi e tabelle", [PRASSIPR_002]
|
Item_01 = "Archivi e tabelle", [PRMENU_002]
|
||||||
Item_02 = "Stampa archivi e tabelle", [PRASSIPR_003]
|
Item_02 = "Stampa archivi e tabelle", [PRMENU_003]
|
||||||
Item_03 = "Provvigioni", "pr0 -6", "F"
|
Item_03 = "Provvigioni", "pr0 -6", "F"
|
||||||
Item_04 = "Stampa provvigioni", [PRASSIPR_004]
|
Item_04 = "Stampa provvigioni", [PRMENU_004]
|
||||||
Item_05 = "Configurazione modulo", [PRASSIPR_010]
|
Item_05 = "Configurazione modulo", [PRMENU_010]
|
||||||
|
|
||||||
[PRASSIPR_002]
|
[PRMENU_002]
|
||||||
Caption = "Archivi e tabelle"
|
Caption = "Archivi e tabelle"
|
||||||
Picture = <pr01.bmp>
|
Picture = <pr01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -17,7 +17,7 @@ Flags = ""
|
|||||||
Item_03 = "Archivio agenti", "pr0 -4", "F"
|
Item_03 = "Archivio agenti", "pr0 -4", "F"
|
||||||
Item_04 = "Archivio percentuali", "pr0 -5", "F"
|
Item_04 = "Archivio percentuali", "pr0 -5", "F"
|
||||||
|
|
||||||
[PRASSIPR_003]
|
[PRMENU_003]
|
||||||
Caption = "Stampe archivi e tabelle"
|
Caption = "Stampe archivi e tabelle"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -25,7 +25,7 @@ Flags = ""
|
|||||||
Item_06 = "Stampa archivio agenti", "pr1 -0", "F"
|
Item_06 = "Stampa archivio agenti", "pr1 -0", "F"
|
||||||
Item_07 = "Stampa archivio percentuali", "pr1 -1", "F"
|
Item_07 = "Stampa archivio percentuali", "pr1 -1", "F"
|
||||||
|
|
||||||
[PRASSIPR_004]
|
[PRMENU_004]
|
||||||
Caption = "Stampe"
|
Caption = "Stampe"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -35,7 +35,7 @@ Item_05 = "Stampa statistiche", "pr1 -3", "F"
|
|||||||
Item_06 = "Stampa distinte versamento", "pr1 -4", "F"
|
Item_06 = "Stampa distinte versamento", "pr1 -4", "F"
|
||||||
|
|
||||||
|
|
||||||
[PRASSIPR_010]
|
[PRMENU_010]
|
||||||
Caption = "Configurazione modulo agenti"
|
Caption = "Configurazione modulo agenti"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
@ -1,4 +1,4 @@
|
|||||||
[PRASSISC_001]
|
[SCMENU_001]
|
||||||
Caption = "Saldaconto"
|
Caption = "Saldaconto"
|
||||||
Picture = <sc01.bmp>
|
Picture = <sc01.bmp>
|
||||||
Module = 13
|
Module = 13
|
||||||
@ -8,9 +8,9 @@ Item_02 = "Stampa scadenzario", "sc2 -1", ""
|
|||||||
Item_03 = "Stampa scaduto", "sc2 -2", ""
|
Item_03 = "Stampa scaduto", "sc2 -2", ""
|
||||||
Item_04 = "Stampa estratti conto", "sc2 -0", ""
|
Item_04 = "Stampa estratti conto", "sc2 -0", ""
|
||||||
Item_05 = "Stampa solleciti", "sc2 -3", ""
|
Item_05 = "Stampa solleciti", "sc2 -3", ""
|
||||||
Item_06 = "Servizio", [PRASSISC_002]
|
Item_06 = "Servizio", [SCMENU_002]
|
||||||
|
|
||||||
[PRASSISC_002]
|
[SCMENU_002]
|
||||||
Caption = "Servizio"
|
Caption = "Servizio"
|
||||||
Picture = <sc01.bmp>
|
Picture = <sc01.bmp>
|
||||||
Module = 13
|
Module = 13
|
@ -1,5 +1,2 @@
|
|||||||
#define APPNAME campo
|
#include <default.url>
|
||||||
#define QAPPNAME "campo"
|
|
||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
@ -1,5 +1,2 @@
|
|||||||
#define APPNAME campo
|
#include <default.url>
|
||||||
#define QAPPNAME "campo"
|
|
||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
@ -1,5 +1,2 @@
|
|||||||
#define APPNAME campo
|
#include <default.url>
|
||||||
#define QAPPNAME "campo"
|
|
||||||
#define QFIRMNAME "A.G.A. Informatica Srl"
|
|
||||||
|
|
||||||
#include <mainmenu.url>
|
#include <mainmenu.url>
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
[PRASSISV_000]
|
[SVMENU_000]
|
||||||
Caption = "Statistiche di vendita"
|
Caption = "Statistiche di vendita"
|
||||||
Picture = <sv01.bmp>
|
Picture = <sv01.bmp>
|
||||||
Module = 38
|
Module = 38
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Tabelle", [PRASSISV_020]
|
Item_01 = "Tabelle", [SVMENU_020]
|
||||||
//Item_02 = "Stampa Tabelle", [PRASSISV_030]
|
//Item_02 = "Stampa Tabelle", [SVMENU_030]
|
||||||
Item_03 = "Generazione statistiche", [PRASSISV_010]
|
Item_03 = "Generazione statistiche", [SVMENU_010]
|
||||||
Item_04 = "Servizi", [PRASSISV_035]
|
Item_04 = "Servizi", [SVMENU_035]
|
||||||
Item_05 = "Configurazione", [PRASSISV_040]
|
Item_05 = "Configurazione", [SVMENU_040]
|
||||||
|
|
||||||
[PRASSISV_010]
|
[SVMENU_010]
|
||||||
Caption = "Generazione statistiche"
|
Caption = "Generazione statistiche"
|
||||||
Picture = <sv01.bmp>
|
Picture = <sv01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -17,21 +17,21 @@ Flags = ""
|
|||||||
Item_02 = "Statistiche personalizzate", "sv1 -1", "F"
|
Item_02 = "Statistiche personalizzate", "sv1 -1", "F"
|
||||||
Item_03 = "Schede di vendita", "sv1 -0", "F"
|
Item_03 = "Schede di vendita", "sv1 -0", "F"
|
||||||
|
|
||||||
[PRASSISV_020]
|
[SVMENU_020]
|
||||||
Caption = "Tabelle"
|
Caption = "Tabelle"
|
||||||
Picture = <sv01.bmp>
|
Picture = <sv01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Statistiche personalizzate", "sv0 -0 PSV", "F"
|
Item_01 = "Statistiche personalizzate", "sv0 -0 PSV", "F"
|
||||||
|
|
||||||
[PRASSISV_030]
|
[SVMENU_030]
|
||||||
Caption = "Stampa tabelle"
|
Caption = "Stampa tabelle"
|
||||||
Picture = <sv01.bmp>
|
Picture = <sv01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
|
|
||||||
|
|
||||||
[PRASSISV_035]
|
[SVMENU_035]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <sv01.bmp>
|
Picture = <sv01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -39,16 +39,16 @@ Flags = ""
|
|||||||
Item_01 = "Ricalcolo archivio statistiche", "sv2 -0", "F"
|
Item_01 = "Ricalcolo archivio statistiche", "sv2 -0", "F"
|
||||||
|
|
||||||
|
|
||||||
[PRASSISV_040]
|
[SVMENU_040]
|
||||||
Caption = "Configurazione"
|
Caption = "Configurazione"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Configurazione statistiche", "sv0 -3", "F"
|
Item_01 = "Configurazione statistiche", "sv0 -3", "F"
|
||||||
Item_02 = "Configurazione documenti", [PRASSISV_041]
|
Item_02 = "Configurazione documenti", [SVMENU_041]
|
||||||
|
|
||||||
|
|
||||||
[PRASSISV_041]
|
[SVMENU_041]
|
||||||
Caption = "Tabelle personalizzazione documenti"
|
Caption = "Tabelle personalizzazione documenti"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
@ -4,11 +4,11 @@ Picture = <ve00.bmp>
|
|||||||
Module = 0
|
Module = 0
|
||||||
Flags = "F"
|
Flags = "F"
|
||||||
Item_01 = "Archivi e tabelle di base", [ACQVEN_001]
|
Item_01 = "Archivi e tabelle di base", [ACQVEN_001]
|
||||||
Item_02 = "Documenti di vendita", <veprassi.men>
|
Item_02 = "Documenti di vendita", <vemenu.men>
|
||||||
Item_03 = "Effetti", <efprassi.men>
|
Item_03 = "Effetti", <efmenu.men>
|
||||||
Item_04 = "Provvigioni agenti", <prprassi.men>
|
Item_04 = "Provvigioni agenti", <prmenu.men>
|
||||||
Item_05 = "Ordini", <orprassi.men>
|
Item_05 = "Ordini", <ormenu.men>
|
||||||
Item_06 = "Statistiche di vendita", <svprassi.men>
|
Item_06 = "Statistiche di vendita", <svmenu.men>
|
||||||
Item_07 = "Servizi", [ACQVEN_021]
|
Item_07 = "Servizi", [ACQVEN_021]
|
||||||
Item_08 = "Configurazione", [ACQVEN_020]
|
Item_08 = "Configurazione", [ACQVEN_020]
|
||||||
|
|
||||||
@ -50,7 +50,6 @@ Item_09 = "Spese", "ba3 -0 SPP", "F"
|
|||||||
Item_10 = "Prestazioni", "ba3 -0 PRS", "F"
|
Item_10 = "Prestazioni", "ba3 -0 PRS", "F"
|
||||||
Item_11 = "Banche di presentazione", "ef0 -6 BNP", "F"
|
Item_11 = "Banche di presentazione", "ef0 -6 BNP", "F"
|
||||||
Item_12 = "Zone", "ba3 -0 ZON", "F"
|
Item_12 = "Zone", "ba3 -0 ZON", "F"
|
||||||
Item_13 = "Piano dei conti industriale", "ba3 -0 PCI", "F"
|
|
||||||
|
|
||||||
[ACQVEN_005]
|
[ACQVEN_005]
|
||||||
Caption = "Tabelle contabili"
|
Caption = "Tabelle contabili"
|
||||||
@ -116,7 +115,6 @@ Item_09 = "Spese", "ba3 -1 SPP", "F"
|
|||||||
Item_10 = "Prestazioni", "ba3 -1 PRS", "F"
|
Item_10 = "Prestazioni", "ba3 -1 PRS", "F"
|
||||||
Item_11 = "Banche di presentazione", "ba3 -1 BNP", "F"
|
Item_11 = "Banche di presentazione", "ba3 -1 BNP", "F"
|
||||||
Item_12 = "Zone", "ba3 -1 ZON", "F"
|
Item_12 = "Zone", "ba3 -1 ZON", "F"
|
||||||
Item_13 = "Piano dei conti industriale", "ba3 -1 PCI", "F"
|
|
||||||
|
|
||||||
[ACQVEN_010]
|
[ACQVEN_010]
|
||||||
Caption = "Stampa tabelle contabili"
|
Caption = "Stampa tabelle contabili"
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
[PRASSIVE_032]
|
[VEMENU_032]
|
||||||
Caption = "Gestione documenti"
|
Caption = "Gestione documenti"
|
||||||
Picture = <ve01.bmp>
|
Picture = <ve01.bmp>
|
||||||
Module = 31
|
Module = 31
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_06 = "Documenti interattivi", "ve0 -1", "F"
|
Item_06 = "Documenti interattivi", "ve0 -1", "F"
|
||||||
Item_07 = "Stampe documenti", "ve1 -0", "F"
|
Item_07 = "Stampe documenti", "ve1 -0", "F"
|
||||||
Item_08 = "Elaborazioni differite", [PRASSIVE_050]
|
Item_08 = "Elaborazioni differite", [VEMENU_050]
|
||||||
Item_09 = "Servizi", [PRASSIVE_051]
|
Item_09 = "Servizi", [VEMENU_051]
|
||||||
Item_10 = "Configurazione modulo", [PRASSIVE_052]
|
Item_10 = "Configurazione modulo", [VEMENU_052]
|
||||||
|
|
||||||
[PRASSIVE_050]
|
[VEMENU_050]
|
||||||
Caption = "Gestione elaborazioni differite"
|
Caption = "Gestione elaborazioni differite"
|
||||||
Picture = <ve01.bmp>
|
Picture = <ve01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -18,7 +18,7 @@ Item_01 = "Fatturazione bolle", "ve6 -2", "F"
|
|||||||
Item_02 = "Contabilizzazione fatture", "ve6 -1", "F"
|
Item_02 = "Contabilizzazione fatture", "ve6 -1", "F"
|
||||||
Item_03 = "Generazione effetti", "ve6 -3", "F"
|
Item_03 = "Generazione effetti", "ve6 -3", "F"
|
||||||
|
|
||||||
[PRASSIVE_051]
|
[VEMENU_051]
|
||||||
Caption = "Servizi"
|
Caption = "Servizi"
|
||||||
Picture = <ve01.bmp>
|
Picture = <ve01.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -29,15 +29,15 @@ Item_03 = "Cambiamento stato documenti", "ve5 -1", "F"
|
|||||||
Item_04 = "Copia documenti", "ve5 -2", "F"
|
Item_04 = "Copia documenti", "ve5 -2", "F"
|
||||||
Item_05 = "Invio e ricezione documenti", "ve5 -3", "F"
|
Item_05 = "Invio e ricezione documenti", "ve5 -3", "F"
|
||||||
|
|
||||||
[PRASSIVE_052]
|
[VEMENU_052]
|
||||||
Caption = "Configurazione"
|
Caption = "Configurazione"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
Flags = ""
|
Flags = ""
|
||||||
Item_01 = "Personalizzazione documenti", [PRASSIVE_003]
|
Item_01 = "Personalizzazione documenti", [VEMENU_003]
|
||||||
Item_02 = "Stampe pers. documenti", [PRASSIVE_008]
|
Item_02 = "Stampe pers. documenti", [VEMENU_008]
|
||||||
|
|
||||||
[PRASSIVE_003]
|
[VEMENU_003]
|
||||||
Caption = "Tabelle personalizzazione documenti"
|
Caption = "Tabelle personalizzazione documenti"
|
||||||
Picture = <ba04.bmp>
|
Picture = <ba04.bmp>
|
||||||
Module = 0
|
Module = 0
|
||||||
@ -51,7 +51,7 @@ Item_06 = "Formule ricalcolo magazzino", "ba3 -0 %FRM", "F"
|
|||||||
Item_07 = "Elaborazioni differite", "ba3 -0 %ELD", "F"
|
Item_07 = "Elaborazioni differite", "ba3 -0 %ELD", "F"
|
||||||
Item_08 = "Stati documento", "ba3 -0 %STD", "F"
|
Item_08 = "Stati documento", "ba3 -0 %STD", "F"
|
||||||
|
|
||||||
[PRASSIVE_008]
|
[VEMENU_008]
|
||||||
Caption = "Stampa tabelle personalizzazione documenti"
|
Caption = "Stampa tabelle personalizzazione documenti"
|
||||||
Picture = <ba03.bmp>
|
Picture = <ba03.bmp>
|
||||||
Module = 0
|
Module = 0
|
Loading…
x
Reference in New Issue
Block a user