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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 22:47   #1
SVadiks
Пользователь
 
Регистрация: 21.10.2009
Сообщений: 20
Сообщение Работа с файлом

Ребят, помогите пожалуйста... как можно реализовать поиск введеного слова в edit, в тхт-файле. и занося всю найденную строчку в stringGrid.

Вот я сделал пока только что он полностью мне все из файла заносит в stringGrid.
Код:
var
  Form1: TForm1;
    f: text;
  s0,s1,s2,s3,s4: string;
  i: byte;
implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
assignfile(f,'1.txt');
  reset(f);
  i:=0;
  while not eof(f)do
  begin
  i:=i+1;
  readln(f,s0);
  s1:=copy(s0,1,pos(chr(9),s0)-1); delete(s0,1,pos(chr(9),s0));
  StringGrid1.Cells[1,i]:=s1;   \\Имя продукта
  s2:=copy(s0,1,pos(chr(9),s0)-1); delete(s0,1,pos(chr(9),s0));
  StringGrid1.Cells[2,i]:=s2;   \\Цена
  s3:=copy(s0,1,pos(chr(9),s0)-1); delete(s0,1,pos(chr(9),s0));
  StringGrid1.Cells[3,i]:=s3; \\Краткая анотация
  s4:=s0;
  StringGrid1.Cells[4,i]:=s4;\\Производитель
  StringGrid1.RowCount:=i+1;
  end;
  closefile(f);
 end;

procedure TForm1.Button1Click(Sender: TObject);
begin

end;
SVadiks вне форума Ответить с цитированием
Старый 07.12.2009, 23:19   #2
program123
Подтвердите свой е-майл
 
Регистрация: 12.02.2009
Сообщений: 144
По умолчанию

так?
Код:
 f:TStringList;
 i:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
     f:=TStringList.Create;
     f.LoadFromFile('g.txt');;
     for i:=1 to f.Count-1 do
     if f.Strings[i]=Edit1.Text
     then
     StringGrid1.Cells[]:='Найдено в '+IntToStr(i)+' строке: '+f.Strings[i];

end;
program123 вне форума Ответить с цитированием
Старый 07.12.2009, 23:28   #3
Alex_FF
Удален
Форумчанин
 
Регистрация: 02.12.2009
Сообщений: 309
По умолчанию

Можно, к примеру, так: создаешь кнопку, тыкаешь на нее два раза и пишешь код. Пусть Edit у тебя называется Edit1, а кнопка Button 1.

вот код кнопки:

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  S, tmp: String;
  F: TextFile;
  Flag: Boolean;
begin
  S := Edit1.Text; // теперь S = тексту из твоего Edit'а
  AssignFile(F, '1.txt');
  Reset(F);
  Flag := False;
  while not EOF(F) do
  begin
    ReadLn(F, tmp); 
    if Pos(S, tmp) <> 0 then // ищем подстроку из Edit'а
    begin
      Flag := True;
      // подстрока найдена. обработай ее и занеси, что нужно в StringGrid
    end;
  end;
  if not Flag then ShowMessage('Не найдено');
end;
Alex_FF вне форума Ответить с цитированием
Старый 08.12.2009, 17:46   #4
SVadiks
Пользователь
 
Регистрация: 21.10.2009
Сообщений: 20
По умолчанию

хм...СПАСИБО оба варианта неплохие....
SVadiks вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлом Cpluser Общие вопросы .NET 3 22.11.2009 22:45
Работа с файлом ! PPikaso Помощь студентам 3 29.10.2009 14:21
работа с файлом lg12 Помощь студентам 7 24.08.2009 08:33
Си++. работа с файлом milate Помощь студентам 0 08.06.2009 12:52
Работа с файлом в C Mishka Помощь студентам 2 22.07.2008 13:28