아래 처럼 버튼이 클릭할때마다 카운터(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;
사용하신 배열의 타입을 알고 싶은데 그건 없네요..
그리고 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;
//
보여주신 코드에서는 별 이상이 없어 보입니다...
디버깅 모드에서 배열에 값이 제대로 들어가는 지 확인해 보세요..
그렇지 않다면 다른부분에 이상이 있는걸껍니다 그럼.. 즐거운시간 되세요