Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.027 c
15-1146384583
Rule
2006-04-30 12:09
2006.05.28
Нет ли желания сделать мастак пати ???


15-1146660335
RomanH
2006-05-03 16:45
2006.05.28
Экспорт данных из SQL Explorer


2-1147531542
AlexanderMS
2006-05-13 18:45
2006.05.28
Проблема. Программа "не успевает" вывести Hint в StatusBar.


15-1146055921
Nic
2006-04-26 16:52
2006.05.28
Что для России означает снижение курса доллара?


15-1146758477
Empleado
2006-05-04 20:01
2006.05.28
Еврейская музыка




   Наверх