Redefinice pole a parametr ve funkci

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

hacesoft
nováček
Příspěvky: 10
Registrován: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Redefinice pole a parametr ve funkci

Příspěvekod hacesoft » 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:

Kód: Vybrat vše

void SaveMsg (String^ this->sMsg[this->nReport]){
Tak to nefunguje, hlasi to chybu.

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);
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.

Reklama
hacesoft
nováček
Příspěvky: 10
Registrován: červen 13
Pohlaví: Nespecifikováno
Stav:
Offline

Re: Redefinice pole a parametr ve funkci

Příspěvekod hacesoft » 09 črc 2013 11:25

Zdravim,
tak jsem zistil, ze kdyz ma pole na halde, tak nejde redefinovat velikost pole. Takze neco jako ReDim z Basicu zde u tohotopole nelze.

Pripadne jsou jine napady jak resit reporty z jednotlivych funkci. Mam sadu funkci a kazda funkce ohlasi zda uspela a pripadne pokud neuspela, tak proc, a chyby vraci jak ciselne, tak hlavne textove aby stacil shledmout log a hned je jasno kde je problem. Pripadne kdyz funkce selze, tak staci log vytisknout a zaslat a hned vidim co se kde stalo a mohu pripadny problem opravit.


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 1 host