Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.059 c
1-1186549318
lecavalie
2007-08-08 09:01
2007.10.21
Подскажите плз. Delphi + Web/wap интерфейс


2-1190921326
Алик
2007-09-27 23:28
2007.10.21
Как правильно очищать буффер?


15-1190192760
nikolaygor
2007-09-19 13:06
2007.10.21
Delphi: Сдвиг строчек в редакторе кода


2-1190802048
sergnnn
2007-09-26 14:20
2007.10.21
Invalid pointer operation


11-1173903627
VVU
2007-03-14 23:20
2007.10.21
Прямоугольник текста в StrigGrid





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