Aggiuta funzione-membro pre_format e pre_write
git-svn-id: svn://10.65.10.50/trunk@5483 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
ea24bfa9be
commit
9830e2f49f
@ -555,7 +555,9 @@ int TFile_text::_autosave(TRelation& rel, const TRecord_text& rec, TTracciato_re
|
|||||||
{
|
{
|
||||||
valore = rec.row(i);
|
valore = rec.row(i);
|
||||||
// formatta il campo del file di testo secondo le specifiche del campo su file isam
|
// formatta il campo del file di testo secondo le specifiche del campo su file isam
|
||||||
const TRectype& rel_rec = rel.curr(field.file());
|
// preformat_field(rel,field,rec,valore);
|
||||||
|
preformat_field(field,valore);
|
||||||
|
const TRectype& rel_rec = rel.curr(field.file());
|
||||||
TFieldtypes tipo_campo = rel_rec.type(field.name());
|
TFieldtypes tipo_campo = rel_rec.type(field.name());
|
||||||
switch(tipo_campo)
|
switch(tipo_campo)
|
||||||
{
|
{
|
||||||
@ -588,6 +590,7 @@ int TFile_text::_autosave(TRelation& rel, const TRecord_text& rec, TTracciato_re
|
|||||||
field.write(valore, rel);//faccio una write sulla relazione del fieldref
|
field.write(valore, rel);//faccio una write sulla relazione del fieldref
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
pre_write(rel,rec);
|
||||||
int err = rel.write();
|
int err = rel.write();
|
||||||
if (err == _isdupkey || err ==_isreinsert)
|
if (err == _isdupkey || err ==_isreinsert)
|
||||||
err = rel.rewrite();
|
err = rel.rewrite();
|
||||||
|
@ -149,17 +149,22 @@ class TFile_text : public TObject
|
|||||||
int _typefield;//posizione ove trovare la chiave nel record a lunghezza variabile
|
int _typefield;//posizione ove trovare la chiave nel record a lunghezza variabile
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
//effettua operazioni personalizzate dall'applicazione sul record_text
|
|
||||||
// <cur> è il cursore della relazione
|
|
||||||
// <rec> è il record da modificare
|
|
||||||
// <val> contiene il messaggio da modificare e/o caircare nel record
|
|
||||||
// <str> conterrà il risultato dell'operazione
|
|
||||||
virtual void validate(TCursor& cur, TRecord_text &rec, TToken_string &val, TString& str){}
|
|
||||||
const int fdecimal(const TTracciato_campo &tc ) const;
|
const int fdecimal(const TTracciato_campo &tc ) const;
|
||||||
const char falign(const TTracciato_campo &tc ) const;
|
const char falign(const TTracciato_campo &tc ) const;
|
||||||
const char ffiller(const TTracciato_campo &tc ) const ;
|
const char ffiller(const TTracciato_campo &tc ) const ;
|
||||||
const TString& fpicture(const TTracciato_campo &tc ) const;
|
const TString& fpicture(const TTracciato_campo &tc ) const;
|
||||||
|
|
||||||
|
//effettua modifiche particolari dal cursore al record_text
|
||||||
|
// <cur> è il cursore della relazione
|
||||||
|
// <rec> è il record da modificare
|
||||||
|
// <val> contiene il messaggio da modificare e/o caircare nel record
|
||||||
|
// <str> conterrà il risultato dell'operazione
|
||||||
|
virtual void validate(TCursor& cur, TRecord_text &rec, TToken_string &val, TString& str){}
|
||||||
|
//effettua modifiche particolari al valore da assegnare ad un campo dell'isamfile
|
||||||
|
//virtual void preformat_field(TRelation& rel,const TFieldref&field,const TRecord_text& rec,TString &str) {}
|
||||||
|
virtual void preformat_field(const TFieldref&field,TString &str) {}
|
||||||
|
//effettua modifiche sui record della relazione prima di effettuarne la write
|
||||||
|
virtual void pre_write(TRelation& rel,const TRecord_text& rec) {}
|
||||||
public:
|
public:
|
||||||
TFile_text(const char* file_name, const char* config_name);
|
TFile_text(const char* file_name, const char* config_name);
|
||||||
virtual ~TFile_text();
|
virtual ~TFile_text();
|
||||||
@ -209,8 +214,8 @@ public:
|
|||||||
//caricamento automatico della relazione dal record_text corrente
|
//caricamento automatico della relazione dal record_text corrente
|
||||||
int autosave(TRelation& rel) {return autosave(rel, *_current); };
|
int autosave(TRelation& rel) {return autosave(rel, *_current); };
|
||||||
//caricamento automatico della relazione definita nel tracciato dal record_text
|
//caricamento automatico della relazione definita nel tracciato dal record_text
|
||||||
int autosave(int mainfile, const TRecord_text& rec);
|
int autosave(int mainfile, const TRecord_text& rec);
|
||||||
int _autosave(TRelation& rel, const TRecord_text& rec, TTracciato_record& tr );
|
int _autosave(TRelation& rel, const TRecord_text& rec, TTracciato_record& tr );
|
||||||
int read(TRecord_text & rec);//legge da file di testo il record_text
|
int read(TRecord_text & rec);//legge da file di testo il record_text
|
||||||
int read(){return read(*_current);}//legge da file di testo il record_text corrente
|
int read(){return read(*_current);}//legge da file di testo il record_text corrente
|
||||||
//carica nel record_text il campo alla posizione <ncampo> con il valore <val> già formattato
|
//carica nel record_text il campo alla posizione <ncampo> con il valore <val> già formattato
|
||||||
|
Loading…
x
Reference in New Issue
Block a user