Может кто то сможет помочь?
сначала я ввожу цифры во все строки потом сохраняю в TXt и когда я открываю его(Txt) через приложение в углу всегда вместо моего числа которое было изначально появляется Число 0
сначала я ввожу цифры во все строки потом сохраняю в TXt и когда я открываю его(Txt) через приложение в углу всегда вместо моего числа которое было изначально появляется Число 0
Код:
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.