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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 18:18   #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);
    procedure FormCreate(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);
      MessageDlg ('Результаты сохранены', mtInformation, [mbOK],0);
   end;
  end
   else
 begin
  for i:=0 to t-1 do
  begin
    stringgrid2.cells[j,i]:=' ';
    Label1.Caption:= 'Нет строк с нулями';
    s:= (Label1.Caption) ;
    MessageDlg ('Результаты сохранены', mtInformation, [mbOK],0);


  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;

procedure TForm1.FormCreate(Sender: TObject);
begin

end;

end.
В строке
Код:
s:= (Label1.Caption);
выдает ошибку
Цитата:
[Error] Unit1.pas(84): Missing operator or semicolon
Никак не могу понять, что необходимо исправить.
И если не трудно, подскажите как вывести в текстовый файл еще и массив.
Я самый порочный ангел и самый безгрешный демон...
Lisёноk вне форума Ответить с цитированием
Старый 01.05.2010, 18:50   #2
Дима я
Форумчанин
 
Регистрация: 06.06.2009
Сообщений: 259
По умолчанию

В этой строчке все ноормально.
Вообше такая ошибка бывает когда чего то не хватает .

Что значит твоя строчка

if l then в этом коде?

Код:
  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);
      MessageDlg ('Результаты сохранены', mtInformation, [mbOK],0);
   end;
  end
Если я тебе помог Ты бы + влепить мне мог.
Дима я вне форума Ответить с цитированием
Старый 01.05.2010, 18:53   #3
vedro-compota
любитель-далеко не
Участник клуба
 
Аватар для vedro-compota
 
Регистрация: 13.04.2010
Сообщений: 1,156
По умолчанию да.........

может у тебя label1 переименован.......
против абортов=за + жизнь;.фкн вгу;_______________________мойблг
vedro-compota вне форума Ответить с цитированием
Старый 01.05.2010, 18:57   #4
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Чтобы не получать глупое сообщение об ошибке поставь ";" после оператора. Вот транслятор тебе и сообщает, что её самой-то, родимой, и не хватает!!!

Вот тут
Код:
      stringgrid2.cells[j,i]:=inttostr(a[i,j])
      s:= (Label1.Caption);
И скобки тут совсем не к месту, можно и без них... Я имею ввиду для Label1.Caption....
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 01.05.2010 в 19:10.
Grag вне форума Ответить с цитированием
Старый 01.05.2010, 23:16   #5
Lisёноk
Пользователь
 
Регистрация: 08.03.2010
Сообщений: 75
По умолчанию

ой :-[ вечная моя невнимательность(((((((
А подскажите, как сделать, что бы еще и массив второй выводить можно было?))
Пожалуйста!
Я самый порочный ангел и самый безгрешный демон...

Последний раз редактировалось Lisёноk; 02.05.2010 в 19:14.
Lisёноk вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi. Сохранение в текстовый документ. Волчица Помощь студентам 5 29.04.2010 01:44
Сохранение ValueListEditor в файл (текстовый) Vol666 Общие вопросы Delphi 21 12.09.2009 11:50
Сохранение в текстовый файл Askat Общие вопросы Delphi 11 26.02.2008 14:47
Текстовый файл в текстовый массив Kimimaru Общие вопросы C/C++ 1 02.12.2007 11:55
Консольная программа на Си: ввод, вывод, сортировка, сохранение в текстовый файл. zerg Помощь студентам 8 16.11.2007 12:57