نمایش نتایج 1 تا 2 از 2

نام تاپیک: بدست آوردن لیستی از فایلهای زیر شاخه بدون استفاده از TSearchRec؟

  1. #1
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    962

    بدست آوردن لیستی از فایلهای زیر شاخه بدون استفاده از TSearchRec؟

    سلام
    من یک کد دارم که با اون نوعی از فایل (با پسوند t ) رو در یک آرایه میریزم.
    متاسفانه ویروس یاب بارها به این کد گیر داده و فایل اجرایی رو خودکار حذف کرده.(جالبه معمولا گیر نمیده)
    زیاد تعجب نکنید حتی دیدم به اسم متغیر هم گیر داده اسم متغیر رو عوض کردم برنامه اجرا شده.

    var
    Files:Array[1..32000] of String;
    FilesNo:Word=0;
    Procedure GetFiles(const sRootDir:string);
    procedure Get_T_Files(const sRootDir:string);
    var
    srSearch: TSearchRec;
    sSearchPath: string;
    sltSub: TStrings;
    i: Integer;
    begin
    sltSub := TStringList.Create;
    try
    sSearchPath := IncludeTrailingBackslash(sRootDir);
    if FindFirst(sSearchPath + '*', faDirectory, srSearch) = 0 then
    repeat
    if (srSearch.Name <> '.') and
    (srSearch.Name <> '..') then
    begin
    if ((srSearch.Attr and faDirectory) =0)
    and (LowerCase(ExtractFileExt(srSearch.Name))='.t') then
    Begin
    Inc(FilesNo);
    Files[FilesNo]:=sSearchPath + srSearch.Name;
    End;
    sltSub.Add(sSearchPath + srSearch.Name);
    end;
    until (FindNext(srSearch) <> 0);


    FindClose(srSearch);


    for i := 0 to sltSub.Count - 1 do
    Get_T_Files(sltSub.Strings[i]);
    finally
    FreeAndNil(sltSub);
    end;
    end;
    Begin
    FilesNo:=0;
    Get_T_Files(sRootDir);
    End;



    Files,FilesNo متغیر عمومی هستند چون در قسمتهای مختلف برنامه ازشون استفاده می کنم.
    من فکر می کنم چون از TSearchRec استفاده می کنم یا میخوامک خصوصیات فایل رو بخونم ویروس فرض می کنه.
    کسی کدی دیگه ای سراغ نداره که فایلهای با پسوند خاص رو در زیر شاخه ها بتونم لیست بگیرم.
    من فقط کد بالا رو تو اینترنت پیدا می کنم(و معمولا زیر شاخه رو هم نمیگرده)

  2. #2
    کاربر دائمی آواتار mbshareat
    تاریخ عضویت
    آبان 1387
    محل زندگی
    شهر مقدس قم-چهارمردان-کوچه 37
    پست
    962

    نقل قول: بدست آوردن لیستی از فایلهای زیر شاخه بدون استفاده از TSearchRec؟

    هنوز کد سر راست میخوام اما اگر کدی نبود... این کد رو نوشتم که از لیست دایرکتوری و فایل استفاه می کنه.امیدوارم همه فایلها رو لیست کنه. لطفا بزرگان یه نگاه بندازند ببنند عیب نداره؟
    var
    Files:Array[1..32000] of String;
    FilesNo:Word=0;
    ...
    Procedure TForm1.GetFiles2(const RootDir:string);
    procedure Get_T_Files(const TheDir:string);
    var
    SubDirSt: TStrings;
    i: Integer;
    begin
    SubDirSt := TStringList.Create;
    try
    DirectoryListBox1.Directory := TheDir;
    FileListBox1.Directory := TheDir;
    For I:=0 to FileListBox1.Count-1 Do
    Begin
    Inc(FilesNo);
    Files[FilesNo]:=IncludeTrailingBackslash(TheDir)+ FileListBox1.Items[I];
    End;
    If DirectoryListBox1.Count>(DirectoryListBox1.ItemInd ex+1) then
    Begin
    For I:= DirectoryListBox1.ItemIndex+1 To DirectoryListBox1.Count-1 Do
    SubDirSt.add(IncludeTrailingBackslash(TheDir)+Dire ctoryListBox1.Items[I]);
    for i := 0 to SubDirSt.Count - 1 do
    Get_T_Files(SubDirSt.Strings[i]);
    End;
    finally
    FreeAndNil(SubDirSt);
    end;
    end;
    Begin
    FilesNo:=0;
    FileListBox1.Mask:='*.t';
    Get_T_Files(RootDir);
    End;



تاپیک های مشابه

  1. درست کردن اسلایدر با لیستی زیاد
    نوشته شده توسط mehrdad85 در بخش Android Studio
    پاسخ: 1
    آخرین پست: یک شنبه 04 شهریور 1397, 07:55 صبح
  2. سوال: بازیابی لیستی از عکسهای باینری از دیتابیس به سی شارپ(با LINQ)
    نوشته شده توسط ashkan1234 در بخش C#‎‎
    پاسخ: 5
    آخرین پست: سه شنبه 19 فروردین 1393, 10:41 صبح
  3. ساخت لیستی از متن های برگزیده در اندروید
    نوشته شده توسط android69 در بخش Android Studio
    پاسخ: 2
    آخرین پست: سه شنبه 15 بهمن 1392, 03:16 صبح
  4. پاسخ: 0
    آخرین پست: چهارشنبه 30 مرداد 1392, 12:32 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •