Aggiunte le funzioni rewriteat.

git-svn-id: svn://10.65.10.50/trunk@44 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
alex 1994-08-22 11:10:49 +00:00
parent 76f5246fab
commit 22611ac7b5

View File

@ -19,15 +19,15 @@
class TExtrectype : public TRectype class TExtrectype : public TRectype
{ {
public: public:
// FPUB // FPUB
TExtrectype(const TTrec& r); // Costruisce il record a partire da r TExtrectype(const TTrec& r); // Costruisce il record a partire da r
virtual ~TExtrectype(); virtual ~TExtrectype();
}; };
TExtrectype::TExtrectype(const TTrec& r) TExtrectype::TExtrectype(const TTrec& r)
: TRectype(6) : TRectype(6)
{ {
delete _rec; delete _rec;
@ -451,6 +451,22 @@ int TBaseisamfile::rewrite(const TRectype& rec, TDate& atdate)
} }
int TBaseisamfile::rewriteat(TRecnotype nrec)
{
NOT_OPEN(name());
return cisrewrec(_isamfile, nrec, curr().string(), &_lasterr);
}
int TBaseisamfile::rewriteat(const TRectype& rec, TRecnotype nrec)
{
NOT_OPEN(name());
return cisrewrec(_isamfile, nrec, curr().string(), &_lasterr);
}
int TBaseisamfile::remove(TDate& atdate) int TBaseisamfile::remove(TDate& atdate)
{ {
@ -1048,7 +1064,7 @@ int TSystemisamfile::dump(const char* to, int nkey, char fs, char fd, char rs, b
for (i = 0; i < nitems && !p.iscancelled(); i++) for (i = 0; i < nitems && !p.iscancelled(); i++)
{ {
p.setstatus(i + 1); p.setstatus(i + 1);
readat(i); readat(i + 1);
s=""; s="";
if (withdeleted || curr().valid()) if (withdeleted || curr().valid())
{ {
@ -1131,7 +1147,7 @@ TRectype::TRectype(const TRectype& r)
_length = r.len(); _length = r.len();
_rec = new char [ _length ]; _rec = new char [ _length ];
_rec[0] = r._rec[0]; _rec[0] = r._rec[0];
// strncpy(_rec + 1, r._rec + 1, _length - 1); // strncpy(_rec + 1, r._rec + 1, _length - 1);
memcpy(_rec + 1, r._rec + 1, _length - 1); memcpy(_rec + 1, r._rec + 1, _length - 1);
_i = r._i; _i = r._i;
setempty(r.empty()); setempty(r.empty());
@ -1534,7 +1550,7 @@ const char* TRectype::key(int numkey) const
TRec_array::TRec_array(int dimension, TBaseisamfile& i) TRec_array::TRec_array(int dimension, TBaseisamfile& i)
: TArray(dimension) : TArray(dimension)
{ {
TRectype r(&i); TRectype r(&i);
@ -1623,9 +1639,9 @@ HIDDEN void __getfieldbuff(byte l, byte t, const char* recin, char *s)
TDate dt(atol(s)); TDate dt(atol(s));
strcpy(s, dt.string(4)); strcpy(s, dt.string(4));
} }
// else // else
// if (t == _realfld) // if (t == _realfld)
// if ((char* s1 = strchr(s, ',')) != NULL) *s1 = '.'; // if ((char* s1 = strchr(s, ',')) != NULL) *s1 = '.';
} }
@ -1636,7 +1652,7 @@ HIDDEN void __putfieldbuff(byte l, byte d, byte t, const char* s, char* recout)
if (recout == NULL) return; if (recout == NULL) return;
// char* s2 = new char [256]; // char* s2 = new char [256];
char s2[256]; char s2[256];
strcpy(s2, s); strcpy(s2, s);
@ -1672,7 +1688,7 @@ HIDDEN void __putfieldbuff(byte l, byte d, byte t, const char* s, char* recout)
strncpy(recout, s2, len) ; strncpy(recout, s2, len) ;
while (len < l) recout[len++] = ' '; while (len < l) recout[len++] = ' ';
} }
// delete s2; // delete s2;
} }