поиск слова в файле
Добавлено: 28 май 2009, 09:57
Мне по заданию нужно искать слово в файле, я воспользовался функцией POS, но при тестировании обнаружилось, что я не учел, что функция не найдет слово, если в нем будут символы в разных регистрах! Получается, что слова одинаковые, а набор символов разный.
Что мне делать?
вот моя функция
--------------------------------------------------------------------------------
Добавлено сообщение
--------------------------------------------------------------------------------
сам спросил - сам ответил
pos(AnsiUpperCase(s1),AnsiUpperCase(s))
{спасибо добрым людям}
Что мне делать?
вот моя функция
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
j:integer;
s:ansistring;
s1,s2:ansistring;
f:textfile;
begin
if pos(' ',edit1.Text)=0
then
if length(edit1.Text)<>0
then
begin
s2:='Строки начинаюшиеся со слова '+edit1.Text;
label3.Caption:=s2;
s1:=edit1.Text;
j:=0;
AssignFile(F,OpenDialog1.FileName);
reset(f);
while not(eof(f)) do
begin
j:=j+1;
readln(f,s);
if (pos(s1,s)=1)and((s[length(s1)+1]=' ')or(s[length(s1)+1]=s1[length(s1)+1]))
then
label3.Caption:=label3.Caption+' '+inttostr(j);
end;
CloseFile(f);
if s2=label3.Caption
then
label3.Caption:='В файле не строк начинающихся со слова '+edit1.Text;
end
else showmessage('Введите слово для поиска')
else showmessage('Слово не должно содержать пробелов')
end;
Добавлено сообщение
--------------------------------------------------------------------------------
сам спросил - сам ответил
pos(AnsiUpperCase(s1),AnsiUpperCase(s))
{спасибо добрым людям}