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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2010, 17:52   #1
Any13
Пользователь
 
Регистрация: 06.12.2009
Сообщений: 10
По умолчанию Обработка файловых структур данных

Подскажите, что делать. Сохраняю в программе файл с расширением dat, потом нажимаю октрыть в этой же программке, а она не видит этот файл. Вот текст программы.
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button4: TButton;
LabeledEdit1: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
StringGrid1: TStringGrid;
Button2: TButton;
Button1: TButton;
OpenDialog1: TOpenDialog;
SaveDialog1: TSaveDialog;
LabeledEdit3: TLabeledEdit;
LabeledEdit5: TLabeledEdit;
StringGrid2: TStringGrid;
Label1: TLabel;
BitBtn1: TBitBtn;
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var n,m,xn,xk,i,j:integer;
Ssr:real;
x:array of array of integer;
begin
randomize;
n:=strToInt(LabeledEdit2.Text);
m:=strToInt(LabeledEdit1.Text);
xn:=strToInt(LabeledEdit3.Text);
xk:=strToInt(LabeledEdit5.Text);
StringGrid1.RowCount:=n;
StringGrid2.RowCount:=n;
StringGrid1.ColCount:=m;
Setlength(x,n,m);
for i:=0 to n-1 do
begin
Ssr:=0;
for j:=0 to m-1 do
Begin
x[i,j]:=random(xk-xn+1)+xn;

Ssr:=Ssr+x[i,j];
end;
Ssr:=Ssr/m;
StringGrid2.Cells[0,i]:=FormatFloat('0.00',Ssr);
end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
close
end;

procedure TForm1.Button4Click(Sender: TObject);

var F1:TextFile;
i,j:integer;
begin
if SaveDialog1.Execute then
begin
AssignFile(f1,SaveDialog1.FileName+ '.dat');
Rewrite(f1);
with StringGrid1 do
for i:=0 to RowCount do
begin
for J:=0 to ColCount do
Write(f1,Cells[j,i]+' ');
writeln(f1);
end;
CloseFile(f1);
end;
end;


procedure TForm1.Button2Click(Sender: TObject);
var F1:TextFile;
i,j:integer;
s:char;
a:integer;
begin
if OpenDialog1.Execute then
begin
AssignFile(f1,OpenDialog1.FileName) ;
Reset(f1);
j:=0;
while not(SeekEof(f1)) do
begin
i:=0;
while not(SeekEof(f1)) do
begin
read(f1,a);
StringGrid1.Cells[j,i]:=IntToStr(a);
i:=i+1;
end;
readln(f1);
j:=j+1;
end;
CloseFile(f1);
LabeledEdit2.Text:=IntToStr(i);
LabeledEdit1.Text:=IntToStr(j);
end;
end;
end.
Any13 вне форума Ответить с цитированием
Старый 06.04.2010, 18:07   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

И что же это такое???
Код:
while not(SeekEof(f1)) do
А это?
Код:
read(f1,a);
StringGrid1.Cells[j,i]:=IntToStr(a);
если записываешь в файл как
Код:
for J:=0 to ColCount do
Write(f1,Cells[j,i]+' ');
Кроме того работаешь ты со StringGrid и файловую переменную определяешь как var F1:TextFile; т.е. файл то текстовый
Перемешивай дело с бездельем и не сойдешь с ума...

Последний раз редактировалось Grag; 06.04.2010 в 18:11.
Grag вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программирование с использованием структур данных стэк Nostalgia Помощь студентам 0 24.02.2010 20:20
реализация линейных структур данных в подпрограммах ArniLand Общие вопросы C/C++ 0 31.01.2010 01:20
Help с разбором структур данных в Си War13 Помощь студентам 0 26.10.2009 19:55
Обработка массивов структур с использованием контейнеров artyom060791 Помощь студентам 0 14.04.2009 22:43
задача на обработку строк и простейших структур данных LyaLyaLya Помощь студентам 2 19.12.2008 01:41