maskfld.cpp Corretta picture data degli edit_field

relation.cpp Corretta write dei record_array


git-svn-id: svn://10.65.10.50/trunk@2623 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-02-21 09:01:24 +00:00
parent f63419ff75
commit 772fee0c03
2 changed files with 22 additions and 16 deletions

View File

@ -551,7 +551,8 @@ const char* TMask_field::picture_data(
if (video)
{
fpark = data;
smart_trim(fpark, byte(_flags.trim));
const byte t = _flags.trim;
smart_trim(fpark, t);
if (_flags.uppercase)
fpark.upper();
return fpark;
@ -628,8 +629,9 @@ TString& TMask_field::get() const
gpark = get_window_data();
else
gpark = get_field_data();
smart_trim(gpark,(byte) _flags.trim);
const byte t = _flags.trim;
smart_trim(gpark, t);
return gpark;
}
@ -2220,8 +2222,10 @@ const char* TEdit_field::get_field_data() const
const char* TEdit_field::format(const char* d) const
{
fpark = d;
smart_trim(fpark, (byte) _flags.trim);
fpark = d;
const byte t = _flags.trim;
smart_trim(fpark, t);
if (fpark.not_empty())
{
@ -2262,10 +2266,8 @@ const char* TEdit_field::format(const char* d) const
const char* TEdit_field::picture_data(const char* data, bool video) const
{
fpark = video ? data : format(data);
smart_trim(fpark, (byte) _flags.trim);
{
format(data); // Scrive in fpark la stringa formattata
return fpark;
}

View File

@ -2059,28 +2059,32 @@ int TRecord_array::write(bool re) const
}
else
{
const int pos = i+_offset;
if (pos > last_on_file)
const int pos = i+_offset;
// Se pos < last_on_file sicuramente la read fallira' per cui la riga
// non puo' esistere su file: non esistendo nemmeno in memoria non devo
// fare assolutamente nulla!
if (pos >= last_on_file) // Puo' esistere su file?
{
TRectype* rec = (TRectype*)key().dup();
CHECK(!rec->empty(), "TRecord_array has an empty key");
rec->put(_num, pos);
err = rec->read(f, _isgteq);
if (err == NOERR && good(*rec)) // La riga c'era ma ora non piu'
if (err == NOERR && good(*rec)) // Cerca una riga >= pos sul file
{
last_on_file = atoi(rec->get(_num));
if (last_on_file == pos)
if (last_on_file == pos) // La riga c'era ma ora non piu'
{
err = (rec->remove(f));
err = (rec->remove(f)); // Cancello il record indesiderato
if (err != NOERR)
{
delete rec;
delete rec; // Orrore! Un errore di cancellazione!
break;
}
}
}
else
last_on_file = EOR;
last_on_file = EOR; // Sul file non ci sono piu' righe da cancellare
delete rec;
}
}