Q&A

  • 파일 찾기..
어느 디렉토리안에서 파일을 찾는것이 아니라.



드라이브에 내가 원하는 파일을 모조리 찾아내고 싶은데..



FINDFIRST 라는 함수가 있는데.. 이것은 디렉토리안에 있는것만이네여..



드라이브 전체에서 찾으려면..



드라이브에 있는 모든 디렉토리 알아네서.. 저기 FINDFIRST로 찾아야 하는건가요??

(이건뭐지??)



하드에 있는거 찾고 싶은데..





1  COMMENTS
  • Profile
    김영대 1999.11.12 19:31
    황현동 wrote:

    > 어느 디렉토리안에서 파일을 찾는것이 아니라.

    > 드라이브에 내가 원하는 파일을 모조리 찾아내고 싶은데..

    > FINDFIRST 라는 함수가 있는데.. 이것은 디렉토리안에 있는것만이네여..

    > 드라이브 전체에서 찾으려면..

    > 드라이브에 있는 모든 디렉토리 알아네서.. 저기 FINDFIRST로 찾아야 하는건가요??

    > (이건뭐지??)

    > 하드에 있는거 찾고 싶은데..



    unit Unit1;



    interface



    uses

    Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    StdCtrls;



    type

    TForm1 = class(TForm)

    ListBox1: TListBox;

    Button1: TButton;

    Button2: TButton;

    Edit1: TEdit;

    Label1: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    private

    { Private declarations }

    FScanAborted: Boolean;

    public

    { Public declarations }

    function ScanDrive(root, filemask: String; hitlist: TStrings): Boolean;

    end;



    var

    Form1: TForm1;



    implementation

    {$R *.DFM}



    function TForm1.ScanDrive(root, filemask: String; hitlist: TStrings): Boolean;

    function ScanDirectory(var path: String): Boolean;

    var

    SRec: TSearchRec;

    pathlen: Integer;

    res: Integer;

    begin

    Label1.caption := path;

    pathlen:= Length(path);



    res := FindFirst(path+filemask, faAnyfile, SRec);

    if res = 0 then

    try

    while res = 0 do

    begin

    hitlist.Add(path + SRec.Name);

    res := FindNext(SRec);

    end;

    finally

    FindClose(SRec)

    end;

    Application.ProcessMessages;

    Result := not (FScanAborted or Application.Terminated);

    if not Result then Exit;



    res := FindFirst(path+'*.*', faDirectory, SRec);

    if res = 0 then

    try

    while (res = 0) and Result do

    begin

    if ((Srec.Attr and faDirectory) = faDirectory) and

    (Srec.name <> '.') and

    (Srec.name <> '..') then

    begin

    path := path + SRec.name + '';

    Result := ScanDirectory(path);

    SetLength(path, pathlen);

    end;

    res := FindNext(SRec);

    end;

    finally

    FindClose(SRec)

    end;

    end;

    begin

    FScanAborted := False;

    Screen.Cursor := crHourglass;

    try

    Result := ScanDirectory(root);

    finally

    Screen.Cursor := crDefault

    end;

    end;



    procedure TForm1.Button1Click(Sender: TObject);

    var

    ch: Char;

    root: String;

    begin

    root := 'C:';

    for ch := 'A' to 'Z' do

    begin

    root[1] := ch;

    case GetDriveType(Pchar(root)) Of

    DRIVE_FIXED, DRIVE_REMOTE:

    if not ScanDrive(root, edit1.text, listbox1.items) then

    Break;

    end;

    end;

    end;



    procedure TForm1.Button2Click(Sender: TObject);

    begin

    fScanAborted := True;

    end;



    end.





    • 김영대
      1999.11.12 19:16
      mobydick wrote: > 에디터마스크를 쓰지않고 숫자만 입력받을려고 하는데 방법을 모르겠습니다. > 문자가...
    • 오현수
      1999.11.12 09:42
      나도질문 wrote: > 우선 이 질문을 보시는분께 감사드립니다. > > 델파이를 공부한지 얼마않되서그런데...
    • 나도질문
      1999.11.12 21:26
      오현수 wrote: > 나도질문 wrote: > > 우선 이 질문을 보시는분께 감사드립니다. > > > > 델파이를 공...
    • 오현수
      1999.11.15 00:28
      [나도 질문]님 보세요. 원리는 다음과 같습니다. TTreeView의 노드정보는 TreeNode에 들어...
    • 황현동
    • 1999.11.12 08:50
    • 1 COMMENTS
    • /
    • 1 LIKES
    • 김영대
      1999.11.12 19:31
      황현동 wrote: > 어느 디렉토리안에서 파일을 찾는것이 아니라. > 드라이브에 내가 원하는 파일을 모조리...
    • 김수진
    • 1999.11.12 03:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.11.12 05:18
      김수진 wrote: > 데이타 베이스는 Paradox이고요 델파이는 5.0이고요... > Midas수정하거나 저장하면 한...
    • 초보자
    • 1999.11.12 03:08
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 이재식
      1999.11.12 06:00
      초보자 wrote: > 안녕하세요. > 델파이 초보자입니다. > 죄송합니다만 DBcombobox에 대해서 물어보고 싶...
    • 임형호
      1999.11.12 23:32
      이재식 wrote: > 초보자 wrote: > > 안녕하세요. > > 델파이 초보자입니다. > > 죄송합니다만 DBcombob...
    • 이재식
      1999.11.13 20:33
      임형호님께서 말씀하신것이 맞습니다. 저의 경우는 그 필드가 주키 내지 유일성 속성이 있으면 되는데, ...
    • 권경부
      1999.11.12 04:52
      안녕하세요.. TDBLookupCombobox를 써보세요.... 쩝... 초보자 wrote: > 안녕하세요. > 델파이 초보...
    • 임형호
    • 1999.11.12 02:41
    • 2 COMMENTS
    • /
    • 0 LIKES
    • BisBuck
      1999.11.12 07:05
      임형호 wrote: > 제가 프로그램을 작성하다보니 가끔은 중간에 다른 버튼이벤트를 실행해야할 필요성이 있...
    • 김종호
      1999.11.12 03:41
      임형호 wrote: > 제가 프로그램을 작성하다보니 가끔은 중간에 다른 버튼이벤트를 실행해야할 필요성이 있...
    • 조복기
    • 1999.11.12 02:20
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.12 08:06
      StetchBlt 함수를 참고하세요. ^^ 물론 복기님 실력이면 이 말만 해주면 돼죠? ^^ 조복기 wrote: > ...
    • 이영선
    • 1999.11.12 01:27
    • 4 COMMENTS
    • /
    • 0 LIKES
    • bluechip
      1999.11.14 06:03
      말씀하신 내용은 MIDAS만 해당하는 것은 아닙니다 델파이로 데이타 베이스 프로그램을 작성할때 Session ...
    • bluechip
      1999.11.14 06:02
      말씀하신 내용은 MIDAS만 해당하는 것은 아닙니다 델파이로 데이타 베이스 프로그램을 작성할때 Session ...
    • bluechip
      1999.11.14 06:02
      말씀하신 내용은 MIDAS만 해당하는 것은 아닙니다 델파이로 데이타 베이스 프로그램을 작성할때 Session ...
    • bluechip
      1999.11.14 06:02
      말씀하신 내용은 MIDAS만 해당하는 것은 아닙니다 델파이로 데이타 베이스 프로그램을 작성할때 Session ...
    • 뽀또
    • 1999.11.11 23:50
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 안명호
    • 1999.11.11 23:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 배불뚝
      1999.11.30 19:44
      query 결과를 dbgrid같은 data control component 에 출력하려면 중간에 datasource가 필요한 것은 아시지...
    • 박성훈
    • 1999.11.11 23:10
    • 1 COMMENTS
    • /
    • 0 LIKES
    • TeamX
      1999.11.12 00:02
      제가 잘은 모르지만.... 에러의 이유는 OOP(Object Oriented Programming)과 관련이 있습니다. 에러...
    • 세리
    • 1999.11.11 22:41
    • 1 COMMENTS
    • /
    • 0 LIKES
    • TeamX
      1999.11.11 23:50
      글쎄요.... 델파이데모버전에서는 그러는걸 봤는데(일부러 IDE가 더있어야 사용가능하게 해놓았죠) ...
    • 이영근
    • 1999.11.11 22:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      1999.11.12 08:08
      SDK (Source Developement Kit) 입니다. 만약 DLL로 콘트롤을 할수 있으면 아마도 *.h 등으로 헤더파일이 ...
    • 델초
    • 1999.11.11 21:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      1999.11.11 22:06
      델초 wrote: > program을 다 만들고 나서 인스톨쉴드란게 있다기에 찾아보니 저한테는 설치가 안되었거든...
    • 김준호
    • 1999.11.11 21:24
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박성훈
      1999.11.11 23:15
      김준호 wrote: > 테이블을 정렬하려고 하는데 잘 되지 안아요.. > 이름이나 번호로 정렬하는것 좀 가르쳐...