Имеется набранный текст в memo нужно поделить этот текст на слова и знаки, и каждое слово(знак) поместить в массив. Делаю так:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | var
p,i,l: integer ;
tmp: string ;
arr: array [ 1..20 ] of string ;
begin
l:= 0 ;
for i:= 0 to memo1 . lines . Count- 1 do
begin
tmp:=memo1 . Lines[i];
tmp:=stringreplace(tmp, ',' , ' ,' ,[rfReplaceAll]);
tmp:=stringreplace(tmp, '!' , ' !' ,[rfReplaceAll]);
tmp:=stringreplace(tmp, '?' , ' ?' ,[rfReplaceAll]);
tmp:=stringreplace(tmp, '.' , ' .' ,[rfReplaceAll]);
while length(tmp)> 0 do
begin
inc(l);
p:=pos(tmp, ' ' );
arr[l]:=copy(tmp, 1 ,p);
delete(tmp, 1 ,p+ 1 );
end ;
end ;
end ;
|
Выпадает ошибка при выполеннии этой процедуры. Чувствую есть более простые методы разделить текст на слова. Не подскажете?
Спасибо.