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
[48481] Re:Virtual Treeview Load/Save에 대한 질문..도와주세요 (추가)
아루스 [tinydew4] 1210 읽음    2007-03-20 22:53
저 코드를 해보진 않았지만, 읽고 쓰는데 있어서 bytes count 값이 이상한거 같네요.
sizeof( x.c_str() ) 와 같은 식으로 해야하지 않을까요.


해석 해 보다가 추가합니다.
도움말 내용대로면 다음과 같이 다 바꾸시면 될 듯 하네요.
Stream->Read( pPhonebook->Name.c_str(), pPhonebook->Name.Length() + 1 );

또아리 님이 쓰신 글 :
: Load/ Save 어떻게 하나요....아래는 제가 작성한 코드입니다.. 트리만 저장되고 노드데이터는 잘안되네요..제가 먼가 잘못하고 있는듯 한데..쩝..도와주세요
:
: Virtual Treeview에서..
:
: // Unit1.h  노드 선언
: typedef struct tagPhonebook {
:     AnsiString Name;
:     AnsiString Tel;
:     AnsiString Sex;
:    //    int ImageIndex;         // 출력할 이미지의 index
: } structPhonebook, *ptrstructPhonebook;
:
: private :
:             AnsiString fName;
: // 이하 생략
: //-------------------------------------------------------------------------------------
:
: void __fastcall TForm1::VirtualStringTree1LoadNode(TBaseVirtualTree *Sender,  // Load
:       PVirtualNode Node, TStream *Stream)
: {
:     int Size;
:
:     if (!Node)
:         return;
:
:     structPhonebook *pPhonebook = (structPhonebook *)Sender->GetNodeData(Node);
:
:     Stream->Read(Node, sizeof(Node));
:     Stream->Read(pPhonebook->Name.c_str(), sizeof(pPhonebook->Name+1));
:     Stream->Read(pPhonebook->Tel.c_str(), sizeof(pPhonebook->Tel.Length() +1));
:     Stream->Read(pPhonebook->Sex.c_str(), sizeof(pPhonebook->Sex.Length()+1));
: }
: void __fastcall TForm1::VirtualStringTree1SaveNode(TBaseVirtualTree *Sender,  // Save
:       PVirtualNode Node, TStream *Stream)
: {
:     if (!Node)
:         return;
:
:     structPhonebook *pPhonebook =(structPhonebook *)Sender->GetNodeData(Node);
:
:     Stream->Write(Node, sizeof(Node));
:     Stream->Write(pPhonebook->Name.c_str(), sizeof(pPhonebook->Name+1));
:     Stream->Write(pPhonebook->Tel.c_str(), sizeof(pPhonebook->Tel.Length() +1));
:     Stream->Write(pPhonebook->Sex.c_str(), sizeof(pPhonebook->Sex.Length()+1));
:
: }
:
:
: void __fastcall TForm1::SaveClick(TObject *Sender)
: {
:        fName="tt.txt";
:        VirtualStringTree1->SaveToFile(fName)  ;
: }
: //---------------------------------------------------------------------------
:
:
: void __fastcall TForm1::LoadClick(TObject *Sender)
: {
:         fName="tt.txt";
:         VirtualStringTree1->LoadFromFile(fName);
: }

+ -

관련 글 리스트
48474 Virtual Treeview Load/Save에 대한 질문..도와주세요 또아리 1205 2007/03/20
48481     Re:Virtual Treeview Load/Save에 대한 질문..도와주세요 (추가) 아루스 1210 2007/03/20
48490         Re:Re:감사합니다(냉무) 또아리 1057 2007/03/21
48476     Re:델파이 소스가 있긴한데..제가 델파이를 잘몰라서.. 또아리 1384 2007/03/20
48482         Re:Re:델파이 소스가 있긴한데..제가 델파이를 잘몰라서.. 아루스 1999 2007/03/20
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.