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
[7589] Re:[질문] 객체를 파일로 저장 하는 방법
박정모 [] 723 읽음    2001-11-13 14:10


클래스 object의 데이타만 따로 저장하는 것은 일반적으로 잘 사용하지 않습니다.
다른 고수님께서 그런 방법을 사용하기도 하겠지만, 제 생각으로는 별로 추천하고
싶지 않은 방법입니다.

대신 클래스의 멤버를 record ( C언어의 struct ) 에 따로 만들어 두는 편번을
사용하기도 하는데 예로서 아래와 같이 합니다.

type
   ExRecord = record
      Field1 : array [ 0..255 ] of Char;
      Field2 : Integer;
   end;

   ExClass = class
   private
      FRecord : ExRecord;

   protected

   public
      property Field1 : PChar read GetField1;
      property Field2 : Integer read FRecord.Field2;

      procedure WriteData( poStream : TStream );

   published

   end;

implementation

procedure ExClass.WriteData( poStream : TStream );
begin
   poStream.Write( FRecord, Sizeof( FRecord ) );  
end;

function ExClass.GetField1 : PChar;
begin
  Result := @FRecord.Field1;
end;

굳이 class의 멤버변수를 저장하려면 대충 이런식으로 하면 될 것 같습니다.
다른 방법이 있냐구요? 저도 잘... ^^a... 다른 방법을 알아내면 다시 답해
드리겠습니다.

ps : 테스트는 해보지 않았습니다.



이은호  님이 쓰신 글 :
:
:
: 안녕하세요..
:
: 현재 작게나마 연습용 프로그램을 제작하고 있는데요..
: 막히는 부분이 생기어 이렇게 질문 드립니다.
:
: 클래스를 이용하여 만든 객체의 데이터를 그대로 파일로 저장하는 방법은 없나요.
: 나중에 이 파일을 불러들여 사용하려고 하거든요..
:
: var UserFile File of TMyClass;
:
: 저장할때와 불러들일때 모두 위의 형식대로 파일을 선언하였거든요..
: 그리고 write();와 read();문을 사용하였는데, 안되더군요.
:
: 답변좀 부탁드립니다.
:
:


+ -

관련 글 리스트
7585 [질문] 객체를 파일로 저장 하는 방법 이은호 575 2001/11/13
7589     Re:[질문] 객체를 파일로 저장 하는 방법 박정모 723 2001/11/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.