![]() |
|
#1
|
|||
|
|||
![]() При нажатии на button1 получается результат в memo:
| 1 | 2 | 3 | 4 | 5 | 6 а нужно так: | 1 | 4 | 2 | 5 | 3 | 6 Как сделать?) Код:
private Edits:array[1..3,1..1] of TEdit; Edits2:array[1..3,1..1] of TEdit; Results:array[1..3,1..1] of integer; Results2:array[1..3,1..1] of integer; public ... end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); const StartIndex:array[1..3]of integer=(1,2,3); StartIndex2:array[1..3]of integer=(4,5,6); var i,j, i2,j2: Integer; begin for i:=1 to 3 do for j:=1 to 1 do Edits[i,j]:=TEdit(FindComponent('Edit'+Inttostr((StartIndex[i]+j-1)))); for i2:=1 to 3 do for j2:=1 to 1 do Edits2[i2,j2]:=TEdit(FindComponent('Edit'+Inttostr((StartIndex2[i2]+j2-1)))); end; procedure TForm1.Button1Click(Sender: TObject); var i, j, i2, j2: Integer; StrResult, StrResult2, s, s2 : String; begin Label1.Caption := '1'; Button2Click(nil); StrResult := ''; StrResult2 := ''; //-------------- for j := 1 to 3 do begin s := ''; for i := 1 to 1 do s := s + ' | ' + IntToStr(Results[j, i]); StrResult := StrResult + s + #13#10; end; for i := 1 to 3 do for j := 1 to 1 do Results[i, j] := 0; //-------------- for j2 := 1 to 3 do begin s2 := ''; for i2 := 1 to 1 do s2 := s2 + ' | ' + IntToStr(Results2[j2, i2]) + ' | ' + IntToStr(Results[j, i]); StrResult2 := StrResult2 + s2 + #13#10; end; for i2 := 1 to 3 do for j2 := 1 to 1 do Results2[i2, j2] := 0; //-------------- Memo1.Lines.Text := StrResult2; //Memo2.Lines.Text := ; end; procedure TForm1.Button2Click(Sender: TObject); var i,j, i2,j2: Integer; begin Label1.Caption:=IntToStr(StrToInt(Label1.Caption)+1); for i:=1 to 3 do begin for j:=1 to 1 do begin inc(Results[i,j],StrToIntDef(Edits[i,j].Text,0)); Edits[i,j].Text:='0'; end; end; for i2:=1 to 3 do begin for j2:=1 to 1 do begin inc(Results2[i2,j2],StrToIntDef(Edits2[i2,j2].Text,0)); Edits2[i2,j2].Text:='0'; end; end; end; |