Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.19;
Скачать: CL | DM;

Вниз

Чтение данных из типизированного файла   Найти похожие ветки 

 
Yeg   (2006-02-28 15:58) [0]

Здравствуйте! Мне надо прочитать из файла определённую структуру данных. Описание типа файла у меня есть. Я первый раз пытаюсь сделать сабж, поэтому у меня особо ничего не получается.
Как я делаю:
1. Описываю структуру файла в Delphi:

type
 filestr = record
   //тут пишу, что есть что, т.е. к примеру name: string; surname: string; age: byte;
   end;


2. В переменных:

 f: file of filestr;
 block: filestr;


3. Далее, я читаю всё это дело из файла:

AssignFile(f, ".\filename.dat");
reset(f);
Read(f, block);
Closefile(f);


Но потом оказывается, что прочиталось не совсем то, что надо. Может ли это быть из-зи того, что мне надо только часть файла прочитать, а я в filestr описываю как бы, как целый файл, а на самом деле, это только один блок, часть файла?
Структуру я точно описываю правильно.


 
MBo ©   (2006-02-28 16:01) [1]

>к примеру name: string;
При данном методе записи-чтения нельзя использовать поля - длинные строки.
Компилятор, кстати, должен предупреждать об этом


 
Yeg   (2006-02-28 16:02) [2]

Ой, извините, я не так писал...

string[32]

Вот так, например. Так же можно?


 
novice_man ©   (2006-02-28 16:06) [3]

Yeg   (28.02.06 15:58)
filestr = packed record
А вообще, проверь в каком-либо редакторе (UEdit например) что там записано.


 
Yeg   (2006-02-28 16:35) [4]

А чем отличается packed record от просто record?

UEdit, если я ту ссылку нашёл, очень много весит (~6mb). А никакой другой программы нет? Меньше размером?


 
MBo ©   (2006-02-28 16:38) [5]

>string[32]
>Вот так, например. Так же можно?
Да, можно.
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=843


 
begin...end ©   (2006-02-28 16:39) [6]

А можно полный код записи и чтения увидеть?


 
Yeg   (2006-02-28 16:42) [7]

MBo ©   (28.02.06 16:38) [5]

Ухты! Спасибо за статью!

begin...end ©   (28.02.06 16:39) [6]

У меня только чтение. Я всё в [1] в 3-ем пункте описал. Это полный код.



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

Текущий архив: 2006.03.19;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.033 c
2-1141559590
Der Nechk@ssoff
2006-03-05 14:53
2006.03.19
подобно Memo


2-1141452138
Ezorcist
2006-03-04 09:02
2006.03.19
Недавняя олимпиада для школьников по прграммерству


2-1141596542
Drager
2006-03-06 01:09
2006.03.19
Drag n Drop


1-1139979185
PlayPlay
2006-02-15 07:53
2006.03.19
Прокрутка клавишами в ListView


8-1127408887
SergProger
2005-09-22 21:08
2006.03.19
Еквалайзер в проигрывателе