![]() |
|
|
#1
|
|||
|
|||
|
подскажите как сделать поиск определенных слов в файле?
![]() |
|
#2
|
||||
|
||||
|
Цитата:
Смотри функцию pos(); Код:
n:=pos('привет',buf);
привет - искомое слово
buf - в этой переменной ищём
n - с какого символа начинаеться это слово в buf. Если n=0 значит нет такого слова в buf |
|
#3
|
|||
|
|||
|
можно поподробнее?
задание: Дан текстовый файл f1, содержащий слова, разделенные пробелами. Вывести в файл f2 все слова файла f1, которые являются ключевыми словами в языке Pascal. |
|
#4
|
|||
|
|||
|
см. похожую тему :
http://www.delphisources.ru/forum/showthread.php?t=8047 |
|
#5
|
||||
|
||||
|
Вот вам готовый код. Что-то добренький я сегодня.
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,Classes,StrUtils;
Const
KeyWordsCount = 2;
KeyWords: Array[1..KeyWordsCount] of String = ('begin','end');
Var
File1,File2: TextFile;
i,p: Integer;
s: String;
begin
AssignFile(File1, 'C:\Documents and Settings\All Users\Документы\tmssoftware\TAdvMemo Demos\uAddictSpellCheck.pas');
Reset(File1);
AssignFile(File2, 'c:\test.txt');
Rewrite(File2);
while not Eof(File1)
do begin
ReadLn(File1, s);
s := StringReplace(s,' ',' ',[rfReplaceAll]) + ' ';
for i := 1 to KeyWordsCount
do begin
p := PosEx(KeyWords[i], AnsiLowerCase(s), 1);
while p > 0
do begin
WriteLn(File2, KeyWords[i]);
p := PosEx(KeyWords[i], AnsiLowerCase(s), p+Length(KeyWords[i]));
end;
end;
end;
CloseFile(File2);
CloseFile(File1);
end. |