Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
Маргарита   (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 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.03.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
2-1370690219
oliksin
2013-06-08 15:16
2014.03.23
Как вывести сумму строк из мемо?


6-1271671471
bwwebm
2010-04-19 14:04
2014.03.23
WinSocket / Сокеты / RAW Socket - паралельное чтение


2-1369985084
Owl
2013-05-31 11:24
2014.03.23
работа с TStringStream


2-1369649164
alexdn
2013-05-27 14:06
2014.03.23
Мигает картинка


2-1370624079
stas
2013-06-07 20:54
2014.03.23
Форматирование текста командой format





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский