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

Вниз

вопрос по типу "file of byte"   Найти похожие ветки 

 
antonn ©   (2006-05-10 16:47) [0]

ну вот, пришлось столкнуться с file of, и вопрос такой появился.
в одном классе для работы описана такая вещь:
File1: file of byte;

работают с ней там соответвенно:
AssignFile(File1, FFilename);
Reset(File1);
while not eof(File1) do ReadBlock;
CloseFile(File1);


при этом File1 заполняется файлом, путь на который хранится в FFilename.
Мне же теперь нужно заполнить File1 из TMemoryStream, и я вообще в непонятках, как это сделать?..
и при этом, очистить от предыдущих данных перед заполнением.
есть ли что то типа AssignMemory? :)


 
Desdechado ©   (2006-05-10 17:00) [1]

> File1 заполняется файлом, путь на который хранится в FFilename
нет, file1 - это всего лишь переменная управления файлом, в ней нет содержимого файла
содержимое находится в переменной, которую подпихнешь в функцию Read


 
antonn ©   (2006-05-10 18:33) [2]

хи-хи-хи, как, иногда, неприятно чувствовать себя идиотом... :)

тогда такой вопрос:
к предыдущему коду локально описывается var theByte: array[0..7] of byte;
в процедуре ReadBlock такой код:
BlockRead(File1, theByte, 8);
методом тыка поянл, что в theByte находятся не первые 8 байт файла, а как то иначе...
если убрать "while not eof(File1) do", т.е. просто оставить ReadBlock; то будут первые 8 байт.
Как понять, каким образом там заполняется-то?

ЗЫ я не совсем идиотские вопросы задаю? :)


 
Desdechado ©   (2006-05-10 18:39) [3]

каждое чтение блока приводит (если нет ошибки) к заполнению переменной считанными байтами и перемещению указателя в файле на следующий за считанными байт
поэтому твое чтение в цикле дает последние считанные из файла байты


 
antonn ©   (2006-05-10 19:00) [4]

ладно, ну его нафиг, этот указатель, "пляшет" по всему юниту, ессно пишется всякая хрень..
спасибо, вопрос закрыт:(


 
antonn ©   (2006-05-10 19:01) [5]

Desdechado ©   (10.05.06 18:39) [3]
поэтому твое чтение в цикле дает последние считанные из файла байты

кстати, они там не последние... я потому и запнулся, что логики нет.



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

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

Наверх




Память: 0.47 MB
Время: 0.044 c
2-1146933146
asd
2006-05-06 20:32
2006.05.28
Возможно ли копирование данных из Excel в базу данных?


15-1146089696
Германн
2006-04-27 02:14
2006.05.28
Ресурсы GDI


2-1147603543
EZHIK
2006-05-14 14:45
2006.05.28
Команда goto или что-то наподобие...


1-1145128372
Volf_555
2006-04-15 23:12
2006.05.28
Проблема с вызовом процедуры из DLL


2-1147257319
alkin
2006-05-10 14:35
2006.05.28
Как отсортировать TreeView по ВТОРОЙ колонке ?