Chyba s cyklusom v C++ buildery

Programovacie jazyky, rady, poradňa...
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Chyba s cyklusom v C++ buildery

Príspevok od používateľa Fata! ChaoS »

Nazdar mám tento kód

Kód: Vybrať všetko

AnsiString premOtazka;
premOtazka=Otazka->Lines->Text;

for(int i=0;i<300;i++)
     if(premOtazka[i]=='\n') premOtazka[i]='$';
Ale pri načítaní Otazka->Lines->Text do premOtazka vzhodí chybu
Project project.exe raised exception class ERangeError with message " . Process stopped use Step or Run to continue.
Keď som odstránil cyklus, tak mi všetko fungovalo bez problémov som pracoval s premOtazka.

Prečo mi to robí? čo je zle na cyklu, skúšal som viacero vecí a nič.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nie je rozsah ansistringu 255 znakov? ty ideš v cykle po 300
neutronmind
Expert
Expert
Príspevky: 189
Registrovaný: 05 aug 2008, 14:17

Príspevok od používateľa neutronmind »

Nesnazis sa niekde v cykle prepisovat pamat, ktora nie je tvoja? :)
vivaSlovakia
Guru wannabe
Guru wannabe
Príspevky: 2119
Registrovaný: 29 júl 2006, 10:30

Príspevok od používateľa vivaSlovakia »

pri akej akcii pouzivas ten cyklus? hod sem viac kodu
Fata! ChaoS
Star
Star
Používateľov profilový obrázok
Príspevky: 650
Registrovaný: 12 apr 2006, 20:23
Bydlisko: Tvrdošovce
Kontaktovať používateľa:

Príspevok od používateľa Fata! ChaoS »

//autoeditácia príspevku ( 18 Mar 2009, 12:01 )
Omg neviem kam mi zmyzol prípevok, no ale tak napíšem ešte raz

2 audotrick: ano, ale skúšal som to aj s menším číslom a ani tak to nešlo.

2 neutronmind: ako som sa s tým už začal hrať, tak možno tu bude chybička, lebo keď pracujem s nultým prvkom premennej alebo prvkami do ktorých som nenapísal nič, tak vtedy mi píše chyby.

2 fruxo: je tov ButtonClick, ale všetok potrebný kód som už pridal no tu máš celý butotnclick

Kód: Vybrať všetko

void __fastcall TOkno::Button1Click(TObject *Sender)
{
                pocetOtazok++;

                Memo3->Lines->Add(Label1->Caption);
                Memo3->Lines->AddStrings(Otazka->Lines);
                Memo3->Lines->AddStrings(Moznosti->Lines);
                Memo3->Lines->Add("");

                size_t found;
                AnsiString premOtazka;
                //found=premOtazka.find('\n');

                 //char znak=premOtazka[20];
                //Label2->Caption=znak;
                //for(int i=0;i<300;i++)
                 //   if(premOtazka[i]=='\n') premOtazka[i]='$';


                otazky->Lines->Delete(0);
                otazky->Lines->Insert(0,AnsiString(pocetOtazok));
                otazky->Lines->AddStrings(Otazka->Lines);

                odpovede->Lines->AddStrings(Moznosti->Lines);
                Edit1->Text=AnsiString(Edit1->Text+SpravnaMoznost->Text);

                Otazka->Lines->Clear();
                Moznosti->Lines->Clear();
                SpravnaMoznost->Clear();

                Label1->Caption= "Otázka " + AnsiString(pocetOtazok+1);
                PocetOtazok->Text= AnsiString(pocetOtazok);
}
tú problematickú časť si nevšímaj tam skúšam už všetko možné.
Napísať odpoveď