Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как читать файл по байтам? [Delphi]


Nikfel ©   (2009-06-07 19:12:00) 

Подскажите, пожалуйста. Как прочитай несколько байт из файла? Я вроде видел где-то на сайте код, но сейчас найти не могу. Там вроде была проверка что архив rar, за счет чтения нужных байт из файла.


brother   (2009-06-15 10:46:00) [1]

что конкретно нужно проверить?


brother   (2009-06-15 10:45:00) [2]

> Там вроде была проверка что архив rar, за счет чтения нужных
> байт из файла.

первые три байта: Rar!
))))


Плохиш   (2009-06-08 15:45:00) [3]


> Palladin ©   (08.06.09 13:49) [10]
>
> а где там загрузка?

А где там ответ на вопрос автора?


Amoeba   (2009-06-08 14:18:00) [4]

Просто злой я сегодня ...


Andy BitOff   (2009-06-08 14:06:00) [5]


> Amoeba ©   (08.06.09 13:40) [9]

Ну, это вопрос спорный. В зависимости от того как, каким алгоритмом происходит чтение, каков размер файла и т.п. Если при чтении надо скакать по файлу...
Кроче не о чем тут спорить. Я то думал... Такое категоричное высказывание... А на деле пшик.


Palladin   (2009-06-08 13:49:00) [6]

а где там загрузка?


Amoeba   (2009-06-08 13:40:00) [7]

А нафига грузить в память?


Andy BitOff   (2009-06-08 11:56:00) [8]


> Amoeba ©   (08.06.09 11:42) [6]

Да, кстати, хотелось бы обоснование такого высказывания.


Palladin   (2009-06-08 11:50:00) [9]


> Amoeba ©   (08.06.09 11:42) [6]

А в чем его ошибка?


Amoeba   (2009-06-08 11:42:00) [10]


> Andy BitOff ©   (08.06.09 11:31) [5]
>
> Я бы использовал;
> Data: PByteArray;
> tmpStream := TMemoryStream.Create;
> Data := tmpStream.Memory;
> Data[index] := нужный_нам_байт;

Лучше жевать, чем говорить!


Andy BitOff   (2009-06-08 11:31:00) [11]

Я бы использовал;
Data: PByteArray;
tmpStream := TMemoryStream.Create;
Data := tmpStream.Memory;
Data[index] := нужный_нам_байт;


oldman   (2009-06-08 11:07:00) [12]


> Nikfel   (07.06.09 20:12) [1]
> Я так понимаю надо использовать это:
> FileCreate( s, flags )
> FileClose( f ) - закрывает файл;
> FileExists( s ) - проверяет наличие файла по заданному пути;
> FileRead( f, buffer, n ) - читает байты из файла в память;
> FileWrite( f, buffer, n ) - пишет байты из памяти в файл;
> FileEOF( f ) - проверяет, достигнут ли конец файла (при чтении);
> FileSeek( f, moveto, movemethod ) - перемещает указатель чтения/записи в файле;> File2Str( f ) - читает остаток файла как строку.
>
> nikfel   (07.06.09 21:12) [2]
> Можно ли пример использования посмотреть, а то разобраться не могу?


Для начала хватит и этого...


MTsv DN   (2009-06-07 21:27:00) [13]

!!!!! RTFM !!!!!

Вообще это надо в категорию "Начинающие" - это учебник по Информатике...и KOL тут не причем...

А уж коль к KOL'у привязку, то вот такой вариант:
1. S := NewReadFileStream
2. S.Position := Твой_Offset
3. S.Read( Buff, Count); // Buff : array [0..N] of Byte
4. Работа с Buff
5. S.Free

!!!!! RTFM !!!!!


nikfel   (2009-06-07 21:12:00) [14]

Можно ли пример использования посмотреть, а то разобраться не могу?


Nikfel   (2009-06-07 20:12:00) [15]

Я так понимаю надо использовать это:
FileCreate( s, flags )
FileClose( f ) - закрывает файл;
FileExists( s ) - проверяет наличие файла по заданному пути;
FileRead( f, buffer, n ) - читает байты из файла в память;
FileWrite( f, buffer, n ) - пишет байты из памяти в файл;
FileEOF( f ) - проверяет, достигнут ли конец файла (при чтении);
FileSeek( f, moveto, movemethod ) - перемещает указатель чтения/записи в файле;
File2Str( f ) - читает остаток файла как строку.


Наверх

Титульная страница Поиск, карта сайта Написать письмо