From 7393952fabf35ae039762da6ff0b972a5fad80cc Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 31 Oct 1994 11:11:19 +0000 Subject: [PATCH] Modificata la funzione len(int) in reset(int) git-svn-id: svn://10.65.10.50/trunk@490 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/sort.cpp | 37 ++++++++++++++++++------------------ include/sort.h | 49 ++++++++++++++++++++++++------------------------ 2 files changed, 43 insertions(+), 43 deletions(-) diff --git a/include/sort.cpp b/include/sort.cpp index 8c0f6a2dc..4839faac6 100755 --- a/include/sort.cpp +++ b/include/sort.cpp @@ -16,37 +16,38 @@ //#include TSort::TSort(int len) - + { _sortvar = new s_prm; _sortvar->rc_len = len; nsortkey = 0; for (int i = 0; i < NOFLDS; i++) - { - _sortvar->s_fld[i].f_pos = 0; - _sortvar->s_fld[i].f_len = 0; - _sortvar->s_fld[i].ad = ' '; - } + { + _sortvar->s_fld[i].f_pos = 0; + _sortvar->s_fld[i].f_len = 0; + _sortvar->s_fld[i].ad = ' '; + } } TSort::~TSort() - + { delete _sortvar; } void TSort::init() - + { CHECK(_sortvar->rc_len && nsortkey, "Attempt to initialize undefined sort"); + while (retrieve() != NULL); init_sort(_sortvar); } void TSort::sort(const char* record) - + { CHECK(record != NULL, "Bad record to sort"); ::sort((char*)record); @@ -54,21 +55,21 @@ void TSort::sort(const char* record) void TSort::endsort() - + { ::sort(NULL); } const char* TSort::retrieve() - + { return (const char *) sort_op(); } void TSort::stats() - + { sort_stats(); } @@ -81,15 +82,16 @@ int TSort::length() const } -void TSort::length(int len) - +void TSort::reset(int len) + { _sortvar->rc_len = len ; + nsortkey = 0; } void TSort::addsortkey(int pos, int len, char direction) - + { CHECK(pos >= 0 && pos+len <= _sortvar->rc_len, "Invalid sort key"); _sortvar->s_fld[nsortkey].f_pos = pos + 1; @@ -99,13 +101,10 @@ void TSort::addsortkey(int pos, int len, char direction) void TSort::addsortkey(TRecfield& f, char direction) - + { CHECK(f.pos() != NULL, "Invalid sort key"); _sortvar->s_fld[nsortkey].f_pos = (f.pos() - f.record().string()) + 1; _sortvar->s_fld[nsortkey].f_len = f.len(); _sortvar->s_fld[nsortkey++].ad = direction; } - - - diff --git a/include/sort.h b/include/sort.h index d6a4640d6..090274982 100755 --- a/include/sort.h +++ b/include/sort.h @@ -2,22 +2,22 @@ #define __SORT_H #ifndef __OBJECT_H -#include +#include #endif #ifndef __ISAM_H -#include +#include #endif /* -@(SH) Header + @(SH) Header -@(C#) PUBBLICHE + @(C#) PUBBLICHE -@(C$) PRIVATE -@(VG#) PUBBLICHE -@(VG$) PRIVATE -*/ + @(C$) PRIVATE + @(VG#) PUBBLICHE + @(VG$) PRIVATE + */ // @C // Classe TSort @@ -25,24 +25,25 @@ class TSort : public TObject { -// @DPRIV - friend TRecfield; - struct s_prm* _sortvar; // Puntatore alla struttura di un sort - int nsortkey; // Indice nella tabella dei campi della chiave + // @DPRIV + friend TRecfield; + struct s_prm* _sortvar; // Puntatore alla struttura di un sort + int nsortkey; // Indice nella tabella dei campi della chiave public: -// @FPUB - void init(); // Chiama init_sort - void sort(const char * record); // Chiama sort (record) - void endsort(); // Chiama sort (NULL) - const char* retrieve(); // Chiama sort_op() - void stats(); // Chiama sort_stats + // @FPUB + void init(); // Chiama init_sort + void sort(const char * record); // Chiama sort (record) + void endsort(); // Chiama sort (NULL) + const char* retrieve(); // Chiama sort_op() + void stats(); // Chiama sort_stats - int length() const; // Ritorna la lunghezza del record di sort - void length(int len); // Imposta la lunghezza del record di sort - void addsortkey(int pos, int len, char direction = 'a'); - void addsortkey(TRecfield& f, char direction = 'a'); + int length() const; // Ritorna la lunghezza del record di sort + void reset(int len); // Imposta la lunghezza del record di sort + // e inizializza il sort + void addsortkey(int pos, int len, char direction = 'a'); + void addsortkey(TRecfield& f, char direction = 'a'); - TSort(int reclen = 0); - virtual ~TSort(); + TSort(int reclen = 0); + virtual ~TSort(); }; #endif // __SORT_H