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
[7861] Re:[재질문] stdin, stdout, stderr 에 관련한 델파이 키워드(?)를 찾습니다
류종택 [ryujt] 1025 읽음    2002-01-09 12:42
쫍.. 저는 터보 C 이후로 C 계열을 사용하는 경우가 극히
드문경우라
C 자체가 버거워서 답변을 하지 못하다가.
참고가 되시라고 댓글 답니다.

우선 해당 문장은 그냥 추측컨데,
파일 핸들을 오픈 후 바이너리형식으로 바꾸는 것 같습니다.

그러한 명령이 Pascal 문법에는 없습니다.
다만 오픈할 때 이미 파일의 핸들이 택스트 형식이냐
바이너리 형식이냐를 정하게 되어 있습니다.

또한 델파이에서는 API를 사용해서 파일핸들링을 할 수 있기 때문에
API 래퍼런스에서 파일 처리부분을 살펴보시기 바랍니다.

여하튼 바이너리로 파일을 읽고 쓰는 예제 하나만 올리도록 하겠습니다.

제가 지난 번 회사 관둔 후로 개발보다는 잡무에 집중하고 있기 때문에
현재 저한테는 API 바이블 조차 없기 때문에 이 이상의 설명은 어려울 듯 합니다 -.-
(델파이 안쓴지 얼마나 되었나?)


Voice of Delphi, 류..

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

Function  CopyFile(Source,Target:String):Integer;
Var
   RRead : Integer;
   SFile, TFile : Integer;
   Buffer : Packed Array [1..1024] of Byte;
Begin
  If File_Size(Source) = 0 then
     Begin
       Result:= 3;
       Exit;
     End;

  Result:= 0;
  SFile:= FileOpen(Source, fmOpenRead);
  TFile:= FileCreate(Target);

  If SFile <= 0 then
     Begin
      Result:= 1;
      Exit;
     End;
  If TFile <= 0 then
     Begin
       Result:= 2;
       Exit;
     End;

  Try
    RRead:= FileRead(SFile, Buffer, 1024);
              // 바이너리로 읽기 부분입니다.
    While RRead > 0 Do
      Begin
        FileWrite(TFile, Buffer, RRead);
        RRead:= FileRead(SFile, Buffer, 1024);
      End;

    FileSetAttr(Target, FileGetAttr(Source));
    FileSetDate(TFile, FileGetDate(SFile));
    FileClose(TFile);
    FileClose(SFile);
  Except
  End;
End;




이상탁 님이 쓰신 글 :
: 답변에 감사드립니다.
:
: 저는 아직 찾지 못하고 있습니다. 저도 C 가 하는 것을 델파이가 못한다고 보지는 않습니다.
:
: 다만, 제가 델파이에서 그 방법을 못찾았을 뿐이지요.
:
: 실질적인 질문의 요지는 VC++ 에서 stdin, stdout, stderr 에 해당되는 것으로 델파이에는 무엇이 있냐는 것입니다.
:
: 그래서 다음의 두 문장을 대체할 수 있는 델파이 문장을 물어본것입니다.
:
: setmode(fileno(stdin), O_BINARY);
:
: len = fread(buf, 1, sizeof(buf), stdin)
:
: 죄송하지만 아시는 분은 부탁드립니다.

+ -

관련 글 리스트
9218             Re:[재질문] stdin, stdout, stderr 에 관련한 델파이 키워드(?)를 찾습니다 최진석 742 2002/01/09
7889             [자답] 답변일지 모르겠지만... 이상탁 626 2002/01/16
7863             Re:[재질문] stdin, stdout, stderr -> 기냥 숫자를 쓰시면 됩니다.. 박지훈.임프 1207 2002/01/10
7861             Re:[재질문] stdin, stdout, stderr 에 관련한 델파이 키워드(?)를 찾습니다 류종택 1025 2002/01/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.