Тема: Memo +
Показать сообщение отдельно
  #1  
Старый 25.02.2014, 00:47
GrabbeR GrabbeR вне форума
Новичок
 
Регистрация: 15.03.2012
Сообщения: 54
Версия Delphi: 7
Репутация: 10
По умолчанию Memo +

При нажатии на 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;
Вложения
Тип файла: 7z 2.7z (5.7 Кбайт, 2 просмотров)
Ответить с цитированием