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

Вниз

вопрос по типу "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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.011 c
15-1146715821
БарЛог
2006-05-04 08:10
2006.05.28
Со знаменитого испанского стадиона воры украли... крышу


15-1146242813
Бугага
2006-04-28 20:46
2006.05.28
Вывод дроби


2-1147267890
49 Cent
2006-05-10 17:31
2006.05.28
Не удается найти строку для обновления.


9-1130783574
NightLord
2005-10-31 21:32
2006.05.28
Text в DelphiX


15-1146580228
geserx111
2006-05-02 18:30
2006.05.28
вопрос модераторам





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