warunek nie zawsze działa

0

OK, mam mega problem.
Mam zapisany jakiś tekst w memo i do tego w jednej linijce.

I teraz ten tekst ma być odczytywany po literce i jak natrafi się jakaś określona literka, ma coś zrobić... Mam tak...

var
znak: array[1..500] of char //liczba znaków nigdy nie przekroczy rozmiaru tablicy
i: integer;

begin
for i:=1 to 500 do begin
znak[i]:=memo1.lines.strings[0][i];
if znak[i]='T' then coś tam...

I chodzi o to, że ten warunek nie zawsze chce działać...
Tzn. też zrobiłem(żeby zobaczyć) showMessage(znak[i]), jaki znak aktualnie jest odczytywany... I nieraz, gdy jest "T", to po prostu go pomija... Czyli warunek nie zawsze działa... Dzlaczego???
(z kodami ascii też próbowałem)

0

var
znak: array[1..500] of char; //liczba znaków nigdy nie przekroczy rozmiaru tablicy
i: integer;

begin
for i:=1 to Length(Memo1.Lines[0]) do
begin
znak[i]:=memo1.lines[0][i];
if znak[i]='T' then
ShowMessage('T');
end;
end;

To chyba u mnie dziala OK

0

Troche dziwne to co piszesz. Sprawdzałem u siebie też działa OK :-)

0

To chyba u mnie dziala OK

Tak też próbowałem...
A czy poprawnie działa, to walnij showMessage po odczytaniu znaku(przed sprawdzeniem warunku)

0

To chyba u mnie dziala OK

Tak też próbowałem...
A czy poprawnie działa, to walnij showMessage po odczytaniu znaku(przed sprawdzeniem warunku)

Przed czy po to jedna chwała. Tak samo działa. A może nie rozróżniasz małych i dużych liter 'T' i 't'? Daj UpCase(Znak[i]) i będzie grać.

0

Niestety UpCase też nie daje żadnych rezultatów.

Bo chodzi mi o odczytanie z pliku mp3 Tagu(wersji 2). Doszedłem do tego, jak to zrobić, ale nie wiem, dlaczego ten warunek nie chce działać.

Już w przypływie desperackim użyłem TFileStream, ale to nic nie zmienia :( Ratujcie, bo ja to muszę do poniedziałku zrobić...

0

Tagi v MP3 v2? Nie używaj do tego Stringa! Stringi się kończą na #0 a v MP3 Id3v2Tag zaraz po identyfikatorze ID3 jest #0. Do odczytu polecam np. JediVCL lub ID3v2TagLib

1 użytkowników online, w tym zalogowanych: 0, gości: 1