![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ламерский вопрос
_Saha_ © (2002-10-29 10:55:00)Привет всем!
Помогите начинающему. Суть проблемы: есть файл, содержимое которого 00h .. FFh, т.е. все что угодно, размер 32К-64К, необходимо вырвать (выгрызть, и т.п.) кусок, ну скажем 20 байт (размер сразу не известен, и может меняться), поработать с этим куском, потом взять другой кусок и т.д. Как это лучше сделать?
Через read(f) по одному байту, мне кажется будет долго, если вдгуг придется считывать >32K, а через BlockRead у меня как-то коряво получается. Хотелось бы в какую-нибудь строковую переменную выгрузить нужный кусок, да вот беда вылетает ошибка, а про переменную пишет что-то типа ancasable value. А задавать сразу массив типа char, а какой длины?
Спасибо.
_saha_ (2002-10-29 18:47:00) [1]Я все осознал, это индекс с которого идет запись. Собственно в этом и была основная проблема. Спасибо.
MBo (2002-10-29 18:47:00) [2]>_saha_
Ты, видимо, хелп не читал.
Второй параметр - по какому адресу записывать прочитанное из файла. s[1] - как раз начало строки
_saha_ (2002-10-29 18:40:00) [3]BlockRead(F,s[1],i) - а зачем указывать s[1] ? я же вроде хочу сразу прочитать 20 байт (ну или сколько-то там)
Jack128 (2002-10-29 16:44:00) [4]>>Хотелось бы в какую-нибудь строковую переменную выгрузить >>нужный кусок, да вот беда вылетает ошибка, а про переменную ?>>пишет что-то типа ancasable value
Не понял что за ошибка но скорее всего суть в том что ты не задаешь длину строки
например :
var s : string; f : file;
begin
...
setLenght(s,i); i-сколько надо читать
BlockRead(F,s[1],i);
...
end;
F1 (2002-10-29 12:33:00) [5]TFileStream удобная вещь!!!
Anatoly Podgoretsky (2002-10-29 11:02:00) [6]Динамической
Андрей Прокофьев (2002-10-29 10:57:00) [7]>>а через BlockRead у меня как-то коряво получается?
В чем корявость?!