Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Делфи _ Трабл со StringGrid

Автор: nblazhko 24.04.2008 20:21

Нужно чтобы программа после добавления 1 строки из файла,добавляла из него в след. строку,но если писать в файл больше чем на 3 строки программа виснет


unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
StringGrid1: TStringGrid;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
i:byte;
name,zhanr,raz:string;
f:textfile;
begin
assignfile(f,'love.txt');
{rewrite(f);}
i:=0;
reset(f);
while not EOF(f) do //думаю здесь запара
begin
inc(i);
reset(f);
readln(f, name);
StringGrid1.Cells[0,i]:=name;
readln(f, zhanr);
StringGrid1.Cells[1,i]:=zhanr;
readln(f, raz);
StringGrid1.Cells[2,i]:=raz;
end;
closefile(f);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
with StringGrid1 do
begin
Cells[0,0]:='Íàçâàíèå';
Cells[1,0]:='Æàíð';
Cells[2,0]:='Ðàçìåð';
end;
end;
end.


Автор: volvo 24.04.2008 20:29

while not EOF(f) do   //думаю здесь запара
begin
inc(i);
reset(f); // А я думаю, что здесь !!!
...


Автор: nblazhko 24.04.2008 20:30

Благодарю,все заработало! good.gif