Patch level : 2.1 048

Files correlati     :   pr0.exe pr1.exe pr1500a.msk
Ricompilazione Demo : [ ]
Commento            :
bug 0000137

 Implementare la gestione multilingua


git-svn-id: svn://10.65.10.50/trunk@12099 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 2004-05-19 13:47:43 +00:00
parent 259339fe75
commit 42b8a890e8
11 changed files with 93 additions and 123 deletions

View File

@ -28,9 +28,7 @@ bool TTablePR_app::gmc_handler(TMask_field& f, KEY k)
continue; continue;
v2 = m.get(id); v2 = m.get(id);
if (v1 == "E" && v2 == "R" || v1 == "R" && v2 == "E") if (v1 == "E" && v2 == "R" || v1 == "R" && v2 == "E")
return f.error_box("Non e' possibile usare contemporaneamente la " return f.error_box(TR("Non e' possibile usare contemporaneamente la tabella gruppo merceologico e la tabella sottogruppo merceologico"));
"tabella gruppo merceologico e la tabella sottogruppo "
"merceologico");
} }
} }
} }
@ -75,6 +73,6 @@ bool TTablePR_app::user_create()
int pr0100(int argc, char** argv) int pr0100(int argc, char** argv)
{ {
TTablePR_app a; TTablePR_app a;
a.run(argc, argv, "Tabella"); a.run(argc, argv, TR("Tabella"));
return 0; return 0;
} }

View File

@ -11,7 +11,6 @@ class TGestione_agenti_app:public TRelation_application
{ {
TMask *_msk; TMask *_msk;
TRelation *_rel; TRelation *_rel;
TLocalisamfile *_age;
protected: protected:
virtual bool user_create(); virtual bool user_create();
@ -47,13 +46,13 @@ bool TGestione_agenti_app::codcapo_handler(TMask_field& f, KEY k)
{ {
if (f.to_check(k) && k == K_ENTER) // Solo prima che prema il pulsante di registrazione if (f.to_check(k) && k == K_ENTER) // Solo prima che prema il pulsante di registrazione
{ {
TLocalisamfile* agenti = app()._age; TLocalisamfile agenti(LF_AGENTI);
TRecfield agente(agenti->curr(),AGE_CODAGE); TRecfield agente(agenti.curr(),AGE_CODAGE);
TRecfield capo(agenti->curr(),AGE_CODCAPO); TRecfield capo(agenti.curr(),AGE_CODCAPO);
const TString& ag = f.mask().get(F_CODAGE); const TString& ag = f.mask().get(F_CODAGE);
TString ca = f.get(); TString ca = f.get();
agente = ca; agente = ca;
while (agenti->read() == NOERR) while (agenti.read() == NOERR)
{ {
ca = capo; ca = capo;
if (ca == ag) if (ca == ag)
@ -62,7 +61,7 @@ bool TGestione_agenti_app::codcapo_handler(TMask_field& f, KEY k)
break; break;
agente = ca; agente = ca;
} }
if (agenti->good() && ca == ag) if (agenti.good() && ca == ag)
return f.error_box(TR("Il codice del capozona inserito non e' valido, in quanto e' stato rilevato nella catena un codice capozona corrispondente al presente codice agente.")); return f.error_box(TR("Il codice del capozona inserito non e' valido, in quanto e' stato rilevato nella catena un codice capozona corrispondente al presente codice agente."));
} }
return TRUE; return TRUE;
@ -103,6 +102,7 @@ bool TGestione_agenti_app::codalt_handler(TMask_field& f, KEY k)
bool TGestione_agenti_app::user_create() bool TGestione_agenti_app::user_create()
{ {
open_files(LF_AGENTI, LF_PROVV, LF_PERCPROV, 0);
_msk = new TMask("pr0500a") ; _msk = new TMask("pr0500a") ;
_rel = new TRelation(LF_AGENTI); _rel = new TRelation(LF_AGENTI);
_msk->set_handler(F_CODCAPO,codcapo_handler); _msk->set_handler(F_CODCAPO,codcapo_handler);
@ -115,7 +115,6 @@ bool TGestione_agenti_app::user_create()
_msk->set_handler(F_CODALTPR3,codalt_handler); _msk->set_handler(F_CODALTPR3,codalt_handler);
_msk->set_handler(F_CODALTPR4,codalt_handler); _msk->set_handler(F_CODALTPR4,codalt_handler);
_msk->set_handler(F_PERCFATT,percfat_handler); _msk->set_handler(F_PERCFATT,percfat_handler);
_age = new TLocalisamfile (LF_AGENTI);
return TRUE; return TRUE;
} }
@ -123,7 +122,6 @@ bool TGestione_agenti_app::user_destroy()
{ {
delete _msk; delete _msk;
delete _rel; delete _rel;
delete _age;
return TRUE; return TRUE;
} }

View File

@ -79,8 +79,7 @@ bool TGestione_percprovv_app::tipo_handler(TMask_field& f, KEY k)
if (kd[i] == F_CODART) if (kd[i] == F_CODART)
found = TRUE; found = TRUE;
if (!found) if (!found)
return f.error_box("Impossibile settare il tipo di provvigione ad importo unitario o valore se non " return f.error_box(TR("Impossibile settare il tipo di provvigione ad importo unitario o valore se non e' presente la ricerca per codice articolo."));
"e' presente la ricerca per codice articolo.");
} }
} }
return TRUE; return TRUE;
@ -193,7 +192,7 @@ bool TGestione_percprovv_app::codpr_handler(TMask_field& f, KEY k)
set_order_fields(ord,m); set_order_fields(ord,m);
} }
else else
return f.error_box("Codice archivio non presente"); return f.error_box(TR("Codice archivio non presente"));
} }
return TRUE; return TRUE;
} }
@ -249,6 +248,6 @@ bool TGestione_percprovv_app::user_destroy()
int pr0600(int argc, char** argv) int pr0600(int argc, char** argv)
{ {
TGestione_percprovv_app a; TGestione_percprovv_app a;
a.run(argc,argv,"Gestione percentuali provvigione"); a.run(argc,argv,TR("Gestione percentuali provvigione"));
return 0; return 0;
} }

