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);
|
||||
// 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());
|
||||
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
|
||||
}
|
||||
}
|
||||
pre_write(rel,rec);
|
||||
int err = rel.write();
|
||||
if (err == _isdupkey || err ==_isreinsert)
|
||||
err = rel.rewrite();
|
||||
|
@ -149,17 +149,22 @@ class TFile_text : public TObject
|
||||
int _typefield;//posizione ove trovare la chiave nel record a lunghezza variabile
|
||||
|
||||
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 char falign(const TTracciato_campo &tc ) const;
|
||||
const char ffiller(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:
|
||||
TFile_text(const char* file_name, const char* config_name);
|
||||
virtual ~TFile_text();
|
||||
@ -209,8 +214,8 @@ public:
|
||||
//caricamento automatico della relazione dal record_text corrente
|
||||
int autosave(TRelation& rel) {return autosave(rel, *_current); };
|
||||
//caricamento automatico della relazione definita nel tracciato dal record_text
|
||||
int autosave(int mainfile, const TRecord_text& rec);
|
||||
int _autosave(TRelation& rel, const TRecord_text& rec, TTracciato_record& tr );
|
||||
int autosave(int mainfile, const TRecord_text& rec);
|
||||
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(){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
|
||||
|
Loading…
x
Reference in New Issue
Block a user