|
허정주님 감사합니다...^^
허정주 님이 쓰신 글 :
: 저 코드를 해보진 않았지만, 읽고 쓰는데 있어서 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);
: : }
|