Можете объяснить или помочь решить проблему, ошибка в 101 строке "[Error] Unit1.pas(101): Incompatible types: 'Integer' and 'Extended'"
Прилагается весь код и картинка.
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DB, ADODB;
type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
StringGrid2: TStringGrid;
Label4: TLabel;
Button6: TButton;
Button7: TButton;
ADOTable1: TADOTable;
ADOConnection1: TADOConnection;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
SG1 : Array[1..4,1..5] Of Real;
SG2 : Array[1..4] Of Real;
i, j, k, buf, p, index, res : Integer;
max : Real;
f:Text;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
k := 1;
For i:=1 To 4 Do
For j:=1 To 5 Do
Begin
If ((k Mod 2) <> 0) Then
StringGrid1.Cells[j-1,i-1] := FloatToStr(k - 1)
Else
StringGrid1.Cells[j-1,i-1] := FloatToStr(k + 1);
k := k + 1;
End;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Randomize;
For i:=1 To 4 Do
For j:=1 To 5 Do
StringGrid1.Cells[j-1,i-1] := FloatToStr(50 - Random(101));
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
For i:=1 To 4 Do {ñòîëáöû}
For j:=1 To 5 Do { ñòðîêè }
If (StringGrid1.Cells[j-1,i-1]='') Then { StringGrid1.Cells[ñòðîêà,ñòîëáåö]}
SG1[i,j] := 0 { SG1[ñòîëáåö,ñòðîêà] }
Else
SG1[i,j] := StrToFloat(StringGrid1.Cells[j-1,i-1]);
For i:=1 To 4 Do {ñòîëáöû}
begin
SG2[i] := 1;
For j:=1 To 5 Do { ñòðîêè }
begin
p := -1; { ïàðíîñòü íåîïðåäåëåíà}
index := j; {ôèêñèðóåì index}
For k:=1 To 5 Do
begin
if k <> index then
begin
if SG1[i, k] = SG1[i, index] then
p := 1; {ýëåìåíò ïàðíûé}
p := 0; {ýëåìåíò íåïàðíûé}
end;
end;
if p = 1 then res := 3.2 + SG1[i, j]; { íåïàðíûé 3.2+i }
else
begin
if p = 0 then res := 6.4 - SG1[i, j] { ïàðíûé 6.4+i }
{ else îøèáêà}
end;
{ çíà÷åíèÿ ýëåìåíòîâ îäíîìåðíîãî ìàññèâà StringGrid2.Cells
ñîñòîÿò èç ïðîèçâåäåíèÿ ïîëîæèòåëüíûõ çíà÷åíèé ýëåìåíòîâ
ñòîëáöîâ äâóõìåðíîãî ìàññèâà }
if res > 0 then
begin
SG2[i] := SG2[i] * res;
end;
End;
End;
For i:=1 To 4 Do
StringGrid2.Cells[0,i-1] := FloatToStr(SG2[i])
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
For i:=1 To 4 Do
For j:=1 To 5 Do
StringGrid1.Cells[j-1,i-1] := ' ';
For i:=1 To 4 Do
Begin
StringGrid2.Cells[0,i-1] := ' ';
SG2[i] := 0;
End;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Close
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
AssignFile(f,GetCurrentDir+'\F.txt');
Reset(f);
For i:=1 To 4 Do
For j:=1 To 5 Do
Begin
Read(f,buf);
StringGrid1.Cells[j-1,i-1] := IntToStr(buf);
End;
CloseFile(f);
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
With ADOTable1 Do
Begin
Active:=True;
First;
For i:=1 To 4 Do
For j:=1 To 5 Do
begin
StringGrid1.Cells[j-1,i-1] := IntToStr(Integer(FieldValues['chislo']));
Next;
End;
end;
AdoConnection1.Close;
end;
end.