Q&A

  • 델파이 관해서 질문 좀 올립니다..
델파이 관해서 질문 좀 올립니다..

예를 들면 소프트웨어 및 게임등을 설치하면 레지스트리에 설치 경로에 관한 레지스트리가 입력이 되잖아요..

그래서 버튼을 누르면 제가 구현 하고싶은 것을 경로를 레지스트리로 경로를 찾아 해당경로를 익스플로러를 이용하여 가상드라이브 열고 싶습니다..

방법의 예문좀 부탁 드립니다..

현재는 아래와 같이 사용을 하고 있습니다..
-------------------------------------------------------------------------------

procedure TForm1.sBitBtn1Click(Sender: TObject);
begin
  addDevice('Z:', 'C:\Documents and Settings\Owner\My Documents\SuddenAttack');
  WinExec('explorer.exe "Z:"', SW_SHOW);
end;

procedure TForm1.sBitBtn2Click(Sender: TObject);
begin
  addDevice('Z:', 'D:\Program Files\PlayNC\AION_KOR\ScreenShot');
  WinExec('explorer.exe "Z:"', SW_SHOW)

-------------------------------------------------------------------------------

예를 들면 레지스트 경로가 아래와 같다면....
델파이 소스로 예를 들면 어떻게 해야하나요??
------------------------------------------------------------------------------
[HKEY_CURRENT_USER\Software\Blizzard Entertainment\Diablo II]
"InstallPath"="D:\\Program Files\\diablo II"
------------------------------------------------------------------------------
procedure TForm1.sBitBtn1Click(Sender: TObject);
begin

//레지스트리로 읽어와 관련된 경로 폴더열기

end;

그리고 내문서 경로를 열려면 컴퓨터 사용자 이름 들어가게 되는데~
C:\Documents and Settings\Owner\My Documents\SuddenAttack
C:\Documents and Settings\에이스\My Documents\SuddenAttack
C:\Documents and Settings\플러스\My Documents\SuddenAttack
여러개의 컴퓨터가 사용자 이름이 다르다면 개별 이름마다 만들면 불편한데...다른 방법이 없을가요??

