Главная страница
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.48 MB
Время: 0.02 c
15-1190350467
Kolan
2007-09-21 08:54
2007.10.21
Еще раз объясните мне как игнорировать в SVN &amp;#151; замаялся&amp;#133


2-1190535758
Jimmy
2007-09-23 12:22
2007.10.21
Сохранение в emf


1-1186147631
Apachi
2007-08-03 17:27
2007.10.21
Как при создании своего компонента переопределить событие


15-1190600574
Slider007
2007-09-24 06:22
2007.10.21
С днем рождения ! 24 сентября 2007 понедельник


15-1190566202
Турбомер
2007-09-23 20:50
2007.10.21
Куда и как обратиться?