Вниз
Скачать: CL | DM;

проблема с записью в типизированный файл   Найти похожие ветки 

← →
Маргарита   (2013-06-01 00:38) [0]

Записываю и считываю файл вот таким образом:

unit Unit2;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, jpeg, ExtCtrls, Menus, ExtDlgs;

type
TStudent=record
fam,imya,otch:string[255];
spec1,spec2,spec3:string[255];
ball:integer;
end;
var
Form2: TForm2;
Student:TStudent;
Fi:File of TStudent;

procedure TForm2.N6Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
AssignFile(Fi,OpenDialog1.FileName);
Reset(Fi);
Student.fam:=fam;
Student.imya:=imya;
Student.otch:=otch;
Student.spec1:=spec1;
Student.spec2:=spec2;
Student.spec3:=spec3;
Student.ball:=ball;
Write(Fi,Student);
CloseFile(Fi);
end;
end;
procedure TForm3.N2Click(Sender: TObject);
if OpenDialog1.Execute then
begin
AssignFile(Fi,OpenDialog1.FileName);
Reset(Fi);
Memo1.Clear;
while not EOF(Fi) do
begin
Read(Fi, Student);
Memo1.Lines.Add("Фамилия: " + Student.fam + " Имя: " + Student.imya +"Отчество: " +Student.otch);
Memo1.Lines.Add("Выбранные специальности: "+Student.spec1+"  "+Student.spec2+" "+Student.spec3);
Memo1.Lines.Add("Количество баллов: "+inttostr(Student.ball));
end;
CloseFile(Fi);
end;


и на строчке:


Write(Fi,Student);


выдает ошибку "I/O error 6"
в чем проблема?


← →
Германн ©   (2013-06-01 01:45) [1]


>  begin
>  if SaveDialog1.Execute then
> begin
>  AssignFile(Fi,OpenDialog1.FileName);
>


← →
Германн ©   (2013-06-01 01:57) [2]

Возможно из-за таких "ляпов" действительно стоит отказаться от работы с файлами через Assign, Reset/Rewrite и т.д.
Ведь AssignFile c "пустым" именем файла допустим, ибо подразумевает подключение к StdIn/StdOut. Но StdOut умеет выводить только простые типы, а StdIn умеет вводить только их.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.003 c
2-1370989337
Martin
2013-06-12 02:22
2014.03.23
наложение bmp.


2-1371628834
DanilTraum
2013-06-19 12:00
2014.03.23
Рекурсия с квадратом


2-1370709869
sanekgyrev
2013-06-08 20:44
2014.03.23
Написал,но вкралась ошибка( выделена восклицательным знаком)


15-1381005002
Юрий
2013-10-06 00:30
2014.03.23
С днем рождения ! 6 октября 2013 воскресенье


6-1271980517
Дмитрий С
2010-04-23 03:55
2014.03.23
Получения текста TXT записи зоны.




   Наверх