Вниз
Скачать: 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.026 c
6-1138704192
Vladislav V
2006-01-31 13:43
2006.05.28
Печать


15-1146745311
Jeer
2006-05-04 16:21
2006.05.28
Ремикс.


15-1146299596
CKaHK
2006-04-29 12:33
2006.05.28
socks 5 server


9-1130193018
TButton
2005-10-25 02:30
2006.05.28
поворот спрайта (програмно)


1-1145271748
Viper_Omsk
2006-04-17 15:02
2006.05.28
Как передать данные из Excel в StringGrid?




   Наверх