답변좀 부탁 드립니다...
1  COMMENTS
  • Profile
    소울해커 2010.01.04 00:35
    <!--CodeS-->
    var
    pUserName: array[0..80] of Char;
    wLength: LongWord;
    begin
    wLength := SizeOf(pUserName);
    GetUserName(pUserName, wLength);
    Application.MessageBox(pUserName, '이름은?', MB_OK);
    end;
    <!--CodeE-->

    이런식으로 사용자 이름을 가져와서 경로 중간에 붙여주시면 됩니다.


    레지스트리 키값 찾는건
    <!--CodeS-->
    var
    AReg: TRegistry;
    sValue: String;
    begin
    AReg := TRegistry.Create;
    try
    with AReg do
    begin
    RootKey := HKEY_CURRENT_USER;
    if OpenKey('Software\Blizzard Entertainment\Diablo II', False) then
    begin
    sValue := ReadString( 'InstallPath' );
    Application.MessageBox(PChar( sValue ), '찾았나?' , MB_OK);
    end;
    CloseKey;
    end;
    finally
    if Assigned( AReg ) then FreeAndNil( AReg );
    end;
    end;
    <!--CodeE-->

    이런 형태로 찾으시면 되겠구요.

    수고하세요.
    • 후초보
    • 2010.01.07 01:06
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김준형
      2010.06.12 00:31
      아마 한글설정하는 부분에서 Microsoft IME 2007이상으로 설정되어 있는것 같은데.. 제어판->국가 및...
    • 매중원
    • 2010.01.06 22:30
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.01.06 23:02
      코드를 이해하시고 짜신것은 아닌듯하군요... 아래 부분이 잘못
    • 한윤식
    • 2010.01.06 22:23
    • 1 COMMENTS
    • /
    • 0 LIKES
    • phono
      2010.01.07 01:35
      폰트 크기 줄이지 않는 이상 안됩니다. 퀵레포트의 비애죠 ㅠ.ㅠ
    • 최용일
      2010.01.06 23:10
      이런경우는 OnMouseDown이나 OnMouseUp에서 처리하시면 됩니다. 이벤트의 파라매터중에서 Button을 보시...
    • 이종원
      2010.01.06 23:45
      답변 감사드립니다. ^^ 확인해보겠습니다 ^^
    • 스바쉬
    • 2010.01.06 20:55
    • 1 COMMENTS
    • /
    • 0 LIKES
    • phono
      2010.01.07 01:37
      BDE 쓰시나요 ADO 쓰시나요? 아 하긴 델4면 BDE 일거 같은데.., 아주 간단 INSERT 쿼리부터 테스트...
    • 희아빠
    • 2010.01.06 19:19
    • 0 COMMENTS
    • /
    • 0 LIKES
    • HyunjSohn
    • 2010.01.06 10:05
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.01.06 23:17
      자료실에 있는 델6지원하는 2.75버전을 설치해보세요.
    • HyunjSohn
      2010.01.08 08:36
      감사합니다만, 제가 보안때문에 외부파일을 가지고 들어가지 못하는 상황인데 지금 가지고 있는 RxLib를 ...
    • 최용일
      2010.01.08 08:47
      require절에있는 것들 다 지우고 다시 컴파일해보세요. 아마도 필요한 패키지 추가할 것인가 물어볼것입...
    • HyunjSohn
      2010.01.12 07:36
      감사합니다^^ path 추가로 해결이 됐습니다.
    • 이규하
      2010.01.27 18:05
      http://jvcl.delphi-jedi.org/ 에 최신의 Rxlib 를 계승한 Jedi Visual Component Library 가 있습니...
    • phono
      2010.01.07 02:10
      batch 처리 statement가 있다고는 얼핏 들은거 같은데.., 200만건 이면은 후덜덜한 양이네요.. ^^
    • phono
      2010.01.08 19:14
      "현재는 sqlldr 로더를 이용해서 10분미만으로 작업을 끝내고 있다고 합니다만, 이것이 로더를 사용...
    • 구창민
      2010.01.08 19:49
      아.. 네 그런 조치는 이미 해두었다고 하네요.. 현재는 그냥 로더를 이용해 처리한답니다...그시간...
    • phono
      2010.01.08 22:38
      이렇게 해도 될런지 모르겠지만.. 저같은 경우 인서트 껀수가 많은거 같은 경우 가끔 트랜젝션 ...
    • 이강석
    • 2010.01.06 01:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이강석
      2010.01.06 01:55
      <!--CodeS--> procedure TfMain.VMRTextOut(AText: string); var VMRBitmap: TVMRBit...
    • 이강석
      2010.01.06 02:29
      쩌업...TVideoWindow 프로퍼티 Mode를 vmVMR로 주니까 나오네요?? ^^
    • 이용벽
    • 2010.01.04 19:35
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 아이에스
      2010.01.04 19:46
      Memo1.Lines[0] + Memo1.Lines[1];
    • 이용벽
      2010.01.04 20:14
      2개만이 아니라 연속으로 출력하려고 하는데요
    • 오름
      2010.01.04 20:45
      Memo1.Lines.Add('A'); Memo1.Lines.Add('B'); Memo1.Lines.Delimiter:=chr(28); ShowMEssage(Memo1.L...
    • 이용벽
      2010.01.04 22:52
      콤파일 시 이런 메시지가 나옵니다. 제가 뭔가 사용을 잘못한것인지... Undeclared identifier: 'Delimi...
    • 장성호
      2010.01.04 22:59
      다음과 같이 하면 line을 바꾸지 않고 계속 Memo에 추가됩니다. Memo1.Text:=Memo1.Text+'A';...
    • 이용벽
      2010.01.05 00:05
      감사합니다. 그런 방법이 있었군요. 한가지 더. 정지시킬 때까지 무한 루프일 경우는 어떻게 될까요. M...
    • 소울해커
      2010.01.05 08:12
      변수 하나 두시고 취소 버튼만드셔서 컨트롤하셔요. 루프중에 프로그램이 응답없음이 되지 않도록 ...
    • • • •
    • 최용일
      2010.01.04 23:19
      TList로 바꾸시는것이 좋을듯하네요. 안의 데이터가 WIN32_FIND_DATA라고 생각하시고 포팅하시면 될것같...
    • 소울해커
      2010.01.05 08:15
      답변 감사합니다. 헌데... 개발 방향이 수정되어서 고심한 의미가 사라질거 같습니다. ㅠ_ㅠ;
    • 김수현
    • 2010.01.02 06:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 소울해커
      2010.01.04 00:35
      <!--CodeS--> var pUserName: array[0..80] of Char; wLength: LongWord; begin wLengt...
    • 신동열
    • 2010.01.01 03:48
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 권익수
      2010.01.02 04:38
      Connections 메뉴의 Show Host Name 옵션이 체크되어있지않나 확인해보세요. Show Host Name 옵션이 체...
    • 최용일
      2009.12.31 12:37
      pipe
    • 이용벽
    • 2009.12.31 02:42
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2009.12.31 12:45
      최대 count만큼 RS232C를 통해서 데이터를 읽고, 데이터중 화면상에 뿌릴 수 없는 아스키코드는 16진수로...
    • 이용벽
      2009.12.31 19:44
      질문 하나 더. 잘 동작하던 프로그램이 가끔 이상 동작을 해서 고생하고 있습니다. 위 문장을 보시면 ...
    • 박선우
    • 2009.12.30 20:40
    • 0 COMMENTS
    • /
    • 0 LIKES