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

Record To File   Найти похожие ветки 

← →
Поручик   (2004-10-05 18:25) [0]

Как запихнуть record в file? Вытащить от туда?


← →
Мастер ©   (2004-10-05 18:38) [1]

Так же, как и не Record.


← →
programania ©   (2004-10-05 18:50) [2]

blockWrite(file,record,sizeOf(record));
blockRead(file,record,sizeOf(record));


← →
Суслик ©   (2004-10-05 18:51) [3]

а длинные строки ?
таким же образом - через blockwrite?


← →
programania ©   (2004-10-05 19:03) [4]

>Суслик
blockWrite(file,pointer(record)^,length(record));
seek(file,0);
blockRead(file,pointer(record)^,length(record));


← →
Суслик ©   (2004-10-05 19:08) [5]


> blockRead(file,pointer(record)^,length(record));

Что такое здесь record? String?
Если да, то АV тебе обеспечен...


← →
programania ©   (2004-10-05 19:19) [6]

Record что заказывали: длинная строка
я то проверяю что пишу


← →
Суслик ©   (2004-10-05 19:23) [7]


> я то проверяю что пишу

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

Нужно записать в одном месте, а прочесть в другом. Как ты будешь читать? Ты же длинну строки не занешь


← →
programania ©   (2004-10-05 19:33) [8]

>Суслик
Либо я знаю длину либо читать весь файл и искать конец:
setLength(record,fileSize(file));
blockRead(file,pointer(record)^,length(record));


← →
Суслик ©   (2004-10-05 19:36) [9]


>  [8] programania ©   (05.10.04 19:33)


> setLength(record,fileSize(file));

тогда ок.

ЗЫ. Нужно только внимательно посмотреть, что будет при пустой строке. Честно говоря не помню, как в этом случае сработает BlockRead.


← →
Поручик   (2004-10-05 22:42) [10]

Сохраняю так:
Assign(F, FileName);
rewrite(F,SizeOf(Hero));
blockWrite(f,Hero,SizeOf(Hero));
CLoseFile(F);
А читаю так:
Assign(F, Filename);
reset(F,SizeOf(Hero));
blockWrite(f,Hero,SizeOf(Hero));

Когда работает программа все сохраняется и грузится,
а если войти и выйти ничего не грузится!


← →
XProger ©   (2004-10-05 22:50) [11]


var
F : File of Byte;

FileMode := 64;
// Save
AssignFile(F, FileName);
Rewrite(F);
BlockWrite(F, Hero, SizeOf(Hero));
CloseFile(F);

// Load
AssignFile(F, FileName);
Reset(F);
BlockRead(F, Hero, SizeOf(Hero));
CloseFile(F);


← →
Поручик   (2004-10-05 23:03) [12]

Спасибо XProger!
Ещё вопрос, что значит:
FileMode:=64


← →
OSokin ©   (2004-10-06 19:08) [13]

Имхо его вообще не надо...


← →
Fay ©   (2004-10-06 20:24) [14]

Как эта ветка оказалась в WinAPI?!


← →
XProger ©   (2004-10-07 18:58) [15]

При чтении файлов помеченный как "Только для чтения", Reset(F) выдаёт ошибку. А с FileMode = 64 ничего подобного не произойдёт :)


← →
Доброжелатель1   (2004-10-07 19:10) [16]

>XProger ©   (07.10.04 18:58) [15]
тогда уж
FileMode := fmOpenRead + fmShareDenyNone;


← →
programania ©   (2004-10-07 19:49) [17]

>Rewrite(F);
создает файл с длиной записи 128
>BlockWrite(F, Hero, SizeOf(Hero));
пишет в файл SizeOf(Hero) записей длиной 128
а SizeOf(Hero) байт как вы наверно думали
лучше писать  Rewrite(F,1);



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

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



Память: 0.48 MB
Время: 0.022 c
8-1091104234
Vadik
2004-07-29 16:30
2004.10.24
Работа с видео камерой из Delphi


14-1096934165
Homa_Programer
2004-10-05 03:56
2004.10.24
НОВОСИБИРЦЫ, ПОМОГИТЕ!!!


14-1097006748
lipskiy
2004-10-06 00:05
2004.10.24
"Система завершает работу" - что еще за фигня такая?


8-1091184838
a-n-d-r-e-y
2004-07-30 14:53
2004.10.24
Как вывести картинку на экран другого компьютера


14-1096547992
aleshap
2004-09-30 16:39
2004.10.24
Таблица - Grid




   Наверх