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)
{
const int op = argc < 2 ? 0 : atoi(argv[1]+1)+1;
const int op = argc < 2 ? 0 : atoi(argv[1]+1);
int res = 1;
switch (op)
{
case 1: res = ef0100(argc,argv) ; break;
case 2: res = ef0200(argc,argv) ; break;
default: error_box(usage, argv[0]); break;
case 0:
res = ef0100(argc,argv);
break;
case 1:
res = ef0200(argc,argv);
break;
default:
error_box(usage, argv[0]);
break;
}
return res;
}

View File

@ -4,8 +4,8 @@
#include <utility.h>
#include <lffiles.h>
#include <clifo.h>
#include <effetti.h>
#include <cession.h>
#include "effetti.h"
#include "cession.h"
#include "ef0.h"
#include "ef0100.h"
#include "ef0101.h"
@ -74,7 +74,7 @@ void Variazione_Effetti::common_f(const TMask& m)
long nprogtr=m.get_long(F_NPROGTR);
_rel->lfile().zero();
m.autosave(_rel);
m.autosave(*_rel);
// LF_CESS SAVER!
_rel->destroy_rows();
obb_pack();
@ -96,7 +96,7 @@ void Variazione_Effetti::common_f(const TMask& m)
int Variazione_Effetti::read(TMask& m)
{
m.autoload(_rel);
m.autoload(*_rel);
// LF_CESS loader!
TToken_string riga(80);
obb_sheet().reset();
@ -145,7 +145,7 @@ bool Variazione_Effetti::user_destroy()
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);
TToken_string line;
TLocalisamfile clifo(LF_CLIFO);

View File

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

View File

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

View File

@ -6,7 +6,7 @@
#include <urldefid.h>
#include <lffiles.h>
#include <clifo.h>
#include <effetti.h>
#include "effetti.h"
#include "ef0.h"
#include "ef0200.h"
@ -18,14 +18,14 @@ class Creazione_Effetti_da_EC : public TApplication
void Load_Partite_Aperte(const long cli);
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);
virtual bool create();
virtual bool destroy();
virtual bool menu(MENU_TAG m);
public:
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;}
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;
}
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;
real importo;
switch (k)
{
@ -133,36 +133,42 @@ bool Creazione_Effetti_da_EC::Gen_Notify(int r, KEY k)
}
break;
case K_SPACE:
old_rata=(real)(const char*)S.row(r).get(1);
old_rata = importo;
break;
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;
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");
if (old_rata.is_zero())
{
app().set_res(app().get_res() + (real)(const char*)S.row(r).get(1));
S.row(r).add(app().get_res().string(),1);
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);
row.add(app().get_res().string(),1);
app().set_res(ZERO);
}
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;
default:
break;
}
S.mask().set(F_RESIDUO,app().get_res().string("."));
sheet.mask().set(F_RESIDUO,app().get_res().string("."));
return TRUE;
}
@ -170,9 +176,9 @@ bool Creazione_Effetti_da_EC::Cli_Handler(TMask_field&f, KEY k)
{
if (f.focusdirty())
{
TSheet_field& S=(TSheet_field&)f.mask().field(F_SHEET_EFF);
S.reset();
S.force_update();
TSheet_field& sheet =(TSheet_field&)f.mask().field(F_SHEET_EFF);
sheet.reset();
sheet.force_update();
}
return TRUE;
}
@ -180,13 +186,13 @@ bool Creazione_Effetti_da_EC::Cli_Handler(TMask_field&f, KEY k)
bool Creazione_Effetti_da_EC::create()
{
_msk = new TMask("ef0200a");
TSheet_field& Sheet_Eff = (TSheet_field&) _msk->field(F_SHEET_EFF);
Sheet_Eff.set_notify(Gen_Notify);
Sheet_Eff.enable_column(4,FALSE);
TMask& SMask=Sheet_Eff.sheet_mask();
SMask.set_handler(F_RATA,Gen_Handler);
SMask.set_handler(F_SPESE,Gen_Handler);
SMask.set_handler(F_BOLLI,Gen_Handler);
TSheet_field& sheet = (TSheet_field&) _msk->field(F_SHEET_EFF);
sheet.set_notify(Gen_Notify);
sheet.enable_column(4,FALSE);
TMask& mask= sheet.sheet_mask();
mask.set_handler(F_RATA,Gen_Handler);
mask.set_handler(F_SPESE,Gen_Handler);
mask.set_handler(F_BOLLI,Gen_Handler);
_msk->set_handler(F_CODCF,Cli_Handler);
dispatch_e_menu(BAR_ITEM(1));
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
{
TSheet_field& S=(TSheet_field&)get_msk()->field(F_SHEET_EFF);
if (!_residuo && S.items()>0)
TSheet_field& sheet =(TSheet_field&)get_msk()->field(F_SHEET_EFF);
if (!_residuo && sheet.items()>0)
message_box("Perform writing procedure...");
break;
}
@ -224,8 +230,8 @@ bool Creazione_Effetti_da_EC::menu(MENU_TAG)
_residuo+=(real)_Partite_aperte->row(i).get(4);
delete _Partite_aperte;
get_msk()->set(F_RESIDUO,_residuo.string("."));
TSheet_field& S=(TSheet_field&)get_msk()->field(F_SHEET_EFF);
S.reset();
TSheet_field& sheet = (TSheet_field&)get_msk()->field(F_SHEET_EFF);
sheet.reset();
break;
}
default:

View File

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