Q&A

  • 특정 파일의 위치 찾기
제목대로 지정한 파일의 풀패스 찾기에 대한 질문입니다.

하고자 하는 기능은 'abc.tmp'라는 파일이 주어졌을 때,
이 파일의 위치를 찾고자 함입니다.
하드디스크 전체를 찾게되면 찾는 시간이 소요되는데,
일단 속도 문제는 고려대상에서 제외합니다.
(한번 찾은 후에는 값을 갖고 있을 예정)

게시판의 내용을 찾아보면
ExtractFilePath, ExtractFileDir, GetFullPathName 등을 사용하라...
고 나와 있는데,

ExtractFilePath와  ExtractFileDir 는 파일명만 주어졌을 경우
올바른 결과를 도출하지 못하며,

GetFullPathName는 주어진 파일이 있는 경로가 나오지 않고,
델파이 프로그램의 경로가 나옵니다.

순수하게 파일명만 알고 있을 경우 그 파일명이 위치한 절대경로를 알고 싶습니다.
(정확히 표현하자면 특정프로그램이 설치되어 있는 절대경로를 찾고자 함입니다. 실행파일명을 갖고서 레지스트리에서 절대경로를 찾는다면 더 빠르겠죠?)

방법을 알려주세요~~~
1  COMMENTS
  • Profile
    Jung 2004.12.01 01:27
    다음과 같이 하니 원하는 결과가 나오네요~~

    혹시나 문제점이 있으면 알려주세요~~ ^^

    var
      Reg: TRegistry;
      KeyName : String;

    begin  
      KeyName := 'SOFTWARE\Microsoft\windows\currentversion\App Paths\Excel.exe';
        Reg := TRegistry.Create;
      try
        with Reg do
        begin
          RootKey := HKEY_LOCAL_MACHINE;
          //OpenKey(KeyName, False);
          OpenKeyReadOnly(KeyName);
          FExtDescription := ReadString('');

        end;
      finally
        showmessage(FExtDescription);
        Reg.Free;
      end;
    end;


    • 성더기
      2004.12.07 00:36
      QuickReport.preview다음에 Application.processmessage();를  써보세여.. QuickReport 버그? ...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.08 20:29
      같은 현상이 일어나는데요...
    • 김정현
    • 2004.12.02 19:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.02 19:52
      폼스타일이 fsStayonTop로 되어있나 보내요.... fsNormal로 바꿔보세요
    • 정찬희
      2004.12.02 00:16
      델마당의 양병규님이 쓰신 팁입니다... http://www.delmadang.com/cwb-bin/CrazyWWWBoard.exe?db=dmdlec3&...
    • 임우식
    • 2004.12.01 23:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 임우식
      2004.12.01 23:31
      Black}{ole 님이 팁게시판에다 "[팁] 인터넷으로부터 파일을 다운로드 하기 "란 제목으로 사용법 올려놓으...
    • 하수경
    • 2004.12.01 21:19
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 권태훈
      2004.12.01 22:35
      이런 문장에서 대부분 있는지 체크하고 없으면 만드는데 있는지 없는지 체크하는 문장이 더 길어지게 마...
    • 하수경
      2004.12.02 02:05
      procedure TfrmWork1.FormCreate(Sender: TObject); var        c_sql, s...
    • 손희석
      2004.12.02 05:11
      idqwork.ExcuteSQL;로 해주셔야 될거 같네요.. 그럼 ^^
    • 하수경
      2004.12.02 05:27
      idqwork1.ExcuteSQL; 에서 ExcuteSQL은 없는데요.. idqwork1.ExecSQL;을 해봐도 같은 에러가 나는데요.......
    • 성더기
      2004.12.07 00:39
      문자열 안의 ' 이넘은 ''으로 사용해야합니다 그니깐 'CLAS1 VARCHAR(20) default '','  이넘이...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.02 19:26
      보통은 Query를 사용할때요... With Query do begin    Close;    SQL.Clear; &...
    • 이승현
    • 2004.12.01 18:51
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이승현
      2004.12.02 00:58
      킁 문제점을 찾았는데..아 정말 허무하기도 하고 한편으론? 기분이 좋네요. 문제점은 Form2.ShowModal; ...
    • KDDG_Gnoses
      2004.12.30 20:55
      단순히 이미지나 글자, GDI 그래픽을 올리고 싶을땐 VMR 렌더러를 쓰시면 됩니다. dspack 예제에 VM...
    • 박상윤
      2004.12.04 20:09
      오버레이믹서를.. 사용하시면.. 올릴수 있습니다. 아니면.. 필터를 하나 만드심 될듯. 오버레이 믹서....
    • 한정우
    • 2004.12.01 04:06
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 권태훈
      2004.12.01 22:44
      디코딩 코덱이 깔면 프로그램처럼 맨 마지막에 설치한것으로 덮어씌워지거나 해서 최신버젼으로 동작한...
    • 이길환
    • 2004.12.01 03:00
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 한원희
      2004.12.01 05:45
      안녕하세요. 한원희입니다. SetBkMode로 TRANSPARENT로 지정하면, 배경색을 투명하게 글자를 출력할 수 ...
    • 이길환
      2004.12.01 12:01
      안녕하세요? 먼저 답변 감사드립니다. 하지만 Windows API 함수를 한번도 써 본적이 없는 저로서는 ...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.01 18:36
      Canvas의 핸들값을 주면 됩니다.... Canvas.Handle 하면 되구요.... 추가하지 않아도 되는 ...
    • 이길환
      2004.12.01 18:49
      답변 감사드립니다. 덕분에 해결됐고요. 참고로, 이 함수를 사용하는 유닛이 폼과 연결된 유닛이 아...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.01 18:38
      다른 방법이 있는지는 모르겠는데요.... 그리드를 출력하듯이  NeedData를 사용하면 될것...
    • Jung
    • 2004.12.01 00:13
    • 1 COMMENTS
    • /
    • 3 LIKES
    • Jung
      2004.12.01 01:27
      다음과 같이 하니 원하는 결과가 나오네요~~ 혹시나 문제점이 있으면 알려주세요~~ ^^ var  &...
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2004.12.01 00:34
      멀 하시려는지 정확히는 그림이 안보여서 모르겠지만, 대략 특정폼을 띄워서 DB의 내용을 수정하고 싶다는...
    • 이승현
      2004.12.01 00:50
      제가 설명을 잘못해놔서 이해하기 힘드셨죠. ^^죄송하구요 조언 감사합니다. 감기조심하시구 건강하세요...
    • 하수경
    • 2004.11.30 21:57
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정관
      2004.11.30 22:56
      달력 컴포넌트는 Win32밑에 DateTimePicker를 그대로 쓰심 될 것 같구요. 그리고 OnCloseUp이벤트에서...
    • 하얀까마귀
      2004.11.30 20:42
      안녕하세요 하얀까마귀 입니다. 음. 효율적인 방법이란게 거의 없을듯 한데. ㅠㅠ 콤포넌트의 프로퍼...
    • 진돌
    • 2004.11.30 19:44
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 하얀까마귀
      2004.11.30 20:52
      안녕하세요 하얀까마귀 입니다. 음... 코드가 좀 이상한거 같군요.. 절삭이랑 반올림은 밑에 답변있...
    • Crazy™
      2004.11.30 19:52
      절삭 : Trunc(x) 반올림 : Round(x)
    • 하얀까마귀
      2004.11.30 21:01
      안녕하세요 하얀까마귀 입니다. 다른건줄 알았는데. ㅎㅎ 전역 핫키를 지정하시면 되겠네요.. Glo...