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:
parent
d4efb10e14
commit
02572a9f98
14
ef/ef0.cpp
14
ef/ef0.cpp
@ -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;
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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
|
||||
|
@ -1,5 +1,5 @@
|
||||
#include <effetti.h>
|
||||
#include <cession.h>
|
||||
#include "effetti.h"
|
||||
#include "cession.h"
|
||||
#include "ef0101.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////
|
||||
|
@ -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:
|
||||
|
@ -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"
|
||||
|
Loading…
x
Reference in New Issue
Block a user