|
감사합니다 ^^
데이터 타입이 AnsiString 이 아니었군요 ㅎㅎ
많은 도움 되었습니다.
크레브 님이 쓰신 글 :
: Com 통신 콤포넌트를 어떤것을 사용하는지 모르겠지만..
:
: CPort 의 경우
: BaudRate이 다음과 같이 enum으로 정의되어 있습니다.
:
: enum TBaudRate { brCustom, br110, br300, br600, br1200, br2400, br4800, br9600, br14400, br19200, br38400, br56000, br57600, br115200, br128000, br256000 };
:
: BaudRate의 데이터 타입 또한 AnsiString 이 아니라 TBaudRate이겠죠
: enum은 Int 와 비슷하게 처리된다는것을 생각하시면 이해되실겁니다.
:
: 결국에 아래코드는 다음 코드와 같은 방식으로 저장 되는 것입니다.
: ConfigINI->WriteString("Comm2","BaudRate", IntToStr( Comm2->BaudRate ) );
:
: 굳이 ini 파일에 문자열로 저장하고자 하면
: 위의 BaudRate 에 해당하는 이름들을 다 AnsiString 배열로 가지고 있다가
: 그것에 해당하는 문자열을 저장해주는 수 밖에 없습니다.
:
: AnsiString BaudRateStr[]=
: {
: "brCusteom",
: "br110",
: "br300",
: ..등등.. 계속 쭉~~~
: };
: 그 다음에 이렇게...
: ConfigINI->WriteString("Comm2","BaudRate", BaudRateStr[ Comm2->BaudRate ] );
:
: 하지만 이렇게 문자열로 굳이 저장할 필요가 있는지는 심각하게 생각해 보세요
: 별로 의미가 없을 뿐더러 나중에 다시 읽어 올때는
: 그 문자열을 거꾸로 분석해서 다시 셋팅해줘야 하는 불편함까지 덤으로 생깁니다.
:
:
:
:
:
: 번외편 님이 쓰신 글 :
: : INI 파일을 읽고 쓰기를 하고 있는데요
: :
: : RS-232 통신 부분을 저장하려고 이렇게 해봤는데요..
: : 여기서 문제가 발생하네요
: :
: : ConfigINI->WriteString("Comm2","BaudRate",Comm2->BaudRate);
: : ConfigINI->WriteString("Comm2","DataBits",Comm2->DataBits);
: :
: : 이렇게 하면 ini파일에 가서 봤을때 제가 원하는데로라면
: : Comm2]
: : BaudRate=br115200
: : DataBits=da8
: :
: : 위처럼 나와야 하는데요..
: :
: : 아래처럼 저런식으로 나오는데 왜 이런지좀 알려주세요 ^^;;
: : [Comm2]
: : BaudRate=12
: : DataBits=4
|