Sistemazioni per iniziare il lavoro

git-svn-id: svn://10.65.10.50/trunk@3820 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1996-10-23 17:18:20 +00:00
parent d4efb10e14
commit 02572a9f98
6 changed files with 395 additions and 383 deletions

View File

@ -6,13 +6,19 @@
int main(int argc, char** argv) int main(int argc, char** argv)
{ {
const int op = argc < 2 ? 0 : atoi(argv[1]+1)+1; const int op = argc < 2 ? 0 : atoi(argv[1]+1);
int res = 1; int res = 1;
switch (op) switch (op)
{ {
case 1: res = ef0100(argc,argv) ; break; case 0:
case 2: res = ef0200(argc,argv) ; break; res = ef0100(argc,argv);
default: error_box(usage, argv[0]); break; break;
case 1:
res = ef0200(argc,argv);
break;
default:
error_box(usage, argv[0]);
break;
} }
return res; return res;
} }

View File

@ -4,8 +4,8 @@
#include <utility.h> #include <utility.h>
#include <lffiles.h> #include <lffiles.h>
#include <clifo.h> #include <clifo.h>
#include <effetti.h> #include "effetti.h"
#include <cession.h> #include "cession.h"
#include "ef0.h" #include "ef0.h"
#include "ef0100.h" #include "ef0100.h"
#include "ef0101.h" #include "ef0101.h"
@ -74,7 +74,7 @@ void Variazione_Effetti::common_f(const TMask& m)
long nprogtr=m.get_long(F_NPROGTR); long nprogtr=m.get_long(F_NPROGTR);
_rel->lfile().zero(); _rel->lfile().zero();
m.autosave(_rel); m.autosave(*_rel);
// LF_CESS SAVER! // LF_CESS SAVER!
_rel->destroy_rows(); _rel->destroy_rows();
obb_pack(); obb_pack();
@ -96,7 +96,7 @@ void Variazione_Effetti::common_f(const TMask& m)
int Variazione_Effetti::read(TMask& m) int Variazione_Effetti::read(TMask& m)
{ {
m.autoload(_rel); m.autoload(*_rel);
// LF_CESS loader! // LF_CESS loader!
TToken_string riga(80); TToken_string riga(80);
obb_sheet().reset(); obb_sheet().reset();
@ -145,7 +145,7 @@ bool Variazione_Effetti::user_destroy()
bool Variazione_Effetti::codcf_handler(TMask_field& f, KEY k) bool Variazione_Effetti::codcf_handler(TMask_field& f, KEY k)
{ {
long codcf=atol(f.get()),n=0; long codcf = atol(f.get()), n = 0;
TString ragsoc(50); TString ragsoc(50);
TToken_string line; TToken_string line;
TLocalisamfile clifo(LF_CLIFO); TLocalisamfile clifo(LF_CLIFO);

View File

@ -77,7 +77,7 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
LIST F_TIPOPAG 16 LIST F_TIPOPAG 18
BEGIN BEGIN
PROMPT 2 4 "Tipo effetto " PROMPT 2 4 "Tipo effetto "
FIELD LF_EFFETTI->TIPOPAG FIELD LF_EFFETTI->TIPOPAG

View File

@ -1,5 +1,5 @@
#include <effetti.h> #include "effetti.h"
#include <cession.h> #include "cession.h"
#include "ef0101.h" #include "ef0101.h"
///////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////

View File

@ -6,7 +6,7 @@
#include <urldefid.h> #include <urldefid.h>
#include <lffiles.h> #include <lffiles.h>
#include <clifo.h> #include <clifo.h>
#include <effetti.h> #include "effetti.h"
#include "ef0.h" #include "ef0.h"
#include "ef0200.h" #include "ef0200.h"
@ -18,14 +18,14 @@ class Creazione_Effetti_da_EC : public TApplication
void Load_Partite_Aperte(const long cli); void Load_Partite_Aperte(const long cli);
static bool Gen_Handler(TMask_field& f, KEY k); static bool Gen_Handler(TMask_field& f, KEY k);
static bool Gen_Notify(int r, KEY k); static bool Gen_Notify(TSheet_field& sheet, int r, KEY k);
static bool Cli_Handler(TMask_field& f, KEY k); static bool Cli_Handler(TMask_field& f, KEY k);
virtual bool create(); virtual bool create();
virtual bool destroy(); virtual bool destroy();
virtual bool menu(MENU_TAG m); virtual bool menu(MENU_TAG m);
public: public:
real get_res() {return _residuo;} real get_res() {return _residuo;}
void set_res(real& a) {_residuo = a;} void set_res(const real& a) {_residuo = a;}
TMask* get_msk() {return _msk;} TMask* get_msk() {return _msk;}
Creazione_Effetti_da_EC() : _residuo(0.0) {} Creazione_Effetti_da_EC() : _residuo(0.0) {}
}; };
@ -117,11 +117,11 @@ bool Creazione_Effetti_da_EC::Gen_Handler(TMask_field& f, KEY k)
return TRUE; return TRUE;
} }
bool Creazione_Effetti_da_EC::Gen_Notify(int r, KEY k) bool Creazione_Effetti_da_EC::Gen_Notify(TSheet_field& sheet, int r, KEY k)
{ {
TSheet_field& S=(TSheet_field&)app().get_msk()->field(F_SHEET_EFF); TToken_string & row = sheet.row(r);
const real importo(row.get(1));
static real old_rata; static real old_rata;
real importo;
switch (k) switch (k)
{ {
@ -133,36 +133,42 @@ bool Creazione_Effetti_da_EC::Gen_Notify(int r, KEY k)
} }
break; break;
case K_SPACE: case K_SPACE:
old_rata=(real)(const char*)S.row(r).get(1); old_rata = importo;
break; break;
case K_DEL: case K_DEL:
app().set_res(app().get_res() + (real)(const char*)S.row(r).get(1)); {
const real new_res = app().get_res() + importo;
app().set_res(new_res);
}
break; break;
case K_ENTER: case K_ENTER:
app().set_res(app().get_res() - (real)(const char*)S.row(r).get(1) + old_rata); {
if (app().get_res()<0) const real new_res = app().get_res() - importo + old_rata;
if (new_res < ZERO)
{ {
warning_box("Non e' possibile superare l'importo da ripartire"); warning_box("Non e' possibile superare l'importo da ripartire");
if (old_rata.is_zero()) if (old_rata.is_zero())
{ {
app().set_res(app().get_res() + (real)(const char*)S.row(r).get(1)); row.add(app().get_res().string(),1);
S.row(r).add(app().get_res().string(),1); app().set_res(ZERO);
app().set_res(0.0);
} else
{
app().set_res(app().get_res() + (real)(const char*)S.row(r).get(1) - old_rata);
S.row(r).add(old_rata.string(),1);
} }
else
row.add(old_rata.string(),1);
}
else
app().set_res(new_res);
real totale = importo;
totale+= real(row.get(2));
totale+= real(row.get(3));
row.add(totale.string(),4);
} }
importo=(real)(const char*)S.row(r).get(1);
importo+=(real)(const char*)S.row(r).get(2);
importo+=(real)(const char*)S.row(r).get(3);
S.row(r).add(importo.string(),4);
break; break;
default: default:
break; break;
} }
S.mask().set(F_RESIDUO,app().get_res().string(".")); sheet.mask().set(F_RESIDUO,app().get_res().string("."));
return TRUE; return TRUE;
} }
@ -170,9 +176,9 @@ bool Creazione_Effetti_da_EC::Cli_Handler(TMask_field&f, KEY k)
{ {
if (f.focusdirty()) if (f.focusdirty())
{ {
TSheet_field& S=(TSheet_field&)f.mask().field(F_SHEET_EFF); TSheet_field& sheet =(TSheet_field&)f.mask().field(F_SHEET_EFF);
S.reset(); sheet.reset();
S.force_update(); sheet.force_update();
} }
return TRUE; return TRUE;
} }
@ -180,13 +186,13 @@ bool Creazione_Effetti_da_EC::Cli_Handler(TMask_field&f, KEY k)
bool Creazione_Effetti_da_EC::create() bool Creazione_Effetti_da_EC::create()
{ {
_msk = new TMask("ef0200a"); _msk = new TMask("ef0200a");
TSheet_field& Sheet_Eff = (TSheet_field&) _msk->field(F_SHEET_EFF); TSheet_field& sheet = (TSheet_field&) _msk->field(F_SHEET_EFF);
Sheet_Eff.set_notify(Gen_Notify); sheet.set_notify(Gen_Notify);
Sheet_Eff.enable_column(4,FALSE); sheet.enable_column(4,FALSE);
TMask& SMask=Sheet_Eff.sheet_mask(); TMask& mask= sheet.sheet_mask();
SMask.set_handler(F_RATA,Gen_Handler); mask.set_handler(F_RATA,Gen_Handler);
SMask.set_handler(F_SPESE,Gen_Handler); mask.set_handler(F_SPESE,Gen_Handler);
SMask.set_handler(F_BOLLI,Gen_Handler); mask.set_handler(F_BOLLI,Gen_Handler);
_msk->set_handler(F_CODCF,Cli_Handler); _msk->set_handler(F_CODCF,Cli_Handler);
dispatch_e_menu(BAR_ITEM(1)); dispatch_e_menu(BAR_ITEM(1));
return TRUE; return TRUE;
@ -208,8 +214,8 @@ bool Creazione_Effetti_da_EC::menu(MENU_TAG)
{ {
case K_ENTER: // first check if the application can write effects case K_ENTER: // first check if the application can write effects
{ {
TSheet_field& S=(TSheet_field&)get_msk()->field(F_SHEET_EFF); TSheet_field& sheet =(TSheet_field&)get_msk()->field(F_SHEET_EFF);
if (!_residuo && S.items()>0) if (!_residuo && sheet.items()>0)
message_box("Perform writing procedure..."); message_box("Perform writing procedure...");
break; break;
} }
@ -224,8 +230,8 @@ bool Creazione_Effetti_da_EC::menu(MENU_TAG)
_residuo+=(real)_Partite_aperte->row(i).get(4); _residuo+=(real)_Partite_aperte->row(i).get(4);
delete _Partite_aperte; delete _Partite_aperte;
get_msk()->set(F_RESIDUO,_residuo.string(".")); get_msk()->set(F_RESIDUO,_residuo.string("."));
TSheet_field& S=(TSheet_field&)get_msk()->field(F_SHEET_EFF); TSheet_field& sheet = (TSheet_field&)get_msk()->field(F_SHEET_EFF);
S.reset(); sheet.reset();
break; break;
} }
default: default:

View File

@ -94,7 +94,7 @@ BEGIN
CHECKTYPE NORMAL CHECKTYPE NORMAL
END END
LIST F_TIPOEFF 16 LIST F_TIPOEFF 18
BEGIN BEGIN
PROMPT 43 5 "Tipo effetto " PROMPT 43 5 "Tipo effetto "
ITEM "2|Tratta" ITEM "2|Tratta"