Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
원하는 클래스를 화일 데이터로 그리고 다시 클래스읽기..
델파이 초보라서 묻습니다..
지금 TStream, TMemoryStream 등 기타 스트림 함수를 사용하여
화일로 저장하길 원합니다. 그리고 반대로 다시 작성한 클래스로
자료를 저장하는 방법은 없는건가요? 컴포넌트는 되는데 클래스는
어떻게 하는지 아시는 고수분 도와주세요 ^^..
3
COMMENTS
최용일
•
2003.10.24 21:57
안녕하세요. 최용일입니다.
컴포넌트는 스트리밍을 지원하는 TPersistent에서 상속받았기때문에 기본적으로 스트리밍이 되는거구요...
일반클래스에 적용하실려면 TObject말고 TPersistent에서 상속받아서 사용하세요...
^^ 항상 즐코하세요...
0
0
댓글
손희석
•
2003.10.25 02:30
대충 무슨 말씀하시는줄은 알겠습니다..
간단한 예제로 어떻게 스트림으로 클래스를 저장하는지 부탁드립니다 ^^
그리고 읽어오는 것도 ㅠ.ㅠ
예)
type
TPerson = Class(TPersistent)
private
FsFirst : string;
FsName : string;
public
procedure SetName(AsFirstName,AsName : string);
end;
...
procedure TForm1.Button1Click(Sender: TObject);
var Person : TPerson;
FileStream : TFileStream;
begin
Person := TPerson.Create;
Person.SetName('A','B');
FileStream := TFileStream.Create('c:aa.txt',fmCreate);
FileStream.WriteComponent(Person); --> 에러납니다.. ㅠ.ㅠ
Person.Free;
FileStream.Free;
end;
제가 작성한 예제고요.. 고수님 부탁드립니다 ㅠ.ㅠ
0
0
삭제
수정
댓글
최용일
•
2003.10.25 20:17
안녕하세요. 최용일입니다.
TStream.WriteComponent는 당연히 TComponent를 대상으로 다룹니다. 때문에 안되는거구요... TStream.WriteComponent와 같이 작동하는 것을 만드셔야 합니다.
TMemo.Lines등과 같이 컴포넌트의 속성으로서 폼파일에 저장되어서 델파이 IDE내의 속성창에 표시하는게 아니라면 TPersistent에서 상속받으실 필요도 없구 걍 스트림에 저장하시면 됩니다.
var
Stream: TFileStream;
Writer: TWriter;
Person : TPerson;
begin
Person := TPerson.Create;
Person.SetName('A','B');
Stream := TFileStream.Create('FileName', fmCreate);
Writer := TWriter.Create(Stream, 1024);
Writer.WriteString(Persion.fsFirst);
Writer.WriteString(Persion.fsName);
Writer.Free;
Stream.Free;
Person.Free;
end;
^^ 항상 즐코하세요...
0
0
댓글
(NOTICE) You must be
logged in
to comment on this post.
강석찬
•
2003.10.25 23:56
2
COMMENTS
/
0
LIKES
실행시 아이콘 이미지가 이상하게 나옵니다.
구니
•
2003.10.26 08:51
저는 예전에 이미지가 검게 나오는 게 아니라 흑백으로 나와서 고민한 적이 있었는 데요. 컴의 그래픽 ...
강석찬
•
2003.10.28 22:12
그래도 여전히 검게 나오네요.. 답변 감사드립니다.. 해결해야하는데.. 흘~
LuckyBoy
2003.10.25 21:24
0
COMMENTS
/
0
LIKES
COM+ 에 관한 질문입니다.
김성근
•
2003.10.25 21:06
6
COMMENTS
/
0
LIKES
음성File재생과 이미지 Load에 관하여?
최용일
•
2003.10.27 23:44
김성근
•
2003.10.28 00:25
최용일
•
2003.10.28 00:35
김성근
•
2003.10.28 01:53
최용일
•
2003.10.28 02:25
김성근
•
2003.10.28 02:27
M
2003.10.25 06:19
0
COMMENTS
/
0
LIKES
HTML 문서를 프린트 하려고 하는데요...
구니
•
2003.10.25 06:13
1
COMMENTS
/
0
LIKES
Socket Client의 수신이 이상해요.
구니
•
2003.10.26 00:52
음.. 제가 실수 했군요. 작업 버전도 안올리다니.. 델파이 7이었구요. WaitForData()라는 훌륭한 메소...
박미향
•
2003.10.25 03:31
1
COMMENTS
/
0
LIKES
에러에 대해서
윤수아
•
2003.10.25 03:54
insum := insum + DM.kyongjo.FieldByName('경조사비').value outsum := outsum + DM.kyongjo.FieldByName...
김성근
•
2003.10.25 02:23
5
COMMENTS
/
0
LIKES
Socket연결에 관한 추가 질문입니다.!!!
윤수아
•
2003.10.25 03:34
ClientSocket1.Active:= False; 이렇게 코딩하지 마시고요.. 넘어오는 인자인 Socket을 이용해 Socket...
김성근
•
2003.10.25 03:44
윤수아
•
2003.10.25 03:56
인디컴포넌트를 쓰세요.. 델파이 6버전부터는 기본 컴포넌트로 깔리고.. 5버전이라면 인디사이트에 가셔서...
이성훈
•
2003.10.25 02:44
ErrorCode := 0; 요것만 추가하세요.. 그럼 즐푸
김성근
•
2003.10.25 02:51
김형수
2003.10.25 00:00
0
COMMENTS
/
0
LIKES
Required Package Rave50VCL not Found.
김정모
2003.10.24 23:29
0
COMMENTS
/
0
LIKES
그동안 잘 사용하고 있던 실행화일이 안 돼네여,,,
help me
•
2003.10.24 20:47
1
COMMENTS
/
0
LIKES
스트링값의 중간의 특수문자를 스페이스로 대처하느방법 좀아려주세요
최용일
•
2003.10.24 21:54
안녕하세요. 최용일입니다. for문돌려도 되구, StringReplace란 함수를 이용해도 됩니다... var &nb...
손희석
•
2003.10.24 17:14
3
COMMENTS
/
0
LIKES
원하는 클래스를 화일 데이터로 그리고 다시 클래스읽기..
델파이 초보라서 묻습니다.. 지금 TStream, TMemoryStream 등 기타 스트림 함수를 사용하여 화일로 저장하길 원합니다. 그리고 반대로 다시 작성한 클래스로 자료를 저장하는 방법은 없는건가요? 컴포넌트는 되는데 클래스는 어떻게 하는...
최용일
•
2003.10.24 21:57
안녕하세요. 최용일입니다. 컴포넌트는 스트리밍을 지원하는 TPersistent에서 상속받았기때문에 기본적...
손희석
•
2003.10.25 02:30
대충 무슨 말씀하시는줄은 알겠습니다.. 간단한 예제로 어떻게 스트림으로 클래스를 저장하는지 부탁드...
최용일
•
2003.10.25 20:17
안녕하세요. 최용일입니다. TStream.WriteComponent는 당연히 TComponent를 대상으로 다룹니다. 때문에 ...
이방인
2003.10.24 09:51
0
COMMENTS
/
0
LIKES
ActiveX 배포시...인증창에서 경로 안보이게~~~
초~초보
•
2003.10.24 08:58
1
COMMENTS
/
0
LIKES
MDI ChildForm 과 Tab Control 연동..
최용일
•
2003.10.24 21:59
안녕하세요. 최용일입니다. MdiChildren속성의 인덱스는 폼의 생성순서가 아니라 화면상의 Z-Order입니...
채경수
•
2003.10.24 04:51
2
COMMENTS
/
0
LIKES
퀀텀그리드 쓰시는 분...
정진성
•
2003.10.24 19:14
dxDBGrid1.FocusedNode.Values[dxDBGrid1January.index] 대 괄호 안의 그리드 필드만 바꾸면 될듯...
Crazy
•
2003.10.24 07:32
Node 를 이용하세요. 퀀텀그리드는 보통 3가지를 많이 쓰는데 dxDBGrid, dxTreeList, dxDBTreeList 입니...
이대희
2003.10.24 03:26
0
COMMENTS
/
0
LIKES
3티어로 캐발시 미들웨어에서 클라이언트에게 어떤 지시 명령을 주려면?
뭉치
2003.10.24 02:20
0
COMMENTS
/
0
LIKES
mdb의 암호 설정후 error 발생
이창하
•
2003.10.24 01:08
1
COMMENTS
/
0
LIKES
progress bar
skysoft
•
2003.10.24 03:11
다음 코드를 참고하세요. Query1.DisableControls; //연결된 디비그리드가 움직이지 않게 ...
홍성호
•
2003.10.24 00:58
2
COMMENTS
/
0
LIKES
MDI 자식폼을 DLL로 만들어서 호출하는 방법이요..
skysoft
•
2003.10.24 20:16
인터넷에서 찾아서 조금 수정했습니다. 참고하세요. (Application 객체를 DLL에 넘겨주어야 한다는군요) ...
홍성호
•
2003.10.25 01:01
^^
이민석
2003.10.24 00:02
0
COMMENTS
/
0
LIKES
ado recordset open관련
박수영
•
2003.10.23 23:31
1
COMMENTS
/
0
LIKES
주민등록번호
박수영
•
2003.10.23 23:35
애공 찾았습니다...
손희석
2003/10/24 17:14
Views
158
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
컴포넌트는 스트리밍을 지원하는 TPersistent에서 상속받았기때문에 기본적으로 스트리밍이 되는거구요...
일반클래스에 적용하실려면 TObject말고 TPersistent에서 상속받아서 사용하세요...
^^ 항상 즐코하세요...