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

델파이 Q&A
Delphi Programming Q&A
[6821] [답변] HK4801/ GetDiskFree API를 델파이에서 쓰려면
amecs [ ] 1048 읽음    1999-11-21 00:58

다음의 함수 예를 봐 주세요.

GetDiskFreeSpace를 디스크크기를 이용해 구하는 함수입니다.

function GetDiskSize(Root: string): LongInt;
var
   SpC,
   BpS,
   NfC,
   TnC       : DWORD;
   DiskSize  : Double;
begin
   GetDiskFreeSpace(PChar(Root), SpC, BpS, NfC, TnC);
   DiskSize := (TnC * SpC * BpS) / 1024;
   Result := Round(DiskSize); // Result in KB
end;


C++에서 lp~로 시작하는 형은 델파이에서는 함수호출인자의 var 지정자(reference)

와 일치합니다. 그러니, 첫번째 인자로 'c:\'이렇게 직접 주면 에러가 납니다.

변수를 한개 선언하고, 거기에  대입시킨뒤, 위의 함수와 같은 방식으로 호출하면

됩니다.  그리고,  2,3,4,5번째 인자 또한  포인터변수를 넘겨주는 것이 아니라, 단

지 변수의 포인터가 넘어가는 것입니다. C++ 의 &(adress of)연산자와 같은 것이져.

C++을 잘 모르신다면, 이해가 잘 안되시겠지만, C++에서 lp로 시작되는 것은 델파이

에서는 그냥 일반 변수형으로 잡고 넘기면, 그곳에 실행결과로 값이 저장되어 있게

됩니다.

답변이 이해 안되시면 추가 질문 부탁드립니다.



+ -

관련 글 리스트
6821 [답변] HK4801/ GetDiskFree API를 델파이에서 쓰려면 amecs 1048 1999/11/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.