Главная страница
    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.005 c
2-1244722300
ronayt
2009-06-11 16:11
2009.08.09
ипользование DirectSS


2-1244709711
a.a.j.
2009-06-11 12:41
2009.08.09
Место позиции курсора в поле html страницы


15-1244814956
easy
2009-06-12 17:55
2009.08.09
Клиент для местного чата под linux


2-1242669062
winsockuser
2009-05-18 21:51
2009.08.09
WinSock, передача файлов, клиент получает в два раза больше


4-1213787176
Layner
2008-06-18 15:06
2009.08.09
Узнать Uptime свыше 49 дней...





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