Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
탐색기에서 선택된 파일목록을 델프로그램에서 얻기
안녕하세요?
여기는 참 많은 량의 고급정보가 있네요.
델을 이제 마악 배우는 사람입니다.
탐색기에서 선택된 파일목록을 델파이 프로그램에서 얻고자 합니다.
여기저기 뒤져 보았는데 못 찾았어요.
델 전문가들의 도움을 구합니다.
제발 도와 주~~~~~세요. (한잔 살께요)
1
COMMENTS
김영대
•
1999.07.30 05:13
나기향 께서 말씀하시기를...
> 안녕하세요?
> 여기는 참 많은 량의 고급정보가 있네요.
> 델을 이제 마악 배우는 사람입니다.
>
> 탐색기에서 선택된 파일목록을 델파이 프로그램에서 얻고자 합니다.
> 여기저기 뒤져 보았는데 못 찾았어요.
>
> 델 전문가들의 도움을 구합니다.
> 제발 도와 주~~~~~세요. (한잔 살께요)
>
술~ 언제 사실건데요?
// 실행은 Button1을 클릭하여 원도우즈 탐색기를 실행시킨 후
// 탐색기의 파일 몇개를 drag하여 이 폼위에 drop 하면 됩니다
// 참고 사이트:
// WM_DROPFILES 메시지 방식이 아닌 OLE drag&drop 으로 구현한 예제가 있는곳
// ftp://www.melander.dk/anme/delphi/DragDropDemo.zip
// http://godard.oec.uni-osnabrueck.de/student_home/dsteinwe/delphi/DietersDelphiSite.htm
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
// handles the WM_DROPFILES message
procedure WMDropFiles(var msg : TMessage); message WM_DROPFILES;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// WM_DROPFILES 메시지를 처리하는 handler
procedure TForm1.WMDropFiles(var msg: TMessage);
var
i, NumFiles, NameLength: integer;
hDrop: THandle; {Handle for Msg.wParam}
TempFile: array[0..MAX_PATH] of Char;
begin
Memo1.Lines.Clear;
try
{1. drop handle 을 얻는다}
hDrop := msg.WParam;
{2. 얼마나 많은 파일들이 드롭되었는지 검사}
NumFiles := DragQueryFile(hDrop, $FFFFFFFF, nil, 0);
{3. Loop}
for i := 0 to (NumFiles - 1) do
begin
{4. drop된 파일명의 길이는 구한다}
NameLength := DragQueryFile(hDrop, i, nil, 0);
{6. drop된 파일명을 구한다}
DragQueryFile(hDrop, i, TempFile, NameLength+1);
Memo1.Lines.Add(StrPas(TempFile));
end;
finally
DragFinish(hDrop);
end;
{7. Return zero.}
msg.Result := 0;
inherited;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
// Drop Files 가능하게 setting
DragAcceptFiles(Form1.Handle, True);
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
// Drop Files 기능 무효화
DragAcceptFiles(Form1.Handle, False);
CanClose := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
RunCommand: array[0..MAX_PATH] of Char;
begin
// 원도우즈 탐색기를 구동한다
GetWindowsDirectory(RunCommand, MAX_PATH);
StrCat(RunCommand, PChar('EXPLORER.EXE /n,/e'));
WinExec(RunCommand, SW_SHOWNORMAL);
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
바보
1999.07.30 23:26
0
COMMENTS
/
0
LIKES
DBGrid에서 멀티선택시 문제점에 대해...
리디아
•
1999.07.30 23:20
1
COMMENTS
/
0
LIKES
폼을 맨뒤로 위치하는 방법은?
김영대
•
1999.07.31 03:14
리디아 께서 말씀하시기를... > 하나의 폼(어플) A를 만들었습니다. > 그 폼에서 다른 프로그램 B를 실행...
이무순
•
1999.07.30 23:19
1
COMMENTS
/
0
LIKES
티스켓저장
구창민
•
1999.07.31 00:32
이무순 께서 말씀하시기를... > 텍스트 파일을 읽어서 값들을 디스켓에 저장하는 방식에 관해서 소스코드 ...
문승진
•
1999.07.30 23:11
2
COMMENTS
/
0
LIKES
TImage를 사용해서 불이 들어오는 버튼 만들기
구창민
•
1999.07.31 01:10
문승진 께서 말씀하시기를... > 제목과 같이 하려고 TImage에서 상속받아 콤포넌트를 하나 만들었습니다. ...
문승진
•
1999.07.31 18:45
구창민님 고맙습니다. 잘 되네요. 그런데 CM_... 메시지들은 도움말 Index에 나타나지를 않네요. ...
김대환
1999.07.30 22:06
0
COMMENTS
/
0
LIKES
TImage를 이용해서 화면에 그림을 그릴때...
김명호
•
1999.07.30 21:54
3
COMMENTS
/
0
LIKES
directory에서 화일 copy하기
구창민
•
1999.07.31 00:26
김명호 께서 말씀하시기를... > 임의의 directory에서 abc***.doc 화일 copy하기 > directory에서 abc로 ...
김명호
•
1999.07.31 01:08
구창민 께서 말씀하시기를... > 김명호 께서 말씀하시기를... > > 임의의 directory에서 abc***.doc 화일...
구창민
•
1999.07.31 01:21
김명호 께서 말씀하시기를... > 구창민 께서 말씀하시기를... > > 김명호 께서 말씀하시기를... > > > ...
이용일
1999.07.30 21:32
0
COMMENTS
/
0
LIKES
델파이를 시작시키면...컴포넌트 팔레트에..
한근수
1999.07.30 21:10
0
COMMENTS
/
0
LIKES
Invalid field type 에러
문보석
1999.07.30 20:54
0
COMMENTS
/
0
LIKES
CheckListBox에 대해서...
델초보
•
1999.07.30 20:20
1
COMMENTS
/
0
LIKES
메인폼이전에 로그인폼출력 어떻게 ?
구창민
•
1999.07.31 00:16
델초보 께서 말씀하시기를... > 안녕하세요. > 메일같이 질문만 하는군요. 저두 언젠가 답변하는 날이 오...
뻐꾸기
1999.07.30 19:13
0
COMMENTS
/
0
LIKES
select 되어온 값 update
이정석
•
1999.07.30 17:29
1
COMMENTS
/
0
LIKES
MIDAS, DCOM연결 문제...
정근수
•
1999.07.31 17:17
이정석 께서 말씀하시기를... > 3 Tier 개발을 하려고 합니다. > 환경 : NT 4.0 서버(서비스팩 3) > ...
장경석
1999.07.30 17:17
0
COMMENTS
/
0
LIKES
MS ACCESS 데이타 베이스
이용일
•
1999.07.30 08:38
3
COMMENTS
/
0
LIKES
서브디렉토리와 파일을 찾는 루틴에서 디렉토리가 잡히지 않는군요
유시니
•
1999.07.30 11:43
이용일 께서 말씀하시기를... > 'C:'에 있는 서브와 파일을 검색해서 리스트에 출력하는 루틴이 있습니다....
이용일
•
1999.07.30 21:21
유시니 께서 말씀하시기를... > 이렇게 해보세요. > ------------------------------------------- > pr...
유시니
•
1999.08.06 11:56
이용일 께서 말씀하시기를... > 유시니 께서 말씀하시기를... > > 이렇게 해보세요. > > --------------...
이주흥
•
1999.07.30 06:56
1
COMMENTS
/
0
LIKES
퀴리 여러줄 쓰기가...
한
•
1999.07.30 08:43
문법이 틀렸군요...이렇게... 괄호는 처음과 끝에만 넣습니다. 몇줄이 되더라도... > with query1 d...
박홍석
1999.07.30 06:27
0
COMMENTS
/
0
LIKES
ComboBox에서 이벤트
나기향
•
1999.07.30 04:11
1
COMMENTS
/
0
LIKES
탐색기에서 선택된 파일목록을 델프로그램에서 얻기
안녕하세요? 여기는 참 많은 량의 고급정보가 있네요. 델을 이제 마악 배우는 사람입니다. 탐색기에서 선택된 파일목록을 델파이 프로그램에서 얻고자 합니다. 여기저기 뒤져 보았는데 못 찾았어요. 델 전문가들의 도움을 구합니다. 제발 ...
김영대
•
1999.07.30 05:13
나기향 께서 말씀하시기를... > 안녕하세요? > 여기는 참 많은 량의 고급정보가 있네요. > 델을 이제 마...
류미희
•
1999.07.30 04:05
2
COMMENTS
/
0
LIKES
조회중 프로그램이 먹통
류미희
•
1999.07.31 02:43
다시 류미희입니다. > StringGrid에 오라클DB를 조회하는데 Open명령 후 > 덩치가 큰 Query를 하게되면 ...
김영대
•
1999.07.30 05:16
류미희 께서 말씀하시기를... > StringGrid에 오라클DB를 조회하는데 Open명령 후 > 덩치가 큰 Query를 ...
최수영
1999.07.30 03:52
0
COMMENTS
/
0
LIKES
Decision Cube의 사용예제부탁
장경석
1999.07.30 03:35
0
COMMENTS
/
0
LIKES
query한 결과를 ms access 에 넣는 법
나기향
1999/07/30 04:11
Views
350
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요?
> 여기는 참 많은 량의 고급정보가 있네요.
> 델을 이제 마악 배우는 사람입니다.
>
> 탐색기에서 선택된 파일목록을 델파이 프로그램에서 얻고자 합니다.
> 여기저기 뒤져 보았는데 못 찾았어요.
>
> 델 전문가들의 도움을 구합니다.
> 제발 도와 주~~~~~세요. (한잔 살께요)
>
술~ 언제 사실건데요?
// 실행은 Button1을 클릭하여 원도우즈 탐색기를 실행시킨 후
// 탐색기의 파일 몇개를 drag하여 이 폼위에 drop 하면 됩니다
// 참고 사이트:
// WM_DROPFILES 메시지 방식이 아닌 OLE drag&drop 으로 구현한 예제가 있는곳
// ftp://www.melander.dk/anme/delphi/DragDropDemo.zip
// http://godard.oec.uni-osnabrueck.de/student_home/dsteinwe/delphi/DietersDelphiSite.htm
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ShellAPI;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
// handles the WM_DROPFILES message
procedure WMDropFiles(var msg : TMessage); message WM_DROPFILES;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
// WM_DROPFILES 메시지를 처리하는 handler
procedure TForm1.WMDropFiles(var msg: TMessage);
var
i, NumFiles, NameLength: integer;
hDrop: THandle; {Handle for Msg.wParam}
TempFile: array[0..MAX_PATH] of Char;
begin
Memo1.Lines.Clear;
try
{1. drop handle 을 얻는다}
hDrop := msg.WParam;
{2. 얼마나 많은 파일들이 드롭되었는지 검사}
NumFiles := DragQueryFile(hDrop, $FFFFFFFF, nil, 0);
{3. Loop}
for i := 0 to (NumFiles - 1) do
begin
{4. drop된 파일명의 길이는 구한다}
NameLength := DragQueryFile(hDrop, i, nil, 0);
{6. drop된 파일명을 구한다}
DragQueryFile(hDrop, i, TempFile, NameLength+1);
Memo1.Lines.Add(StrPas(TempFile));
end;
finally
DragFinish(hDrop);
end;
{7. Return zero.}
msg.Result := 0;
inherited;
end;
procedure TForm1.FormActivate(Sender: TObject);
begin
// Drop Files 가능하게 setting
DragAcceptFiles(Form1.Handle, True);
end;
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
// Drop Files 기능 무효화
DragAcceptFiles(Form1.Handle, False);
CanClose := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
RunCommand: array[0..MAX_PATH] of Char;
begin
// 원도우즈 탐색기를 구동한다
GetWindowsDirectory(RunCommand, MAX_PATH);
StrCat(RunCommand, PChar('EXPLORER.EXE /n,/e'));
WinExec(RunCommand, SW_SHOWNORMAL);
end;
end.