View Full Version : جستجو در فایل های تکست Txt
  
1072300
دوشنبه 21 تیر 1389, 22:46 عصر
با سلام به همه دوستان و اساتید محترم 
تعداد نا مشخصی فایل تکست در پوشه ای به نام report قرار دارد که هر روز تعداد زیادی از این فایل به آن اضافه می شود می خواهم با زبان دلفی برنامه ای بنویسم که در متن این فایل ها کلمه مورد نظر را که در Edit وارد شده است را جستجو کند و نتیجه را در یک Memo  نشان دهد آیا کسی می تواند راهنمایی ام کند در صورت امکان با سورس راهنمایی بفرمایید.
متشکرم.:گیج::عصبانی++:
Felony
دوشنبه 21 تیر 1389, 23:12 عصر
یک نمونه کد براتون نوشتم :
var
  FilePath: String;
  Search: TSearchRec;
  StrList: TStringList;
begin
  FilePath:= 'D:\';
  StrList:= TStringList.Create;
  if FindFirst(FilePath+ '\*.txt', faNormal, Search)= 0 then
    try
      repeat
        StrList.Clear;
        StrList.LoadFromFile(FilePath+ Search.Name);
        if StrList.IndexOf('Sample text for search') >=0 then
          Memo1.Lines.Add(Search.Name);
      until (FindNext(Search)<> 0);
      finally
        StrList.Free;
      end;
end;
1072300
سه شنبه 22 تیر 1389, 22:06 عصر
متشکرم از پاسخ شما 
اما این برنامه اجرا نمی شود و از خط 8 خطای زیر را می گیرد یک سوال دیگر هم داشتم آیا می شود  exe برنامه را در کنار پوشه report قرار دهم که برنامه بدون آدرس دهی اجرا شود 
متشکرم از راهنمایی شما 
اما خطا 
'Error] Unit1.pas(37): Undeclared identifier: 'faNormal]
 
:گیج::خجالت::خجالت:
Felony
سه شنبه 22 تیر 1389, 22:58 عصر
متشکرم از پاسخ شما 
اما این برنامه اجرا نمی شود و از خط 8 خطای زیر را می گیرد یک سوال دیگر هم داشتم آیا می شود  exe برنامه را در کنار پوشه report قرار دهم که برنامه بدون آدرس دهی اجرا شود 
متشکرم از راهنمایی شما 
اما خطا 
'Error] Unit1.pas(37): Undeclared identifier: 'faNormal]
 
:گیج::خجالت::خجالت:
برای رفع خطا SysUtils رو به uses اضافه کنید ، برای اینکه exe رو کنار پوشه بزارید هم کد رو به صورت زیر تغییر بدید :
var
  FilePath: String;
  Search: TSearchRec;
  StrList: TStringList;
begin
  FilePath:= ExtractFilePath(Application.ExeName)+ 'Report\';
  StrList:= TStringList.Create;
  if FindFirst(FilePath+ '*.txt', faNormal, Search)= 0 then
    try
      repeat
        StrList.Clear;
        StrList.LoadFromFile(FilePath+ Search.Name);
        if StrList.IndexOf('Sample text for search') >=0 then
          Memo1.Lines.Add(Search.Name);
      until (FindNext(Search)<> 0);
      finally
        StrList.Free;
      end;
end;
hassan p.b
جمعه 05 آذر 1389, 21:01 عصر
http://www.barnamenevis.org/forum/showthread.php?t=252634&highlight=%D9%81%D8%A7%DB%8C%D9%84+txt+%D8%AF%D9%8 4%D9%81%DB%8C&page=2
mojtabaee
یک شنبه 03 بهمن 1389, 06:06 صبح
سلام - نمیشه عزیز جان:لبخند:
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.