|
RichEdit는 일반 Memo 컴포넌트와 달리, 색과 폰트를 따로따로 지정해 줄 수 있는 컴포넌트 입니다. 그렇기 때문에 SaveToFile 등의 메소드에서는 해당 서식을 함게 저장하게 됩니다.
이것을 해결하시려면 일반 Memo 컴포넌트를 이용하시던지, 아니면 아래와 같이 TStrings 객체를 따로 만들어 이것을 이용해 저장시키는 방법이 있습니다.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender) // Save
{
TStrings *tsList = new TStringList;
tsList->Text = RichEdit1->Lines->Text;
tsList->SaveToFile("C:\\TEST.TXT");
delete tsList;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) // Load
{
TStrings *tsList = new TStringList;
tsList->LoadFromFile("C:\\TEST.TXT");
RichEdit1->Lines->Text = tsList->Text;
delete tsList;
}
//---------------------------------------------------------------------------
김상훈 님이 쓰신 글 :
: 아래와 같이 저장을 하였는데 원데이타 외에 쓰레기 값들이 저장이 디는것 같은데 무슨 문제가 있는지 잘 모르겠씁니다..선배님들의 많은 가르침 바랍니다.
:
: void __fastcall TMsgForm::SaveClick(TObject *Sender)
: {
: char strFileName[MAXFILE+4];
: if(SaveDialog1->Execute())
: {
:
: RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);
: }
:
: }
:
: 원 데이타는 아래와 같이 저장이 되어야합니다.
:
: uin H 4194 2:254: 8. 3 UI_CMD 32
: enc H 571 2:254: 9. 1 Disable CRCs,
: enc H 571 2:254:12. 5 Disable CRCs, enc_set_mode
: enc H 571 2:254:13. 2 Disable CRCs, enc_set_mode
: vocmux H 1478 2:254:14. 1 voc_config( 16 )
: vocm2 H 2310 2:254:14. 5 CODEC SELECTED (OFF) = 0 by 104355c
: vocmux H 1797 2:254:14. MUX:2 DOUT:0 RATE:0
: vocm2 H 5638 2:254:14. 4 vocm2_config( 16 )
: vocm2 H 5464 2:254:14. 5 Can't set Tx mute while offline.
: vocm2 H 5392 2:254:14. 3 Can't set Rx mute while offline.
: vocm2 H 5392 2:254:14. 5 Can't set Rx mute while offline.
: vocm2 H 5464 2:254:14. 2 Can't set Tx mute while offline.
: vocm2 H 5392 2:254:21. 3 Can't set Rx mute while offline.
: vocm2 H 5392 2:254:21. 1 Can't set Rx mute while offline.
: vocm2 H 5464 2:254:21. 1 Can't set Tx mute while offline.
: vocm2 H 5464 2:254:21. 4 Can't set Tx mute while offline.
: vocmux H 1478 2:254:21. 3 voc_config( 4 )
: vocm2 H 2310 2:254:21. 4 CODEC SELECTED (OFF) = 0 by 104355c
: vocmux H 1797 2:254:21. 1 MUX:2 DOUT:0 RATE:1
: vocm2 H 5638 2:254:21. 2 vocm2_config( 4 )
: vocm2 H 5687 2:254:21. DIAGNOSTIC DATA ENABLED
: enc H 571 2:254:21. 3 Disable CRCs, enc_set_mode
: vocmux H 1478 2:254:22. 1 voc_config( 16 )
: vocm2 H 2310 2:254:22. 1 CODEC SELECTED (OFF) = 0 by 104355c
: vocmux H 1797 2:254:22. 5 MUX:2 DOUT:0 RATE:0
: vocm2 H 5638 2:254:22. vocm2_config( 16 )
: vocm2 H 5464 2:254:22. 4 Can't set Tx mute while offline.
: vocm2 H 5392 2:254:22. Can't set Rx mute while offline.
: vocm2 H 5392 2:254:22. 4 Can't set Rx mute while offline.
: vocm2 H 5464 2:254:22. 1 Can't set Tx mute while offline.
: vocm2 H 5392 2:254:29. 3 Can't set Rx mute while offline.
: vocm2 H 5392 2:254:29. 1 Can't set Rx mute while offline.
:
:
:
:
: 그러나 실제 저장되는 파일을 열어 보면 다음과 같습니다.
:
:
: {\rtf1\ansi\ansicpg949\deff0\deflang1033\deflangfe1042{\fonttbl{\f0\fnil\fcharset129 Fixedsys;}}
: {\colortbl ;\red0\green0\blue0;\red0\green0\blue255;}
: \viewkind4\uc1\pard\cf1\lang1042\f0\fs12
: \par uin H 4194 2:254: 8. 3 UI_CMD 32
: \par \cf2 enc H 571 2:254: 9. 1 Disable CRCs, enc_set_mode
: \par enc H 571 2:254:12. 5 Disable CRCs, enc_set_mode
: \par enc H 571 2:254:13. 2 Disable CRCs, enc_set_mode
: \par vocmux H 1478 2:254:14. 1 voc_config( 16 )
: \par vocm2 H 2310 2:254:14. 5 CODEC SELECTED (OFF) = 0 by 104355c
: \par vocmux H 1797 2:254:14. MUX:2 DOUT:0 RATE:0
: \par vocm2 H 5638 2:254:14. 4 vocm2_config( 16 )
: \par vocm2 H 5464 2:254:14. 5 Can't set Tx mute while offline.
: \par vocm2 H 5392 2:254:14. 3 Can't set Rx mute while offline.
: \par vocm2 H 5392 2:254:14. 5 Can't set Rx mute while offline.
: \par vocm2 H 5464 2:254:14. 2 Can't set Tx mute while offline.
: \par vocm2 H 5392 2:254:21. 3 Can't set Rx mute while offline.
: \par vocm2 H 5392 2:254:21. 1 Can't set Rx mute while offline.
: \par vocm2 H 5464 2:254:21. 1 Can't set Tx mute while offline.
: \par vocm2 H 5464 2:254:21. 4 Can't set Tx mute while offline.
: \par vocmux H 1478 2:254:21. 3 voc_config( 4 )
: \par vocm2 H 2310 2:254:21. 4 CODEC SELECTED (OFF) = 0 by 104355c
: \par vocmux H 1797 2:254:21. 1 MUX:2 DOUT:0 RATE:1
: \par vocm2 H 5638 2:254:21. 2 vocm2_config( 4 )
: \par vocm2 H 5687 2:254:21. DIAGNOSTIC DATA ENABLED
: \par enc H 571 2:254:21. 3 Disable CRCs, enc_set_mode
: \par vocmux H 1478 2:254:22. 1 voc_config( 16 )
: \par vocm2 H 2310 2:254:22. 1 CODEC SELECTED (OFF) = 0 by 104355c
: \par vocmux H 1797 2:254:22. 5 MUX:2 DOUT:0 RATE:0
: \par vocm2 H 5638 2:254:22. vocm2_config( 16 )
: \par vocm2 H 5464 2:254:22. 4 Can't set Tx mute while offline.
: \par vocm2 H 5392 2:254:22. Can't set Rx mute while offline.
: \par vocm2 H 5392 2:254:22. 4 Can't set Rx mute while offline.
: \par vocm2 H 5464 2:254:22. 1 Can't set Tx mute while offline.
: \par vocm2 H 5392 2:254:29. 3 Can't set Rx mute while offline.
: \par vocm2 H 5392 2:254:29. 1 Can't set Rx mute while offline.
: \par \cf1
: \par }
|