Текущий архив: 2004.10.24;
Скачать: 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 вся ветка
Текущий архив: 2004.10.24;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.035 c