Q&A

  • 에디트 창에 연속해서 데이터 입력을 받고 배열에 넣으려면??
아래 처럼 버튼이 클릭할때마다 카운터(click)을 써서 증가시키고
배열에 담으려고 하는데..
배열에 값이 안 들어가나봐요
출력도 안 되요
고수님들~ 좀 가르쳐 주세요~ ㅜ.ㅜ

방법이 틀렸나요?
그럼 에디터 창에 값을 받고 입력버튼을 눌러서 배열 0번째 저장하고
또 값을 받아서 입력버튼을 누르면 1번째에 저장되구..
그렇게 하려면 어떻게 해야하죠??
부탁드려요~



procedure TForm1.Button2Click(Sender: TObject); //입력버튼
var
        i: Integer;

begin
        Inc(click); //버튼이 눌릴때마다 증가

        num[click-1] := Edit1.text;
        code[click-1] := Edit2.text;
        ho[click-1] := Edit3.text;
        mail[click-1] := Edit4.text;
        bon[click-1] := Edit5.text;
        income[click-1] := Edit6.text;



        for i := 0 to (click-1) do
            begin
        {


        Case StrToInt(income[i]) of //급여계산
                0..200 :
                       sa_pay[i] := StrToInt(bon[i])+StrToInt(income[i])*0.1-StrToInt(bon[i])*0;

                // 생략
        end;      //case end


              
             // 두번째 폼에 정보 출력
                Form2.label9.caption := num[i];     //사원정보
                Form2.label10.caption := code[i];   //부서코드
                Form2.label11.caption := ho[i];     //호봉
                Form2.label12.caption := mail[i];   //이메일
                       Form2.Label13.caption := FloatToStr(sa_pay[i]); //급여


        end;  // for end

end;

// 초기화 부분
procedure TForm1.FormCreate(Sender: TObject);
begin
                click := 0;
                cnt := 0;
  Button1Click(Sender);
end;
2  COMMENTS
  • Profile
    하얀까마귀 2003.01.30 00:27
    안녕하세요 하얀까마귀 입니다.

    사용하신 배열의 타입을 알고 싶은데 그건 없네요..

    그리고 button1Click 도... ^^

    배열에 대해서... 지금 사용하신것처럼 하시면 되거든요?

    선언에서..
    num : array[0..100] of String;
    이건 배열이 고정되어 있어서 갯수가 한계가 있죠.

    num : array of String;
    이넘은 지정인 안되어잇는 동적배열 입니다. 님께서는 이걸 사용하시는게

    좋을듯 하네요..

            Inc(click); //버튼이 눌릴때마다 증가
    //이부분에 추가..
        SetLength( num, click );
        SetLength( code, click );
    // 모두 설정 해줘야 겠죠?

            num[click-1] := Edit1.text;
            code[click-1] := Edit2.text;
            ho[click-1] := Edit3.text;
            mail[click-1] := Edit4.text;
            bon[click-1] := Edit5.text;

    //

    보여주신 코드에서는 별 이상이 없어 보입니다...

    디버깅 모드에서 배열에 값이 제대로 들어가는 지 확인해 보세요..

    그렇지 않다면 다른부분에 이상이 있는걸껍니다 그럼.. 즐거운시간 되세요




  • Profile
    maro 2003.01.30 01:15
    답변 감사합니다.
    배열에 값이 제대로 들어가는데..
    계속 배열 0번째만 찍어봐서.. 모두 똑같은 값이 들어가는 줄 알았답니다.
    그것도 하루종일 그러고 있었으니.. ㅠ.ㅠ
    에궁..
    정신차려야지..

    답변 감사합니다. ^^