From 0b5adc807d06d0a0b9946dfa7c247eba70dceebf Mon Sep 17 00:00:00 2001 From: villa Date: Tue, 14 Nov 1995 11:11:56 +0000 Subject: [PATCH] Aggiunto get_keys per ficcare l'assocarray in un tstringarray git-svn-id: svn://10.65.10.50/trunk@2147 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/assoc.cpp | 23 +++++++++++++++++++++++ include/assoc.h | 4 ++++ 2 files changed, 27 insertions(+) diff --git a/include/assoc.cpp b/include/assoc.cpp index 4697226b3..6209886c8 100755 --- a/include/assoc.cpp +++ b/include/assoc.cpp @@ -218,3 +218,26 @@ THash_object* TAssoc_array::get_hashobj() return (THash_object*)arr->objptr(_col++); } + + +// mette chiavi e opzionalmente valori (come stringa) nel +// TString_array passato +int TAssoc_array::get_keys(TString_array& kl, bool add_values) +{ + kl.destroy(); restart(); + THash_object* o = NULL; + TString tmp(80); + while (o = get_hashobj()) + { + TToken_string* tt = new TToken_string(o->key()); + if (add_values) + { + tmp = ""; + tmp << o->obj(); + tt->add(tmp); + } + kl.add(tt); + } + restart(); + return kl.items(); +} diff --git a/include/assoc.h b/include/assoc.h index 19d2f24e6..6a56f1119 100755 --- a/include/assoc.h +++ b/include/assoc.h @@ -109,6 +109,10 @@ public: // @cmember Azzera il numero di righe e colonne della tabella hash void restart() { _row = 0; _col = 0; } + + // mette chiavi e opzionalmente valori (come stringa) nel + // TString_array passato + int get_keys(TString_array& kl, bool add_values = FALSE); // @cmember Costruttore TAssoc_array() : _cnt(0), _row(0), _col(0)