Показать сообщение отдельно
  #94  
Старый 18.04.2008, 20:42
AndrYxo AndrYxo вне форума
Начинающий
 
Регистрация: 04.04.2008
Сообщения: 115
Репутация: 10
По умолчанию

У меня снова вопрос - нужно мне передеалть прогу из вида - 10 кнопок на 1 стринггрид в вид - 1 кнопка на 10 стринггридов.. в общем нужно что бы при нажатии на 1 кнопку заполнялись 3 стринггрида 3-мя матрицами - я это сделал - вот код: (к стати - если можно его как-то сократить, напишите плиз - ато придераются к моим огромным кодам)

Код:
procedure TForm5.Button6Click(Sender: TObject);
var i,j:integer;
begin
begin
n:=7;
m:=11;
setlength(C,n,m);
stringgrid3.RowCount:=n;
stringgrid3.ColCount:=m;
for i:=0 to n-1 do
for j:=0 to m-1 do
  begin
  C[i,j]:=cos(14*j+1);
  stringgrid3.Cells[j,i]:=FormatFloat('0.00',C[i,j]);
  end;
end;
begin
n:=8;
m:=15;
setlength(B,n,m);
stringgrid2.RowCount:=n;
stringgrid2.ColCount:=m;
for i:=0 to n-1 do
for j:=0 to m-1 do
  begin
  B[i,j]:=sin(3.2*j+4.2)+power(exp(1),tan(i));
  stringgrid2.Cells[j,i]:=FormatFloat('0.00',B[i,j]);
  end;
end;
begin
n:=12;
m:=9;
setlength(A,n,m);
stringgrid1.RowCount:=n;
stringgrid1.ColCount:=m;
for i:=0 to n-1 do
for j:=0 to m-1 do
  begin
  A[i,j]:=sin(j)/cos(j)+exp(cos(i));;
  stringgrid1.Cells[j,i]:=FormatFloat('0.00',A[i,j]);
  end;
end;
end;

Но проблема у меня в слудующем - нужно на 2-ю кнопку сделать, что бы поменялись определенные столбцы в до этого выведенных матрицах - тоесть еще в 3 стринггрида выводятся 3 новые матрицы (те же - но с замененным столбцами) 0 пихаю типа как выше для заполнения - не работает... вот коды для замены столбцов 3-х матриц - подскажите, пожалуйста, если не трудно...

замена столбцов в А
Код:
procedure TForm5.Button7Click(Sender: TObject);
var i,j,t:integer;
tmp:real;

begin
m:=stringgrid1.ColCount;
k:=0;
l:=8;
for i:=0 to n-1 do
  begin
  tmp:=A[i,k];
  A[i,k]:=A[i,l];
  A[i,l]:=tmp;
  end;
for t:=0 to n-1 do
for j:=0 to m-1 do
stringgrid4.Cells[j,t]:=FormatFloat('0.00',A[t,j]);
end;

замена в B
Код:
procedure TForm5.Button9Click(Sender: TObject);
var i,j,t:integer;
tmp:real;

begin
m:=stringgrid1.ColCount;
k:=2;
l:=4;
for i:=0 to n-1 do
  begin
  tmp:=B[i,k];
  B[i,k]:=B[i,l];
  B[i,l]:=tmp;
  end;
for t:=0 to n-1 do
  begin
  for j:=0 to m-1 do
    begin
    stringgrid1.Cells[j,t]:=FormatFloat('0.00',B[t,j]);
    end;
  end;
end;

замена в С
Код:
procedure TForm5.Button5Click(Sender: TObject);
var i,j,t:integer;
tmp:real;
begin
m:=stringgrid1.ColCount;
k:=0;
l:=10;
for i:=0 to n-1 do
  begin
  tmp:=C[i,k];
  C[i,k]:=C[i,l];
  C[i,l]:=tmp;
  end;
for t:=0 to n-1 do
for j:=0 to m-1 do
stringgrid1.Cells[j,t]:=FormatFloat('0.00',C[t,j]);
end;

Заранее спасибо - ато у меня уже взрыв мозга от это программы