Задача. Дан текстовый файл. Считать из него текст и вывести на экран первые слова из предложений.
Например, из этого текста можно вывести: "Задача", "Дан", "Считать".
Ошибка следующего вида: помимо нужных слов, программа выводит те слова, которые находятся в начале каждой строки компонента Memo. Прошу помочь исправить код знающих людей.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile; ch:char;
s,st:string;
i:integer;
t:boolean;
begin
assignfile(f,'txt.txt');
reset(f);
while not eof(f) do
begin
read(f,ch);
memo1.text:=memo1.text+ch;
end;
closefile(f);
t:=true;
memo2.Clear;
for i:=0 to memo1.lines.count do
begin
s:=memo1.Lines[i];
s:=trim(s);
st:='';
while s<>'' do
if t=true then
begin
while (s<>'') and (s[1] in ['А'..'Я','а'..'я']) do
begin
st:=st+s[1];
delete(s,1,1);
end;
memo2.lines.add(st);
st:='';
t:=false;
end
else
begin
while (s<>'') and (s[1]<>'.') and (s[1]<>'.') and (s[1]<>'!') and (s[1]<>'?') do
delete(s,1,1);
repeat
delete(s,1,1)
until (s='') or (s[1] in ['А'..'Я','а'..'я']);
t:=true;
end;
end;
end;
end.