![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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); а потом добавить строчку с подсчетом. |