Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2010, 19:46   #1
Lisёноk
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 75
По умолчанию Выведение многомерного массива в текстовый файл

Здравствуйте.
Есть программа, которая выводят результаты подсчета в текстовый файл:
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Grids;

type
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Label1: TLabel;
    Button1: TButton;
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    SaveDialog1: TSaveDialog;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure LabeledEdit1Change(Sender: TObject);
    procedure LabeledEdit2Change(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
TYPE TA=ARRAY of array of integer;
var
  Form1: TForm1;
  a:TA; b:Ta;
  i, j, t, d:integer;
  l:boolean;
  f: TEXTFILE;
  s: string;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

procedure findzero (x:TA; y:integer; var found: boolean);
var i,j:integer;
begin
  found:=false;
  For i:=0 to t-1 do
 begin
   For j:=0 to d-1 do
  begin
    if (x[i,j]=0) then
   begin
     found:=true;
     break;
   end;
  end;
 end;
end;

begin
  t:=StrToInt(LabeledEdit1.Text);
  d:=StrToInt(LabeledEdit2.Text);
  SetLength (a,t,d);
  SetLength (b,t,d);

  for i:=0 to t-1 do
 begin
   for j:=0 to d-1 do
  begin
    a[i,j]:=random(10);
    stringgrid1.cells[j,i]:=inttostr(a[i,j]);
  end;
 end;


  for j:=0 to d-1 do
 begin
   findzero(a,i, l);
   if l then
  begin
    for i:=0 to t-1 do
   begin
      Label1.Caption:= 'Есть строки с нулями';
      stringgrid2.cells[j,i]:=inttostr(a[i,j]);
      s:= (Label1.Caption);
      
   end;
  end
   else
 begin
  for i:=0 to t-1 do
  begin
    stringgrid2.cells[j,i]:=' ';
    Label1.Caption:= 'Нет строк с нулями';
    s:= (Label1.Caption) ;



  end;
 end;
 end;
end;

procedure TForm1.LabeledEdit1Change(Sender: TObject);
begin
  t:=StrToInt(labelededit1.Text);
  WITH StringGrid1 DO
  ColCount:=(t);
  Stringgrid2.colcount:=t;

  SetLength(a,t);
  SetLength(b,t);
end;

procedure TForm1.LabeledEdit2Change(Sender: TObject);
begin
  d:=StrToInt(labelededit2.Text);
  WITH StringGrid1 Do
  RowCount:=(d);
  Stringgrid2.rowcount:=d ;

  SetLength(a,d);
  SetLength(b,d);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  with savedialog1 do
  if execute then
 begin
   assignfile (f,filename);
   rewrite(f);
   Writeln(f, s);
   closefile(f);
 end;
end;

end.
Но необходимо, чтобы выводился также массив из StringGrid2. Как это сделать? Вывод должен производиться благодаря переменной s.
Я самый порочный ангел и самый безгрешный демон...
Lisёноk вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нюансы сортировки многомерного массива Хохматый PHP 2 31.01.2010 15:36
Сортировка многомерного массива Evgen1503 Помощь студентам 0 29.01.2010 13:59
Создание и перебор многомерного массива regman PHP 2 27.10.2009 11:29
Проверка многомерного массива на тип сортировки его строк. FatCat Помощь студентам 4 20.12.2008 21:21
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55