![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
![]() Есть два MEMO. В один просто считываем текст из файла а во второй вывести этот же текст, но подсчитав сколько раз в строке встретится слово введенное в Edit.
Т.е. если ввести в Edit слово 'text' то в memo2 должно получиться так qwetextqwe 1 textqwetext 2 Код:
var f:TextFile ; s:array[1..100] of string; i,n:integer; ///////////////////////////////// procedure Read ; var i:integer; begin i:=0; AssignFile(f,'text.txt'); Reset(f); While not Eof(f) do begin i:=i+1; readln(F,s[i]); end; n:=i; CloseFile(f); end; ////////////////////////////////// procedure TForm1.Button2Click(Sender: TObject); var slovo :string; c, count:integer; begin memo2.Clear; Memo1.Lines.LoadFromFile('text.txt'); read; slovo:=edit1.Text; for i:=1 to n do begin memo2.Lines.Add(s[i]+' '+inttostr(count)); end; end; |
#2
|
|||
|
|||
![]() 1. Подобная тема уже была - ищи поиском.
2. Тебе нужна функция Pos и ее разновидность PosEx. 3. Загрузку текста можно сделать так: Memo1.Lines.LoadFromFile('имя файла.txt'); 4. Скопировать текст из Memo1 в Memo2 можно так: Memo2.Lines.Assign(Memo1.Lines); а потом добавить строчку с подсчетом. |