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

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.043 c
14-1096884818
1008
2004-10-04 14:13
2004.10.24
Теоретически всё правильно, а вот на практике ...


3-1096141609
Вадим
2004-09-25 23:46
2004.10.24
Сумма времени


14-1096613025
Григорьев Антон
2004-10-01 10:43
2004.10.24
Куда бы съездить в выходные?


6-1092814132
Sergey Vorobyev
2004-08-18 11:28
2004.10.24
Как настроить шлюз?


3-1096112736
Алексей
2004-09-25 15:45
2004.10.24
DBGrid и номер записи





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский