C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[57204] 설마...과제는 아니시죠?ㅎㅎ
조대현.Clau [casanebula] 1505 읽음    2009-06-10 14:56
괜히 예제를 만들었나요?ㅋ
수정 & 삭제는 ... 너무나 쉽습니다~
직접 해결하실수 있으실듯.

1. 수정 흐름도
1) 수정버튼 누르면
2) 현재의 에디트박스 내용들을 TStringList->Strings[ ComboBox->ItemIndex ] 에 업데이트 시킵니다.
3) 저장한 후 끝!

2. 삭제 흐름도
1) 삭제버튼 누르면
2) 현재 선택한 콤보박스의 Item을 삭제(ComboBox->Items->Delete(?)
3) 각 TStringList에서도 삭제(TStringList->Delete(?))
4) 그리고 다시저장... 끝!



빌더초보자 님이 쓰신 글 :
: 답글 감사합니다....님좀짱이신듯^^ㅋ
: 저장 및 읽어오기를 가르쳐 주셨는데 수정 및 삭제 버튼도 필요해요...ㅡㅡ;
: ㅋㅋㅋ
: 부탁드립니다...^^ 제발~~간절히~~
:
:
:
:
:
:
:
:
:
: 조대현.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);
: : : }
: : : //---------------------------------------------------------------------------

+ -

관련 글 리스트
57198 !!왕초보!!Tcombobox에 저장및조회를 하는 프로그램 빌더초보자 918 2009/06/10
57201     어디까지 궁금하신 것인지 모르겠지만~예제가 도움이 되시길^^ 조대현.Clau 1225 2009/06/10
57203         Re:그리구요..^^ 빌더초보자 1193 2009/06/10
57204             설마...과제는 아니시죠?ㅎㅎ 조대현.Clau 1505 2009/06/10
57200     Re:!!왕초보!!Tcombobox에 저장및조회를 하는 프로그램 김시환 1105 2009/06/10
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.