|
콤보박스의 아이템들을 저장하고 불러오기 위해서라면...
fopen과 같은 표준 C 함수를 쓰는 것보다 더 빠르고 편한 방법이 있습니다.
파일을 저장하려면,
ComboBox1->Items->SaveToFile(파일이름);
파일을 불러오려면,
ComboBox1->Items->LoadFromFile(파일이름);
간단히 설명하자면, 콤보박스의 Items 객체는 TStrings 타입인데, 이 TStrings 클래스에 파일을 저장하고 읽어들이는
멤버함수가 있는 것입니다.
그럼...
김정훈 님이 쓰신 글 :
: 안녕하세요?
: Combobox를 놓고요, 옆에 '추가', '삭제'버튼이 있거든요.
: ComboBox에 Text를 쳐넣고 '추가'버튼을 누르면 Text가 Item에 추가 되고,
: Item을 선택하고 '삭제'버튼을 누르면 해당 Item만 삭제되도록 구연하고 싶습니다.
: Item내용은 file로 저장해야 하고요. 소스는, 아래와 같은데요, 읽기는 동작되는데
: 쓰기가 안되네요. ComboBox1->Items->Count의 return 값도 정상이 아니고요.
:
: void __fastcall TForm_Config::Read_ComboBox(void) // 파일에서 ComboBox로 읽기
: {
: FILE *in_machine;
: char buf[10];
:
: in_machine = fopen("data\\Machine.ini", "rt");
:
: fseek(in_machine, SEEK_SET, 0);
: while(fgets(buf, sizeof(buf), in_machine))
: {
: ComboBox1->Items->Add(buf);
: }
:
: fclose(in_machine);
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm_Config::WriteComboBox(TObject *Sender) // ComboBox에서 File로 쓰기
: {
: FILE *in_machine;
: char buf[10];
:
: in_machine = fopen("data\\Machine.ini", "w");
: fseek(in_machine, SEEK_SET, 0);
:
: for(int i=0;i<ComboBox1->Items->Count;i++)
: {
: strcpy(buf,ComboBox1->Items->Strings[i].c_str());
: fputs(buf,in_machine);
: }
:
: ComboBox1->Items->
:
: fclose(in_machine);
: }
: //---------------------------------------------------------------------------
|