ba0.cpp Aggiornato uso della list_files

bacnv.cpp   Aggiornato uso della list_files
ba883.cpp   Ca$$i miei


git-svn-id: svn://10.65.10.50/trunk@5343 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1997-10-09 13:34:15 +00:00
parent 2b38285053
commit 6fedcb9052
3 changed files with 48 additions and 28 deletions

View File

@ -1147,23 +1147,20 @@ int TMenu_application::do_level()
void TMenu_application::test_temp() void TMenu_application::test_temp()
{ {
begin_wait();
TFilename dir; dir.tempdir(); // Directory temporanea TFilename dir; dir.tempdir(); // Directory temporanea
dir << '/' << '*'; dir.add("*");
TToken_string files(dir); TString_array files;
const int count = list_files(files); const int count = list_files(dir, files);
end_wait();
if (count > 0 && yesno_box("Cancellare %d file temporane%c in %s?", if (count > 0 && yesno_box("Cancellare %d file temporane%c in %s?",
count, (count > 1) ? 'i' : 'o', dir.path())) count, (count > 1) ? 'i' : 'o', dir.path()))
{ {
TProgind bar(count, "Cancellazione file temporanei", TRUE, TRUE); TProgind bar(count, "Cancellazione file temporanei", TRUE, TRUE);
for (const char* e = files.get(0); e; e = files.get()) for (int i = count-1; i >= 0; i--)
{ {
if (bar.iscancelled()) break; if (bar.iscancelled()) break;
remove(e); const char* e = files.row(i);
::remove(e);
bar.addstatus(1); bar.addstatus(1);
} }
} }

View File

@ -96,9 +96,10 @@ protected:
virtual TMask* get_mask(int) { return _msk; } virtual TMask* get_mask(int) { return _msk; }
virtual bool changing_mask(int) { return FALSE;} virtual bool changing_mask(int) { return FALSE;}
virtual TRelation* get_relation() const { return _rel; } virtual TRelation* get_relation() const { return _rel; }
virtual int read(TMask& m) { m.autoload(*_rel); return NOERR; } virtual int read(TMask& m);
virtual int write(const TMask&) { return NOERR; } virtual int write(const TMask&);
virtual int rewrite(const TMask&) { return NOERR; } virtual int rewrite(const TMask&);
virtual bool remove() { return FALSE; }
public: public:
TTestrel_application(const char* name, const char* num); TTestrel_application(const char* name, const char* num);
@ -128,6 +129,25 @@ bool TTestrel_application::user_destroy()
return TRUE; return TRUE;
} }
int TTestrel_application::read(TMask& m)
{
m.autoload(*_rel);
return NOERR;
}
int TTestrel_application::write(const TMask& m)
{
m.autosave(*_rel);
return NOERR;
}
int TTestrel_application::rewrite(const TMask& m)
{
m.autosave(*_rel);
return NOERR;
}
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////
// Testmask // Testmask
/////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////

View File

@ -484,22 +484,26 @@ void TConversione_archivi::zero_770()
d.eox() = 0L; d.eox() = 0L;
d.put(i, _nordir, _sysdirop); d.put(i, _nordir, _sysdirop);
} }
TToken_string files;
TFilename files;
TString_array list;
if (fexist(format("%scom/770", __ptprf))) if (fexist(format("%scom/770", __ptprf)))
{ {
files.format("%scom/770/%s", __ptprf, "*"); files.format("%scom/770/%s", __ptprf, "*");
list_files(files); list_files(files, list);
for (const char * s = files.get(); s != NULL; s = files.get()) for (int i = list.items()-1; i >= 0; i--)
remove(s); remove(list.row(i));
list.destroy();
RMDIR(format("%scom/770", __ptprf)); RMDIR(format("%scom/770", __ptprf));
} }
if (fexist(format("%s770", __ptprf))) if (fexist(format("%s770", __ptprf)))
{ {
files.format("%s770/%s", __ptprf, "*"); files.format("%s770/%s", __ptprf, "*");
list_files(files); list_files(files, list);
for (const char * s = files.get(); s != NULL; s = files.get()) for (int i = list.items()-1; i >= 0; i--)
remove(s); remove(list.row(i));
list.destroy();
RMDIR(format("%s770", __ptprf)); RMDIR(format("%s770", __ptprf));
} }
} }
@ -1181,18 +1185,17 @@ void TConversione_archivi::convert_rver_m770() const
void TConversione_archivi::remove_dta_ndx() const void TConversione_archivi::remove_dta_ndx() const
{ {
TToken_string list; TFilename s;
TString s; TString_array list;
for (int j = 0; j < 2; j++) for (int j = 0; j < 2; j++)
{ {
s = firm2dir(_codditta); s = firm2dir(_codditta);
s << "/" ; s.add(j == 0 ? "*.dta" : "*.ndx");
s << (j == 0 ? "*.dta" : "*.ndx"); const int items = list_files(s, list);
list = s; for (int i = items-1; i >= 0; i--)
const int items = list_files(list); ::remove(list.row(i));
for (int i=0; i<items;i++) list.destroy();
remove(list.get(i));
} }
} }