Witam, to moj pierwszy post, wczesniej radzilem sobie z c++ na moje potrzeby, ale ta petla nie dziala jak powinna
AnsiString text;
char *tok, *sep=";", *tmp;
int count = 0;
for(int i = 0; i <= Memo1->Lines->Count - 1; i++){
text = Memo1->Lines->Text;
tmp = text.c_str();
int j = 0;
do{
tok = strtok(count++ ? NULL : tmp, sep);
if(tok){
Memo2->Lines->Add("[" + IntToStr(i) + "][" +IntToStr(j) + "]");
StringGrid1->Cells[j][i] = tok;
}
j++;
}while(j < 9); //tutaj powinen byc jeszcze warunek while(tok)
if(j == 8) j = 0;
}
Nie moge rozgryzc podwojnego warunku while, bo w sytuacji gdy zostawie tak jak jest teraz dodawane sa linie z Memo1 do 198 (jest ich lacznie 651), co juz samo w sobie jest dla mnie dziwne, a jesli zmienie warunek na while(tok), to owszem zczytuje calosc Memo1 ale licznik 'i' jest wciaz rowny 0, wiec do string grid->cells zapisywane jest tylko [j][0]
Rozwiazalem problem, pocialem wczytywany tekst na mniejsze czesci i juz dziala