Redefinice pole a parametr ve funkci
Napsal: 28 čer 2013 08:41
Dobry den,
muzete mne poradit jak mam zvetsit pole? V konstruktoru mam inicializaci pole na konstantni velikost. Chtel bych aby pole bylo velike pri startu objektu: sMsg = gcnew array<String^>(1); A pri kazdem pouziti funkce SaveMsg se pole zvetsilo o jeden zaznam.
Druhy dotaz, jak mam napsat parametr funkci SaveMsg abych nemusel pouzivat pomocnou promennou sReport a mohl rovnou zapsat do pole ^sMsg. Kdyz sem napsal neco jakototo:
Tak to nefunguje, hlasi to chybu.
Zde je kod objektu pro ulozeni logu z funkci:
Diky za jakoukoliv informace.
--- Doplnění předchozího příspěvku (28 Čer 2013 12:37) ---
kdyz objek upravim takto:
timto si redefinuji pole. Pole je sice vetsi ale doposud ulozene data v poli jsou fuc.
Jsou nejake napady? Jako vytvorit nove pole o stejne velikosti, tam zalohovat data, posleze pozadovane pole zvetsit a nakopirovat do neho zalohovana data z pomocneho pole se mne moc nechce, urcite to musi jit jinak.
Diky za kazde napady.
muzete mne poradit jak mam zvetsit pole? V konstruktoru mam inicializaci pole na konstantni velikost. Chtel bych aby pole bylo velike pri startu objektu: sMsg = gcnew array<String^>(1); A pri kazdem pouziti funkce SaveMsg se pole zvetsilo o jeden zaznam.
Druhy dotaz, jak mam napsat parametr funkci SaveMsg abych nemusel pouzivat pomocnou promennou sReport a mohl rovnou zapsat do pole ^sMsg. Kdyz sem napsal neco jakototo:
Kód: Vybrat vše
void SaveMsg (String^ this->sMsg[this->nReport]){
Zde je kod objektu pro ulozeni logu z funkci:
Kód: Vybrat vše
ref class RNT_REPORT{
private:
int nReport;//ktery zaznam
array<String^> ^sMsg; //Strucni popis Msg
public:
int nRnt;
RNT_REPORT(){
sMsg = gcnew array<String^>(size);
nReport = 0;
nRnt = 0;
};
void SaveMsg (String^ sReport){
this->sMsg[this->nReport] = sReport;
this->nReport = this->nReport +1;
};
};
Diky za jakoukoliv informace.
--- Doplnění předchozího příspěvku (28 Čer 2013 12:37) ---
kdyz objek upravim takto:
Kód: Vybrat vše
ref class RNT_REPORT{
private:
int nReport;//ktery zaznam
array<String^> ^sMsg; //Strucni popis Msg
public:
int nRnt;
RNT_REPORT(){//konstruktor
nReport = 0;
sMsg = gcnew array<String^>(nReport + 1);
nRnt = 0;
};
void SaveMsg (String^ sReport){
this->sMsg[this->nReport] = sReport;
this->nReport = this->nReport +1;
sMsg = gcnew array<String^>(nReport + 1);
};
timto
Kód: Vybrat vše
sMsg = gcnew array<String^>(nReport + 1);
Jsou nejake napady? Jako vytvorit nove pole o stejne velikosti, tam zalohovat data, posleze pozadovane pole zvetsit a nakopirovat do neho zalohovana data z pomocneho pole se mne moc nechce, urcite to musi jit jinak.
Diky za kazde napady.