답글 감사합니다....님좀짱이신듯^^ㅋ
저장 및 읽어오기를 가르쳐 주셨는데 수정 및 삭제 버튼도 필요해요...ㅡㅡ;
ㅋㅋㅋ
부탁드립니다...^^ 제발~~간절히~~
조대현.Clau 님이 쓰신 글 :
: 1. 콤보박스에 추가와 검색이 필요하신거면 다음 예제가 도움이 되실겁니다.
:
: <추가>
:
ComboBoxName->Add(txtName->Text, NULL);
:
: <검색>
:
int iIndex;
: iIndex = ComboName->Items->IndexOf(txtName->Text);
: iIndex에 검색한 이름이 몇번째 위치인지 알 수 있습니다.
:
: 또는
:
int iIndex;
: iIndex = ComboName->ItemIndex;
: iIndex에 현재 선택된 아이템의 위치를 알 수 있습니다.
:
: 그래서 저장된 주소록중 iIndex에 해당하는 정보를 에디트박스에 뿌려주시면 됩니다.
:
: 2. 빌더에는 TStringList라는 아주 편리한 클래스가 있습니다.
: 문자열을 추가할 수 있으며 파일로 저장/읽기가 가능합니다.
:
: <간단한 사용법>
:
TStringList *ListName;
:
: ListName = new TStringList;
:
: ListName->LoadFromFile("Name.dat");
:
: ListName->Add("홍길동");
:
: AnsiString asFind;
: asFind = ListName->Strings[0];
: EditFind->Text = asFind;
:
: ListName->SaveToFile("Name.data");
:
: delete ListName;
:
: 3. 만드시려는 주소록의 전체예제 입니다.
:
:
TStringList *ListName;
: TStringList *ListAge;
: TStringList *ListPhone;
: TStringList *ListEmail;
: //---------------------------------------------------------------------------
: void __fastcall TForm9::btnAddClick(TObject *Sender)
: {
: // 입력 항목 검사
: if(txtName->Text.Trim().IsEmpty()) ShowMessage("이름을입력하세요");
: else if(txtAge->Text.Trim().IsEmpty()) ShowMessage("나이를입력하세요");
: else if(txtPhone->Text.Trim().IsEmpty()) ShowMessage("전화번호를입력하세요");
: else if(txtEmail->Text.Trim().IsEmpty()) ShowMessage("이메일을입력하세요");
:
: // 중복된 이름이 있는지 검사
: if(ComboName->Items->IndexOf(txtName->Text) < 0){
: // 중복된 이름이 없으면 Combo에 추가한다.
: // Combo와 Index를 같게하여 TStringList에도 추가하고 저장한다.
:
: // 추가
: ComboName->AddItem(txtName->Text, NULL);
:
: ListName->Add(txtName->Text);
: ListAge->Add(txtAge->Text);
: ListPhone->Add(txtPhone->Text);
: ListEmail->Add(txtEmail->Text);
:
: // 저장
: ComboName->Items->SaveToFile("ComboName.dat");
:
: ListName->SaveToFile("ListName.dat");
: ListAge->SaveToFile("ListAge.dat");
: ListPhone->SaveToFile("ListPhone.dat");
: ListEmail->SaveToFile("ListEmail.dat");
: }
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm9::FormCreate(TObject *Sender)
: {
: // TStringList 초기화
: ListName = new TStringList;
: ListAge = new TStringList;
: ListPhone = new TStringList;
: ListEmail = new TStringList;
:
: // 저장된 주소록 내용을 읽는다.
: ComboName->Items->LoadFromFile("ComboName.dat");
:
: ListName->LoadFromFile("ListName.dat");
: ListAge->LoadFromFile("ListAge.dat");
: ListPhone->LoadFromFile("ListPhone.dat");
: ListEmail->LoadFromFile("ListEmail.dat");
: }
: //---------------------------------------------------------------------------
: void __fastcall TForm9::ComboNameChange(TObject *Sender)
: {
: // Combo가 선택되면 해당되는 Index에 맞는 주소록 내용을 Text에 표시한다.
: txtName->Text = ListName->Strings[ComboName->ItemIndex];
: txtAge->Text = ListAge->Strings[ComboName->ItemIndex];
: txtPhone->Text = ListPhone->Strings[ComboName->ItemIndex];
: txtEmail->Text = ListEmail->Strings[ComboName->ItemIndex];
: }
: //---------------------------------------------------------------------------
:
: 빌더초보자 님이 쓰신 글 :
: : 주소록을 만들고 있는데요...
: : 이름, 나이, 전화번호, 이메일을 입력하고 추가 버튼을 눌렀을 경우 Tcombobox에 저장하고
: : Tcomcobox에 저장된 이름을 선택하고 조회를 눌렀을 경우
: :
: : txtName->Text
: : txtAge->Text
: : txtPhone->Text
: : txtEmail->Text
: :
: : 에 보여주는것을 해야 하는데 Tcombobox에 어떻게 넣어야 하는지 모르겠어요...
: : 고수님 좀 도와주셔요..^^
: :
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::btnAddClick(TObject *Sender)
: : {
: : Set start;
: :
: : if(txtName->Text.Trim().IsEmpty()) ShowMessage("이름을입력하세요");
: : else if(txtAge->Text.Trim().IsEmpty()) ShowMessage("나이를입력하세요");
: : else if(txtPhone->Text.Trim().IsEmpty()) ShowMessage("전화번호를입력하세요");
: : else if(txtEmail->Text.Trim().IsEmpty()) ShowMessage("이메일을입력하세요");
: : strcpy(start.name, txtName->Text.Trim().c_str());
: : start.age = txtAge->Text.Trim().ToInt();
: : strcpy(start.phone, txtPhone->Text.Trim().c_str());
: : strcpy(start.email, txtEmail->Text.Trim().c_str());
: :
: : FILE *fp = fopen("info.dat","wb");
: : fwrite(&start, sizeof(start), 1, fp);
: : fclose(fp);
: : }
: : //---------------------------------------------------------------------------