1

Тема: Поможіть

є процедура але одна невеличка плоблема як її  використати

procedure TForm1.FileFinder(Path, maska: string; recur: boolean;
  sl: TStringList);
{
Path  - путь поиска
maska - маска поиска
recur - true  - искать и в подкаталогах
        false - искать только в указанной папке
sl    - список найденных файлов
}
var sr : TSearchRec;
begin
if (Path[Length(Path)]='\') then SetLength(Path,Length(Path)-1);
if FindFirst(Path+'\'+maska,faAnyFile,sr)=0
   then
      begin
         if (sr.Attr or faDirectory)=sr.Attr then
            begin
            if (recur=true) then
               begin
                  if (sr.name<>'.') and (sr.name<>'..') then
                  FileFinder(path+'\'+sr.Name,maska,recur,sl);
               end
            end
         else
         sl.Add(Path+'\'+sr.Name);
         while FindNext(sr) = 0 do
         if (sr.Attr or faDirectory)=sr.Attr then
            begin
            if (recur=true) then
               begin
                  if (sr.name<>'.') and (sr.name<>'..') then
                  FileFinder(path+'\'+sr.Name,maska,recur,sl);
               end
            end
         else
         sl.Add(Path+'\'+sr.Name);
      end;
   FindClose(sr);
end;

Я пробував так , але вибиває ошибку

procedure TForm1.Button1Click(Sender: TObject);
var
 q: TStringList;
begin
q[1] := 'file.txt';
FileFinder('D:\\','*',true,q);
end;

2

Re: Поможіть

Вродібиж  процедура неможеж виконувати вивод даних я наприклад фунція

3

Re: Поможіть

Використовуйте її відповідно до її специфікації і ваших потреб.
Ви нам не сказали нічого ані про перше, ані про друге, то як ми вам допоможемо?
А граматичні помилки - наслідок каші в голові. Якщо ви навіть українською пишете з помилками, як ви збираєтеся програми без помилок писати?

4

Re: Поможіть

Ваша програма падає на рядку

q[1] := 'file.txt';

(а може, і ще раніше, ви ж не весь код виклали), тобто заявлена проблема не має стосунку до цієї функції.
Щодо іншого - позбавляйтеся каші в голові, а то так і будете все життя, як ви висловилися, блять хернею страдати.
І так, наявність зірочок у непристойних словах не робить їх пристойними, а того, хто їх пише - розумним.

Подякували: DOP2

5

Re: Поможіть

Ось приклад використання цієї процедури:
http://rextester.com/QGQH55602.

6

Re: Поможіть

Як правильно підмітив пан Ярослав, q є об'єктом, який перед використанням потрібно створити. Ви цього не робите, і тому маєте помилку.

koala написав:

Ви нам не сказали нічого ані про перше, ані про друге, то як ми вам допоможемо?

У цьому випадку увесь необхідний код є. Принаймні в ньому чітко видно одну проблему.

oleh1818 написав:

Не знаєш як її використовувати то закрийся і соби в дудочку, я б*ять обратився на ваший форум за помощью а ви тут якоюсь х*рньой страдаєш

За таке вас варто було б забанити на тиждень, але на перший раз нехай буде.

7

Re: Поможіть

Torbins написав:
koala написав:

Ви нам не сказали нічого ані про перше, ані про друге, то як ми вам допоможемо?

У цьому випадку увесь необхідний код є. Принаймні в ньому чітко видно одну проблему.

З того, що в коді видно помилку, не випливає, що це саме та помилка, яку хоче виправити автор питання.
Зрештою, якщо на неконкретне питання у відповідь перераховувати всі проблеми коду, то відповідь часто займатиме більше, ніж код. Хай сформулює, що саме він намагається зробити - можливо, це можна значно легше зробити без цього краденого коду.

8

Re: Поможіть

Цей код не крадений ,він чесно позичений,а то що я хочу робити на даному форумі я не збираюся обсуждати

9

Re: Поможіть

oleh1818 написав:

Цей код не крадений ,він чесно позичений,а то що я хочу робити на даному форумі я не збираюся обсуждати

То ДЗ чи нi ?
Як нi то нащо вам той Паскаль здався ?

10

Re: Поможіть

oleh1818
Так ви уже розібралися з об'єктами? Якщо ні, то отут почитайте: http://delphikingdom.com/asp/viewitem.a … logid=1186 (рос.)

Подякували: leofun011