View File

@ -12,13 +12,6 @@
class TGestione_provv_app : public TSkeleton_application class TGestione_provv_app : public TSkeleton_application
{ {
TMask *_msk; TMask *_msk;
TDocumento *_documento;
TLocalisamfile *_provv,
*_rdoc,
*_doc,
*_tab,
*_occas,
*_cfven;
TProvvigioni_agente *_prag; TProvvigioni_agente *_prag;
TAssoc_array _vittime; TAssoc_array _vittime;
bool _dirty; bool _dirty;
@ -70,59 +63,55 @@ bool TGestione_provv_app::calcola_rate_handler(TMask_field& f, KEY key)
if (f.focusdirty() && key == K_TAB) if (f.focusdirty() && key == K_TAB)
{ {
TMask& m = f.mask(); TMask& m = f.mask();
TLocalisamfile& doc = *app()._doc;
TSheet_field & rs = (TSheet_field&)app()._msk->field(F_RATE_SHEET);// Resetta lo spreadsheet TSheet_field & rs = (TSheet_field&)app()._msk->field(F_RATE_SHEET);// Resetta lo spreadsheet
if (rs.items() > 0) // Resetta lo spreadsheet se vi sono delle righe if (rs.items() > 0) // Resetta lo spreadsheet se vi sono delle righe
rs.reset(); rs.reset();
doc.put(DOC_PROVV,"D"); TDocumento doc;
doc.put(DOC_ANNO,m.get_int(F_ANNO)); const int anno = m.get_int(F_ANNO);
doc.put(DOC_CODNUM,m.get(F_CODNUM)); const long numdoc = m.get_long(F_NDOC);
doc.put(DOC_NDOC,m.get(F_NDOC)); const TString& codnum = m.get(F_CODNUM);
if (doc.read() == NOERR) // Se esiste il documento allora prende i valori relativi al totale documento, totale provvigione e base di calcolo provvigione const int err = doc.read('D', anno, (const char*) codnum, numdoc);
if (err == NOERR)
{ {
TDocumento* documento = app()._documento; m.set(F_DATADOC, doc.data());
int err = documento->read(doc.curr()); m.set(F_CLIENTE, doc.codcf());
if (err == NOERR) m.set(F_CODVAL,doc.valuta());
m.set(F_CAMBIO,doc.cambio());
m.set(F_DATACAMBIO,doc.get_date(DOC_DATACAMBIO));
m.set(F_IMPDOC,doc.totale_doc());
m.set(F_IMPPRDOC,doc.provvigione());
m.set(F_IMPNETDOC, doc.totale_netto());
// Adesso calcoliamo la provvigione all'atto della fatturazione da inserire
// nella rata 0. Il residuo va ripartito nelle rate del documento
TProvvigioni_agente& pra = doc.calc_provvigioni(FALSE); // Non settare il flag di generata dal documento!
// Adesso genera le righe da mettere nello spreadsheet. Quando si uscira' dalla riga
// attuale verra' chiamata la doc_sheet_notify() con K_ENTER, che memorizza il tutto
// gestendo automaticamente la eventuale modifica di un documento gia' presente o meno.
TRate_doc& rd = pra.rate(doc.anno(), m.get(F_CODNUM), doc.numero()); // Estrae le rate appena calcolate
const int numrate = rd.items(); /* Numero rate per questo documento */
for (int i = 0; i < numrate; i++)
{ {
m.set(F_DATADOC, documento->data()); TToken_string& ttt = rs.row(i);
m.set(F_CLIENTE, documento->codcf()); TRata& rt = rd[i];
m.set(F_CODVAL,documento->valuta()); ttt.add(rt.rata()); // Numero di rata
m.set(F_CAMBIO,documento->cambio()); ttt.add(rt.datascad()); // Data scadenza della rata
m.set(F_DATACAMBIO,documento->get_date(DOC_DATACAMBIO)); ttt.add(rt.tipopag()); // Tipo pag per questa rata
m.set(F_IMPDOC,documento->totale_doc()); ttt.add(rt.imprata().string()); // Importo della rata (occhio alla valuta)
m.set(F_IMPPRDOC,documento->provvigione()); ttt.add(rt.impprovv().string()); // Importo della provvigione per questa rata
m.set(F_IMPNETDOC, documento->totale_netto()); ttt.add(""); // Tutti gli altri valori sono a 0
// Adesso calcoliamo la provvigione all'atto della fatturazione da inserire ttt.add(""); ttt.add(""); ttt.add("");
// nella rata 0. Il residuo va ripartito nelle rate del documento ttt.add(""); ttt.add("");
TProvvigioni_agente& pra = documento->calc_provvigioni(FALSE); // Non settare il flag di generata dal documento! ttt.add(rt.codval());
// Adesso genera le righe da mettere nello spreadsheet. Quando si uscira' dalla riga
// attuale verra' chiamata la doc_sheet_notify() con K_ENTER, che memorizza il tutto
// gestendo automaticamente la eventuale modifica di un documento gia' presente o meno.
TRate_doc& rd = pra.rate(documento->anno(), m.get(F_CODNUM), documento->numero()); // Estrae le rate appena calcolate
const int numrate = rd.items(); /* Numero rate per questo documento */
for (int i = 0; i < numrate; i++)
{
TToken_string& ttt = rs.row(i);
TRata& rt = rd[i];
ttt.add(rt.rata()); // Numero di rata
ttt.add(rt.datascad()); // Data scadenza della rata
ttt.add(rt.tipopag()); // Tipo pag per questa rata
ttt.add(rt.imprata().string()); // Importo della rata (occhio alla valuta)
ttt.add(rt.impprovv().string()); // Importo della provvigione per questa rata
ttt.add(""); // Tutti gli altri valori sono a 0
ttt.add(""); ttt.add(""); ttt.add("");
ttt.add(""); ttt.add("");
ttt.add(rt.codval());
}
rs.force_update();
f.set_focusdirty(FALSE);
f.set_dirty(FALSE);
} }
else rs.force_update();
return f.error_box("Errore %d tentando di leggere il documento specificato",err); f.set_focusdirty(FALSE);
} // Altrimenti l'utente e' libero di inserire importi e rate f.set_dirty(FALSE);
}
else
return f.error_box(TR("Errore %d tentando di leggere il documento specificato"),err);
} }
return TRUE; return TRUE;
} }
@ -151,7 +140,7 @@ bool TGestione_provv_app::ndoc_handler(TMask_field& f, KEY key)
ndoc = ot.get_long(2); ndoc = ot.get_long(2);
other_key.format("%4d%4s%7ld",anno,(const char*)codnum,ndoc); other_key.format("%4d%4s%7ld",anno,(const char*)codnum,ndoc);
if (key == other_key) if (key == other_key)
return f.error_box("Non e' possibile inserire due documenti con la stessa chiave"); return f.error_box(TR("Non e' possibile inserire due documenti con la stessa chiave"));
} }
} }
return calcola_rate_handler(f, key); return calcola_rate_handler(f, key);
@ -171,7 +160,7 @@ bool TGestione_provv_app::nrata_handler(TMask_field& f, KEY key)
{ {
int other_rata = s.row(i).get_int(0); int other_rata = s.row(i).get_int(0);
if (nrata == other_rata) if (nrata == other_rata)
return f.error_box("Non e' possibile inserire due rate con lo stesso numero"); return f.error_box(TR("Non e' possibile inserire due rate con lo stesso numero"));
} }
} }
return TRUE; return TRUE;
@ -185,7 +174,7 @@ bool TGestione_provv_app::datascad_handler(TMask_field& f, KEY key)
TRate_doc& rd = pa->rate(__current_key); TRate_doc& rd = pa->rate(__current_key);
TDate d(f.get()); TDate d(f.get());
if (d < rd.datadoc()) if (d < rd.datadoc())
return f.error_box("La data di scadenza deve essere maggiore o uguale della data documento"); return f.error_box(TR("La data di scadenza deve essere maggiore o uguale della data documento"));
} }
return TRUE; return TRUE;
} }
@ -207,7 +196,7 @@ bool TGestione_provv_app::imprata_handler(TMask_field& f, KEY key)
real r(f.get()); real r(f.get());
r = abs(r); r = abs(r);
if (r > abs(rd.impdoc())) if (r > abs(rd.impdoc()))
return f.error_box("L'importo della rata non puo' essere maggiore dell'importo del documento"); return f.error_box(TR("L'importo della rata non puo' essere maggiore dell'importo del documento"));
} }
return TRUE; return TRUE;
} }
@ -221,7 +210,7 @@ bool TGestione_provv_app::improvv_handler(TMask_field& f, KEY key)
real r(f.get()); real r(f.get());
r = abs(r); r = abs(r);
if (r > abs(rd.impprdoc())) if (r > abs(rd.impprdoc()))
return f.error_box("L'importo della provvigione non puo' essere maggiore dell'importo provvigione del documento"); return f.error_box(TR("L'importo della provvigione non puo' essere maggiore dell'importo provvigione del documento"));
} }
return TRUE; return TRUE;
} }
@ -391,18 +380,12 @@ bool TGestione_provv_app::doc_sheet_notify(TSheet_field& ds, int r, KEY key)
bool TGestione_provv_app::create() bool TGestione_provv_app::create()
{ {
open_files(LF_CONDV, LF_RCONDV, LF_ANAMAG, LF_SCONTI, LF_UMART, open_files(LF_PROVV, LF_CONDV, LF_RCONDV, LF_ANAMAG, LF_SCONTI, LF_UMART,
LF_TABCOM, LF_CLIFO,LF_INDSP, LF_MOVMAG, LF_RMOVMAG,0); LF_TABCOM, LF_CLIFO,LF_INDSP, LF_MOVMAG, LF_RMOVMAG, LF_DOC,
LF_RIGHEDOC, LF_CFVEN, LF_OCCAS, LF_TAB, 0);
_msk = new TMask("pr0700b") ; _msk = new TMask("pr0700b") ;
_provv = new TLocalisamfile(LF_PROVV);
_doc = new TLocalisamfile(LF_DOC);
_rdoc = new TLocalisamfile(LF_RIGHEDOC);
_cfven = new TLocalisamfile(LF_CFVEN);
_occas = new TLocalisamfile(LF_OCCAS);
_tab = new TLocalisamfile(LF_TAB);
_prag = new TProvvigioni_agente; _prag = new TProvvigioni_agente;
_documento = new TDocumento;
TSheet_field & sf = (TSheet_field&)_msk->field(F_DOC_SHEET); TSheet_field & sf = (TSheet_field&)_msk->field(F_DOC_SHEET);
sf.set_notify(doc_sheet_notify); sf.set_notify(doc_sheet_notify);
sf.sheet_mask().set_handler(F_NDOC,ndoc_handler); sf.sheet_mask().set_handler(F_NDOC,ndoc_handler);
@ -421,14 +404,7 @@ bool TGestione_provv_app::create()
bool TGestione_provv_app::destroy() bool TGestione_provv_app::destroy()
{ {
delete _msk; delete _msk;
delete _documento;
delete _prag; delete _prag;
delete _provv;
delete _doc;
delete _rdoc;
delete _tab;
delete _cfven;
delete _occas;
return TRUE; return TRUE;
} }
@ -471,7 +447,7 @@ bool TGestione_provv_app::check_totals()
if (!_prag->rate(kl.row(i)).ok_provvigione()) if (!_prag->rate(kl.row(i)).ok_provvigione())
{ {
rt = FALSE; rt = FALSE;
error_box("La somma delle provvigioni supera l'importo della provvigione totale per il documento %s", error_box(FR("La somma delle provvigioni supera l'importo della provvigione totale per il documento %s"),
(const char*)kl.row(i)); (const char*)kl.row(i));
} }
return rt; return rt;
@ -504,13 +480,13 @@ void TGestione_provv_app::load_provvigioni(TMask* m)
_msk->set(F_MNDOC,""); _msk->set(F_MNDOC,"");
if (_prag->read(agente, anno) == _islocked) if (_prag->read(agente, anno) == _islocked)
{ {
message_box("Dati agente %s in uso da un altro utente.", (const char*) agente); message_box(FR("Dati agente %s in uso da un altro utente."), (const char*) agente);
return; return;
} }
KEY k; KEY k;
bool repeat; bool repeat;
const char* msg = _prag->items() == 0 ? "Registrare i dati inseriti" : "Registrare le modifiche" ; const char* msg = _prag->items() == 0 ? TR("Registrare i dati inseriti") : TR("Registrare le modifiche") ;
fill_sheet_doc(); // Inizializza lo sheet dei documenti fill_sheet_doc(); // Inizializza lo sheet dei documenti
_dirty = FALSE; _dirty = FALSE;
@ -540,7 +516,7 @@ void TGestione_provv_app::load_provvigioni(TMask* m)
} }
} while (repeat); } while (repeat);
if (err != NOERR) if (err != NOERR)
message_box("Errore %d tentando di scrivere i dati provvigionali dell'agente.",err, (const char*) agente); message_box(FR("Errore %d tentando di scrivere i dati provvigionali dell'agente %s."),err, (const char*) agente);
_prag->unlock(); _prag->unlock();
} }
@ -550,7 +526,7 @@ void TGestione_provv_app::main_loop()
TMask* m = new TMask("pr0700a"); TMask* m = new TMask("pr0700a");
while (ok) while (ok)
{ {
xvt_statbar_set("Ricerca", TRUE); xvt_statbar_set(TR("Ricerca"), TRUE);
m->reset(); m->reset();
ok = m->run() == K_ENTER; ok = m->run() == K_ENTER;
if (ok) if (ok)
@ -562,6 +538,6 @@ void TGestione_provv_app::main_loop()
int pr0700(int argc, char** argv) int pr0700(int argc, char** argv)
{ {
TGestione_provv_app a; TGestione_provv_app a;
a.run(argc,argv,"Gestione provvigioni"); a.run(argc,argv,TR("Gestione provvigioni"));
return 0; return 0;
} }

View File

@ -46,6 +46,6 @@ void TStampa_agenti::main_loop()
int pr1100(int argc, char* argv[]) int pr1100(int argc, char* argv[])
{ {
TStampa_agenti a; TStampa_agenti a;
a.run(argc,argv,"Stampa agenti"); a.run(argc,argv,TR("Stampa agenti"));
return 0; return 0;
} }

View File

@ -88,7 +88,6 @@ bool TPercprovv_form::validate(TForm_item &cf, TToken_string &s)
class TStampa_percprovv : public TSkeleton_application class TStampa_percprovv : public TSkeleton_application
{ {
TLocalisamfile *_percprov;
TTable *_apr; TTable *_apr;
TMask * _m; TMask * _m;
@ -255,7 +254,7 @@ void TStampa_percprovv::main_loop()
cur->setregion(from, to); cur->setregion(from, to);
if (cur->items() == 0L) if (cur->items() == 0L)
{ {
warning_box("Non vi sono elementi da stampare nell'intervallo indicato."); warning_box(TR("Non vi sono elementi da stampare nell'intervallo indicato."));
continue; continue;
} }
@ -319,10 +318,10 @@ void TStampa_percprovv::main_loop()
bool TStampa_percprovv::create() bool TStampa_percprovv::create()
{ {
open_files(LF_PERCPROV, LF_TAB, LF_TABCOM, LF_CLIFO, LF_AGENTI, 0);
_m = new TMask ("pr1200a"); _m = new TMask ("pr1200a");
_m->set_handler(F_CODPR, codarc_handler); _m->set_handler(F_CODPR, codarc_handler);
_apr = new TTable("APR"); _apr = new TTable("APR");
_percprov = new TLocalisamfile(LF_PERCPROV);
return TSkeleton_application::create(); return TSkeleton_application::create();
} }
@ -330,13 +329,12 @@ bool TStampa_percprovv::destroy()
{ {
delete _m; delete _m;
delete _apr; delete _apr;
delete _percprov;
return TSkeleton_application::destroy(); return TSkeleton_application::destroy();
} }
int pr1200(int argc, char* argv[]) int pr1200(int argc, char* argv[])
{ {
TStampa_percprovv a; TStampa_percprovv a;
a.run(argc,argv,"Stampa % di provvigione"); a.run(argc,argv,TR("Stampa % di provvigione"));
return 0; return 0;
} }

View File

@ -92,9 +92,9 @@ bool TStampa_schedeprovv::destroy()
void TStampa_schedeprovv::riporta_pagamenti(TCursor &cur) void TStampa_schedeprovv::riporta_pagamenti(TCursor &cur)
{ {
if (cur.items()==0) return; if (cur.items()==0) return;
const TRelation * r=cur.relation(); const TRelation * r = cur.relation();
TLocalisamfile& prov = r->lfile(); TLocalisamfile& prov = r->lfile();
TProgind barra(cur.items(),"Registro le provvigioni pagate"); TProgind barra(cur.items(),TR("Registro le provvigioni pagate"));
for (int c=0; c<cur.items(); c++) for (int c=0; c<cur.items(); c++)
{ {
cur=c; cur=c;
@ -237,6 +237,6 @@ void TStampa_schedeprovv::main_loop()
int pr1300(int argc, char* argv[]) int pr1300(int argc, char* argv[])
{ {
TStampa_schedeprovv a; TStampa_schedeprovv a;
a.run(argc,argv,"Stampa schede di provvigione"); a.run(argc,argv,TR("Stampa schede di provvigione"));
return 0; return 0;
} }

View File

@ -88,7 +88,7 @@ bool TStampa_statistiche_app::daterange_handler(TMask_field& f, KEY key)
TDate from(m.get_date(F_DATEFROM)); TDate from(m.get_date(F_DATEFROM));
TDate to(m.get_date(F_DATETO)); TDate to(m.get_date(F_DATETO));
if (from.ok() && to.ok() && (to < from || to.year() != from.year())) if (from.ok() && to.ok() && (to < from || to.year() != from.year()))
return f.error_box("L'intervallo date specificato non e' corretto"); return f.error_box(TR("L'intervallo date specificato non e' corretto"));
} }
return TRUE; return TRUE;
} }
@ -102,7 +102,7 @@ bool TStampa_statistiche_app::agerange_handler(TMask_field& f, KEY key)
TString from(m.get(ord_cod ? F_DAAGE : F_DADES)); TString from(m.get(ord_cod ? F_DAAGE : F_DADES));
TString to(m.get(ord_cod ? F_AAGE : F_ADES)); TString to(m.get(ord_cod ? F_AAGE : F_ADES));
if (from.not_empty() && to.not_empty() && to < from) if (from.not_empty() && to.not_empty() && to < from)
return f.error_box("L'intervallo agenti specificato non e' corretto"); return f.error_box(TR("L'intervallo agenti specificato non e' corretto"));
} }
return TRUE; return TRUE;
} }
@ -124,8 +124,8 @@ bool TStampa_statistiche_app::create()
void TStampa_statistiche_app::main_loop() void TStampa_statistiche_app::main_loop()
{ {
const char * months[] = { "Gen", "Feb", "Mar", "Apr", "Mag", "Giu", const char * months[] = { TR("Gen"), TR("Feb"), TR("Mar"), TR("Apr"), TR("Mag"), TR("Giu"),
"Lug", "Ago", "Set", "Ott", "Nov", "Dic" }; TR("Lug"), TR("Ago"), TR("Set"), TR("Ott"), TR("Nov"), TR("Dic") };
TString_array descriptions; TString_array descriptions;
TString cond; // Stringa identificante la condizione di raggruppamento TString cond; // Stringa identificante la condizione di raggruppamento
TString desc; // Stringa per settare la descrizione del range di mesi TString desc; // Stringa per settare la descrizione del range di mesi
@ -151,7 +151,7 @@ void TStampa_statistiche_app::main_loop()
if (!date_from.ok() || !date_to.ok()) if (!date_from.ok() || !date_to.ok())
{ {
error_box("Inserire un range di date valido"); error_box(TR("Inserire un range di date valido"));
continue; continue;
} }
@ -265,6 +265,6 @@ bool TStampa_statistiche_app::destroy()
int pr1400(int argc, char* argv[]) int pr1400(int argc, char* argv[])
{ {
TStampa_statistiche_app a; TStampa_statistiche_app a;
a.run(argc,argv,"Statistiche temporali"); a.run(argc,argv,TR("Statistiche temporali"));
return 0; return 0;
} }

View File

@ -263,15 +263,15 @@ TFirr_form::TFirr_form(const TFirr_mask& m) : TForm("pr1500a")
TPrint_section& foot = section('F'); TPrint_section& foot = section('F');
TString str; TString str;
str = "Stampa Contributi "; str = TR("Stampa Contributi ");
const int periodo = m.get_int(F_PERIODO); const int periodo = m.get_int(F_PERIODO);
switch (periodo) switch (periodo)
{ {
case 1 : str << "primo trimestre"; break; case 1 : str << TR("primo trimestre"); break;
case 2 : str << "secondo trimestre"; break; case 2 : str << TR("secondo trimestre"); break;
case 3 : str << "terzo trimestre"; break; case 3 : str << TR("terzo trimestre"); break;
case 4 : str << "quarto trimestre"; break; case 4 : str << TR("quarto trimestre"); break;
default: str << "anno"; break; default: str << TR("anno"); break;
} }
str << ' ' << m.get_int(F_ANNO); str << ' ' << m.get_int(F_ANNO);
head.find_field(101).set(str); head.find_field(101).set(str);
@ -335,7 +335,7 @@ void TStampa_firr::compute(const TFirr_mask& m)
cur.freeze(TRUE); cur.freeze(TRUE);
const TRectype& cur_prov = cur.curr(); const TRectype& cur_prov = cur.curr();
TProgind pi(total, "Elaborazione in corso...", TRUE, TRUE); TProgind pi(total, TR("Elaborazione in corso..."), TRUE, TRUE);
for (cur = 0L; cur.pos() < total; ++cur) for (cur = 0L; cur.pos() < total; ++cur)
{ {
pi.addstatus(1); pi.addstatus(1);
@ -413,6 +413,6 @@ void TStampa_firr::main_loop()
int pr1500(int argc, char* argv[]) int pr1500(int argc, char* argv[])
{ {
TStampa_firr a; TStampa_firr a;
a.run(argc, argv, "Distinta Versamento"); a.run(argc, argv, TR("Distinta Versamento"));
return 0; return 0;
} }

View File

@ -1,6 +1,6 @@
#include "pr1500a.h" #include "pr1500a.h"
PAGE "Stampa Disitinta" -1 -1 44 12 PAGE "Stampa Distinta Versamento" -1 -1 60 12
RADIOBUTTON F_PERIODO 20 RADIOBUTTON F_PERIODO 20
BEGIN BEGIN

View File

@ -1,4 +1,5 @@
#include <recarray.h> #include <recarray.h>
#include <diction.h>
#include "prlib.h" #include "prlib.h"
#include "provv.h" #include "provv.h"
@ -218,7 +219,7 @@ TRate_doc& TProvvigioni_agente::rate(const char* key, bool create)
_rate.add(key,rd); _rate.add(key,rd);
} }
else else
fatal_box("Impossibile trovare l'elemento %s tra le righe provvigionali",key); fatal_box(FR("Impossibile trovare l'elemento %s tra le righe provvigionali"),key);
} }
return (TRate_doc&) _rate[key]; return (TRate_doc&) _rate[key];
} }
@ -236,7 +237,7 @@ void TProvvigioni_agente::remove_rate(const char* key)
if (exist) if (exist)
_rate.remove(key); _rate.remove(key);
else else
fatal_box("Impossibile trovare l'elemento %s tra le righe provvigionali", key); fatal_box(FR("Impossibile trovare l'elemento %s tra le righe provvigionali"), key);
} }
///////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////