![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Задача. Дан текстовый файл. Считать из него текст и вывести на экран первые слова из предложений.
Например, из этого текста можно вывести: "Задача", "Дан", "Считать". Ошибка следующего вида: помимо нужных слов, программа выводит те слова, которые находятся в начале каждой строки компонента 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. Последний раз редактировалось alexanderm, 19.12.2012 в 20:13. |
#2
|
||||
|
||||
![]() Тег "CODE". Используй его.
Если не ты, то кто? (с) Терри Пратчетт Не забывайте ставить плюсы и говорить спасибо! |