• XSS.stack #1 – первый литературный журнал от юзеров форума

Помогите пожалуйста исправить ошибки в Delphi

sao322

floppy-диск
Пользователь
Регистрация
10.04.2019
Сообщения
1
Реакции
0
Может кто то сможет помочь?


сначала я ввожу цифры во все строки потом сохраняю в TXt и когда я открываю его(Txt) через приложение в углу всегда вместо моего числа которое было изначально появляется Число 0

3252





Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    lbl1: TLabel;
    edt_m: TEdit;
    StringGrid1: TStringGrid;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    SaveDialog1: TSaveDialog;
    OpenDialog1: TOpenDialog;
    btn4: TButton;
    mm1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    procedure edit_mExit(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure btn4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 type matr=array  [1..100,1..101] of real;
         vec=array[1..100] of Real;
var
  Form1: TForm1;
 m:integer;
 a:matr;
 c:vec;
 myfile:string;
 fl:TextFile;
implementation

{$R *.dfm}
procedure ReadA;
var i,j:integer;
begin
  for i:=1 to m do
      for j:=i to m+1 do
        a[i,j]:=StrToFloat(Form1.StringGrid1.Cells[j,i]);
end;
procedure Zeidel (n:Integer; a:matr; var x:vec);
var i,j,k,z:Integer;  e,r,s:Real;
begin
  for k:=1 to m do
begin
z:=k;
for i:=1 to n do
begin
s:=a[i,n+1];
for j:=1 to n do s:=s-a[i,j]*x[j];
s:=s/a[i,i];
x[i]:=x[i]+s;
if abs(s)>e then z:=0
end;
if z<>0 then Break;
end;
end; 
 procedure TForm1.Button2Click(Sender: TObject);
 var i,j:Integer;
 begin
   if OpenDialog1.Execute then
      begin
     myfile:=OpenDialog1.FileName;
     AssignFile(fl,myfile);
     Reset(fl);
     for i:=1 to m do
       begin
          for j:=1 to m+1 do
          begin
            Read(fl,a[i,j]);
            StringGrid1.Cells[j,i]:=FloatToStr(a[i,j]);
            end;
       end;
   Readln(fl);
   end;
   CloseFile(fl);
   end;



procedure TForm1.edit_mExit(Sender: TObject);
begin
m:=StrToInt(edt_m.Text);
with  StringGrid1 do
 begin
 RowCount:=m+2;
 Colcount:=m+4;
 Rows[0].Clear;
 Rows[m+1].Clear;
 Cols[0].Clear;
 Cols[m+2].Clear;
 Cols[m+3].Clear;
 Cells[0,0]:='a';
 Cells[m+1,0]:='b';
 Cells[0,m+1]:='Êîðíè X';
 Cells[m+2,0]:='Ïðîâåðêà';
 Cells[m+3,0]:='Ïîãðåùíîñòü';
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var i,j:Integer;
begin
 ReadA;
 if SaveDialog1.Execute then
   begin
     myfile :=SaveDialog1.FileName;
     AssignFile(fl,myfile);
     Rewrite(fl);
     for i:=1 to m do
       begin
       for j:=1 to m+1 do
          begin
              Write(fl,a[i,j]);
              Writeln(fl);
          end;
       end;
       CloseFile(fl);
   end
   else ShowMessage('Íå óêàçàíî èìÿ ôàéëà');
end;
procedure TForm1.Button3Click(Sender: TObject);
var i,j:Integer; s:Real;
begin
 ReadA;
 Zeidel(m,a,c);
 for i:=1 to m do
 StringGrid1.Cells[i,m+1]:=FloatToStr(c[i]);
 for i:=1 to m do
 begin
s:=0;
for j:=1 to m do s:=s+a[i,j]*c[j];
StringGrid1.Cells[m+2,i]:=FloatToStr(s);
StringGrid1.Cells[m+3,i]:=FloatToStr(abs((s-a[i,m+1])/s));
end;


end;

procedure TForm1.btn4Click(Sender: TObject);
begin
  Halt;
end;

procedure TForm1.N3Click(Sender: TObject);
 begin
  ShowMessage('Ïðîãðàììà ðàññ÷åòà ÑËÀÓ.');
  end;
end.
 
Я бы начал с исправления ошибки в заголовке этого топика... Меня всегда настораживали программисты, которые не знают как пишется название языка на котором они якобы пишут свой код...
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх