Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2009, 23:10   #1
Nastasya
Новичок
Джуниор
 
Регистрация: 13.06.2009
Сообщений: 3
Восклицание Помогите плиз с поиском!

Задача, понимаю, банальная, но решить никак не могу...
Надо найти в тексте сколько раз повторяется одно слово или символ.
Пыталась сделать так:
Код:
var
F : TextFile;
S,Z,Z1: String;
i,j,k,t:integer;
begin
S:=Edit1.Text;
AssignFile(F,S);
Reset(F);
While Not EOF (F) do
begin
Readln(F,Z);
end;
i:=1;
k:=0;
While i<Length(z) do
begin
Z1:=Copy (Z,i,Length(Edit2.Text));
t:=Pos(Edit2.Text,Z1);
i:=i+1;
If t>0 Then k:=k+1;
end;
В таком виде не видит символов пробела и переноса на след строку, т. е. считает не весь файл. Как исправить???

Последний раз редактировалось Stilet; 15.06.2009 в 12:15.
Nastasya вне форума Ответить с цитированием
Старый 13.06.2009, 23:29   #2
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Шас посмотрим.
Вот так вроде:
Код:
var
  F: TextFile;
  kol,i: Integer;
  s: String;

procedure TForm1.Button1Click(Sender: TObject);
begin
kol:= 0;
AssignFile(F,'TD.txt');
Reset(F);
while not eof(f) do
begin
Readln(F,s);
for i:=1 to length(s) do
  if s[i] = 'твое слово или символ' then Inc(kol);
end;

Caption:= IntToStr(kol);

end;
Будь проще и люди к тебе потянутся

Последний раз редактировалось spamer; 13.06.2009 в 23:35.
spamer вне форума Ответить с цитированием
Старый 13.06.2009, 23:50   #3
Nastasya
Новичок
Джуниор
 
Регистрация: 13.06.2009
Сообщений: 3
По умолчанию

Так он считает правильно, но только по одному символу А как посчитать если символов в слове больше???
Nastasya вне форума Ответить с цитированием
Старый 14.06.2009, 02:59   #4
IceExecutioner
Пользователь
 
Аватар для IceExecutioner
 
Регистрация: 04.06.2009
Сообщений: 26
По умолчанию

Попробуй так:
Код:
var
  F: TextFile;
  kol,i: Integer;
  s: String;

procedure TForm1.Button1Click(Sender: TObject);
begin
kol:= 0;
AssignFile(F,'TD.txt');
Reset(F);
while not eof(f) do
begin
Readln(F,s);
if AnsiSameStr('твоё слово',s) then Inc(kol);
end;

Caption:= IntToStr(kol);

end;
IceExecutioner вне форума Ответить с цитированием
Старый 14.06.2009, 07:27   #5
Nastasya
Новичок
Джуниор
 
Регистрация: 13.06.2009
Сообщений: 3
По умолчанию

Спасибо за помощь, но работать это не хочет
Теперь он ищет только если задать полную строку, а мне надо одно слово...
Nastasya вне форума Ответить с цитированием
Старый 15.06.2009, 12:23   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если я правильно понял то вот такой код:
Код:
var f:TextFile; e,s:string; i,c:integer;
begin    c:=0;
 AssignFile(f,'file1.txt'); reset(f);
 e:='слово';
 while not eof(f) do begin
  readln(f,s);
  for i:=1 to (length(s)-length(e)+1) do
   if (copy(s,i,length(e))=e) then
    inc(c);
 end;
 closefile(f);
 caption:=inttostr(c);
end;
Подсчитает что слово в переменке е в файле:
Цитата:
слово это то слово
которое совсем как слово но не слово так
Появляется 4 раза.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с поиском Bestmachin БД в Delphi 9 12.06.2009 22:17
Помогите с поиском EugenZyr Помощь студентам 1 07.05.2008 14:02
Помогите с поиском 1234 БД в Delphi 5 01.04.2008 11:33
Помогите с поиском Egych PHP 1 09.08.2007 08:00