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

Вниз

Как читать файл по байтам?   Найти похожие ветки 

 
Nikfel   (2009-06-07 19:12) [0]

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


 
Nikfel   (2009-06-07 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   (2009-06-07 21:12) [2]

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


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

!!!!! 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 !!!!!


 
oldman ©   (2009-06-08 11:07) [4]


> 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]
> Можно ли пример использования посмотреть, а то разобраться не могу?


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


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

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


 
Amoeba ©   (2009-06-08 11:42) [6]


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

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


 
Palladin ©   (2009-06-08 11:50) [7]


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

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


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


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

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


 
Amoeba ©   (2009-06-08 13:40) [9]

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


 
Palladin ©   (2009-06-08 13:49) [10]

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


 
Andy BitOff ©   (2009-06-08 14:06) [11]


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

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


 
Amoeba ©   (2009-06-08 14:18) [12]

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


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


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

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


 
brother ©   (2009-06-15 10:45) [14]

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

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


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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.029 c
15-1244665806
Юрий
2009-06-11 00:30
2009.08.09
С днем рождения ! 11 июня 2009 четверг


15-1244613139
Василий Иванов_22
2009-06-10 09:52
2009.08.09
уравнение


6-1205611995
art36
2008-03-15 23:13
2009.08.09
Обмен данными с тайм-сервером (сервером точного времени)


4-1213710169
JetuS
2008-06-17 17:42
2009.08.09
Получение ID главного потока приложения


1-1211868140
TForumHelp
2008-05-27 10:02
2009.08.09
ДвуХсторонняя печать...





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