Форум: "Начинающим";
Текущий архив: 2007.10.21;
Скачать: [xml.tar.bz2];
ВнизДвоичные файлы Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.042 c