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
[12219] 포스프로그램을 짜고 있습니다..스캐너에 관련된 질문을 드릴려구 합니다..아직은 왕 허접이라..고수님들의
시후 [] 681 읽음    2001-10-31 21:23
포스프로그램을 짜고 있는데. 스캐너에서 에디트로 읽어 들이면 8자리 코드 또는 13자리 코드를 어떻게 구분해서 읽어야 할지 잘 모르겠습니다.
에디트에서 읽어 들인 값을 임의 버퍼에 저장하여 버퍼사이즈를 측정하여 8자리냐 13자리냐로 해서 코딩을 했습니다. 근데 8자리는 읽는데 13자리는 8자리만 읽고 나머지는 자리는 다음 에디트로 넘어 갑니다.
고수님들 부탁드립니다...도와주셈...꾸벅..

여기 소스를 올립니다...
//==============================================================================
//      스캐너로 읽어 들여서 ITEM.DB를 검색한다.
//==============================================================================
void __fastcall TF_ASPM::Edit1Change(TObject *Sender)
{
char BUF[14];

        strcpy(BUF,Edit1->Text.c_str()); //------ 에디트값을 버퍼로 불러들인다.

        switch(strlen(BUF)) //------- 스위치문을 이용하여 8자리일 경우 13자리일경우를 나눠DB 를검색
        {
                 case 8: //8자리일 경우
                        ITEM->Open();
                        ITEM->SetKey();
                        ITEM->FieldByName("A_CODE")->AsString = Edit1->Text.c_str();//상품코드

                        if(ITEM->GotoKey())
                        {
                                Edit2->Text = ITEM->FieldByName("A_NAME")->AsString;//상품명
                                Edit3->Text = ITEM->FieldByName("A_MIPG")->AsString;//매입가
                                Edit4->Text = ITEM->FieldByName("A_PANG")->AsString;//판매가
                                Edit5->Text = ITEM->FieldByName("A_GRCO")->AsString;//거래처코드
                                Edit6->Text = ITEM->FieldByName("A_BMCO")->AsString;//부문코드
                                if(ITEM->FieldByName("A_GSGU")->AsString == "0")    //면과세구분
                                {
                                        CB1->ItemIndex = 0;//과세선택
                                }
                                else if(ITEM->FieldByName("A_GSGU")->AsString == "1")
                                {
                                        CB1->ItemIndex = 1;//면세선택
                                }
                                Edit7->Text = ITEM->FieldByName("A_JEGO")->AsString;//재고량
                                Edit3->SetFocus();
                        }
                        else
                        {
                                Edit2->SetFocus();
                        }
                        ITEM->Close();
                        break;
                case 13: //13자리일 경우
                        ITEM->Open();
                        ITEM->SetKey();
                        ITEM->FieldByName("A_CODE")->AsString = Edit1->Text.c_str();

                        if(ITEM->GotoKey())
                        {
                                Edit2->Text = ITEM->FieldByName("A_NAME")->AsString;
                                Edit3->Text = ITEM->FieldByName("A_MIPG")->AsString;
                                Edit4->Text = ITEM->FieldByName("A_PANG")->AsString;
                                Edit5->Text = ITEM->FieldByName("A_GRCO")->AsString;
                                Edit6->Text = ITEM->FieldByName("A_BMCO")->AsString;
                                if(ITEM->FieldByName("A_GSGU")->AsString == "0")
                                {
                                        CB1->ItemIndex = 0;
                                }
                                else if(ITEM->FieldByName("A_GSGU")->AsString == "1")
                                {
                                        CB1->ItemIndex = 1;
                                }
                                Edit7->Text = ITEM->FieldByName("A_JEGO")->AsString;
                                Edit3->SetFocus();
                        }
                        else
                        {
                                Edit2->SetFocus();
                        }
                        ITEM->Close();
                        break;
        }
}

+ -

관련 글 리스트
12219 포스프로그램을 짜고 있습니다..스캐너에 관련된 질문을 드릴려구 합니다..아직은 왕 허접이라..고수님들의 시후 681 2001/10/31
12221     Re:포스프로그램을 짜고 있습니다..스캐너에 관련된 질문을 드릴려구 합니다..아직은 왕 허접이라..고수님 로렌조 728 2001/11/01
12230         Re:Re:포스프로그램을 짜고 있습니다..스캐너에 관련된 질문을 드릴려구 합니다..아직은 왕 허접이라..고수 시후 678 2001/11/01
12236             Re:Re:Re:포스프로그램을 짜고 있습니다..스캐너에 관련된 질문을 드릴려구 합니다..아직은 왕 허접이라.. 로렌조 692 2001/11/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.