Proste pytanie... ? [ RichEdit + tablica :) ]

0

Jak podzielić tekst znajdujący się w RichEdit na słowa.
Tzn. Kazde słowo do innej pozycji w tablicy.

tablica[1] := 'Ala';
tablica[2] := 'ma';
tablica[3] := 'Kota';

itd.

hlp.

--
[ Delphi... i wszystko jasne ]

0

Musisz przegladac liniami, a pozniej bajt po bajcie, jak znajdziesz spacje, koczyc wyraz i wpisywac go do tablicy... Cos takiego:

for i:=0 to richedit1.lines.count -1 do
begin
str {jakis pomocniczy string} :=; for j:=1 to length(richedit1.lines[i]) do begin if richedit1.lines[i][j]=#32 then begin setlength(tab.length(tab)+1); // tab to twoja tablica tab[length(tab)-1]:=str; continue; end; str:=str+richedit1.lines[i][j]; str:=;
end;
if str&lt&gt'' then
begin
setlength(tab.length(tab)+1);
tab[length(tab)-1]:=str;
end;
end;

powinno dzialac, ale nie mam kompilatora delphi i nie moge sprawdzic

0

Sorry ale przez je**ne tpsa nie mogłem się wczoraj dostać do netu,
a napisałem to wcześniej, więc mimo iż jest to pewnie to samo
co wyżej to i tak wklejam, mój kod:

var
s: string;
Slowa: TStringList;
begin
Slowa := TStringList.Create;
s := RichEdit1.Text + ' ';
s := TrimLeft(StringReplace(s, #13#10, ' ', [rfReplaceAll]));
while Pos(#32#32, s) > 0 do Delete(s, Pos(#32#32, s), 1);
while Pos(' ', s) > 0 do
begin
Slowa.Add(Copy(s, 1, Pred(Pos(' ', s))));
Delete(s, 1, Pos(' ', s));
end;
end;

i teraz w Slowa.Strings[0] jest pierwsze słowo itd...

--


Pozdrawiam...
piechnat

0

Mam CHYBA lepsza propozycje. moze sprobuj zapisac ten text do pliku a pozniej wczytywac slowo po slowie (przypomne, ze w ten sposob sa Od razu wychwytywane spacje).
P. S. Napisalem ten spozniony post, zebys mial wiekszy wybor:)--Delphi vs. C++

0

Ja proponuję użycie starej dobrej funkcji char * strtok (const char * string, const char * delimiters );. Jednakże musisz pamiętać, że ta funkcja wstawia znak '\0' w miejsce poszukiwanych znaków (w tym przypadku będzie to spacja), więc musisz skopiować sobie text z memo do jakiejś tablicy. Jest to chyba najszybszy sposób (zajmuje jakieś 2 linijki). Więcej informacji o tej funkcji znajdziesz jak zwykle w helpie :P --"Imagination is more important than knowledge." - A. Einstein

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