Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.21;
Скачать: CL | DM;

Вниз

Двоичные файлы   Найти похожие ветки 

 
Gigik   (2007-09-28 13:22) [0]

Добрый день. Как работать с двоичными фалами? Как их открыть и изменять как мне хочется. Спасибо!


 
Сергей М. ©   (2007-09-28 13:27) [1]


> Как работать с двоичными фалами?


Так же как и с любыми другими фалами.


 
DVM ©   (2007-09-28 13:42) [2]


> Как их открыть

CreateFile(), например, открывает любой файл и неважно двоичный он или текстовый.


> и изменять

WriteFile()

Вот тебе пример лога:

procedure Log(const LogFileName: string; LogMessage: string;);
var
 hLogFile: HFILE;
 dwPointer: DWord;
 Len: integer;
 NumberOfBytes: Cardinal;
begin
 LogMessage := TimeToStr(Time) + " - " + LogMessage + #13#10;
 hLogFile := CreateFile(PChar(LogFileName), GENERIC_WRITE, FILE_SHARE_READ or
                        FILE_SHARE_WRITE, nil, OPEN_ALWAYS,
                        FILE_ATTRIBUTE_NORMAL or FILE_FLAG_WRITE_THROUGH, 0);
 if hLogFile <> INVALID_HANDLE_VALUE then
   begin
     dwPointer := SetFilePointer(hLogFile, 0, nil, FILE_END);
     if dwPointer <> $FFFFFFFF then
       begin
         Len := lstrlen(PChar(LogMessage));
         WriteFile(hLogFile, LogMessage[1],  Len, NumberOfBytes, nil);
       end;
     CloseHandle(hLogFile);
   end;
end;


 
Anatoly Podgoretsky ©   (2007-09-28 13:49) [3]

> Gigik  (28.09.2007 13:22:00)  [0]

Методов открытия множество, а изменение - это изменение байтов в буфере, с последующей записью в файл.


 
Anatoly Podgoretsky ©   (2007-09-28 14:03) [4]

> DVM  (28.09.2007 13:42:02)  [2]

Важно, он открывает всегда двоичный, высокоуровневые функция Паскаля не доступны.


 
Рамиль ©   (2007-09-28 14:26) [5]

TFileStream + F1



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

Текущий архив: 2007.10.21;
Скачать: CL | DM;

Наверх




Память: 0.45 MB
Время: 0.04 c
1-1186230262
TStas
2007-08-04 16:24
2007.10.21
Где в реестре адрес автономной страницы браузера? (IE)


15-1190313580
Int128
2007-09-20 22:39
2007.10.21
Почему в крупе заводятся насекомые?


3-1182168098
Павел Калугин
2007-06-18 16:01
2007.10.21
Очередные извращения в TSql


2-1190800205
max-wo
2007-09-26 13:50
2007.10.21
TStrings - TStringList


1-1186573487
NKT
2007-08-08 15:44
2007.10.21
Приложение SDI - меню и взаимодействие форм





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