C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[14321] Re:[질문] CopyFileEx의 사용법과 CopyProgressRoutine의 사용법에 대하
임승균.구리 [] 3157 읽음    2002-01-10 03:11
안녕하세요...

흠 자세하게 보진 않았는데여 이렇게 해보셔요
아래에 인클루드는 필요없을거 같구여..
위함수가 NT이상에서만 되는건 아시죠.. 글구
콜백함수내용을 이렇게 바꿔보죠...

{
    Form1->Label1->Caption = Format("[%d] TotalFileSize: %d, Transffered: %d",
        OPENARRAY(TVarRec, ((int)(TotalBytesTransferred.QuadPart*100 / TotalFileSize.QuadPart)
            , (int)TotalFileSize.QuadPart, (int)TotalBytesTransferred.QuadPart)));
    Application->ProcessMessages();
    return PROGRESS_CONTINUE;
}
이렇게요...
그럼 돌아가는걸 보실수 있을거여요.. 저는 봤으니까여 ^^

그럼 즐거운 하루 되세여...


Jun 님이 쓰신 글 :
: 안녕하세요...
:
: 다름이 아니구요.... API함수의 사용법이 좀 궁금해서요...
:
: CopyFile이 파일카피를 해주고 사용법이 간단한데요...윈도우에서 프로그레스바같은 상태를 좀 보여주려다 보니 CopyFileEx라는 함수가 있다는 걸 알게되었는데요..요 놈을 사용하려고 하는데 사용법을 알아야지요....
:
: 여기저기 검색하다가 데브피아에서 팁으로 하나를 보게 되었는데 빌더에 안 맞는 지 고대로 붙여서 해보니 제대로 동작을 안하네요...
:
: 보시고 답변 좀 부탁드릴께요...^^;
:
: #define _WIN32_WINNT 0x0500
: #define UNICODE
:
: #include <windows.h>
: #include <winbase.h>
:
: DWORD CALLBACK CopyProgressRoutine(
: LARGE_INTEGER TotalFileSize, // total file size, in bytes
: LARGE_INTEGER TotalBytesTransferred,
: // total number of bytes transferred
: LARGE_INTEGER StreamSize, // total number of bytes for this stream
: LARGE_INTEGER StreamBytesTransferred,
: // total number of bytes transferred for
: // this stream
: DWORD dwStreamNumber, // the current stream
: DWORD dwCallbackReason, // reason for callback
: HANDLE hSourceFile, // handle to the source file
: HANDLE hDestinationFile, // handle to the destination file
: LPVOID lpData // passed by CopyFileEx
: )
: {
: wprintf(L"[%%%I64u] TotalFileSize: %I64u, Transffered: %I64u\n",
: TotalBytesTransferred.QuadPart*100 / TotalFileSize.QuadPart,
: TotalFileSize, TotalBytesTransferred);
:
: return PROGRESS_CONTINUE;
: }
:
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: BOOL b_cancel = false;
:
:     if(
:          CopyFileEx("c:\\max_file.dat",
:                     "c:\\target_file.dat",
:                      CopyProgressRoutine,
:                      NULL,
:                      &b_cancel,
:                      COPY_FILE_FAIL_IF_EXISTS)
:       )
:         ShowMessage("true");
:     else
:         ShowMessage("false");
:
: MSDN에서도 좀 봤는데 영 이해가 안 가네요...
:
: 답변 좀 부탁드리겠습니다...

+ -

관련 글 리스트
14252 [질문] CopyFileEx의 사용법과 CopyProgressRoutine의 사용법에 대하 Jun 5278 2002/01/08
14321     Re:[질문] CopyFileEx의 사용법과 CopyProgressRoutine의 사용법에 대하 임승균.구리 3157 2002/01/10
14326         Re:Re:[질문] CopyFileEx의 사용법과 CopyProgressRoutine의 사용법에 대하 Jun 2098 2002/01/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.