Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
Agent[007]   (2003-11-14 06:44) [0]

Как записать переменную в файл в двоичном виде?


 
Maxud   (2003-11-14 06:50) [1]


var i: integer;
S: TStream;
begin
i := 100;
S := TFileStream.Create("C:\test.bin", fmCreate);
S.WriteBuffer(i, SizeOf(Integer));
S.Free


 
Юрий Зотов   (2003-11-14 07:11) [2]

> Agent[007] © (14.11.03 06:44)

Не могли бы Вы ответить на противоположный вопрос - а как можно записать переменную в файл НЕ в двоичном виде?

Не знаю, кто как, а лично я этого делать не умею. А Вы, видимо, умеете, раз задаете такой вопрос. Поэтому и спрашиваю - тоже хочу научиться.


 
Agent[007]   (2003-11-14 08:25) [3]

> Юрий Зотов

var
f: TextFile;

begin
SomeVariable := "Hello, Text!";
AssignFile(f, "Text.txt");
Rewrite(f); // Для Записи, а для чтения Reset(f);
Write(f, SomeVariable);
CloseFile(f);
end;


 
Думкин   (2003-11-14 08:39) [4]


> [3] Agent[007] © (14.11.03 08:25)

По твоему, - это троичный файл?


 
Юрий Зотов   (2003-11-14 09:02) [5]

> Agent[007] © (14.11.03 08:25) [3]

Возможно, Вы не поверите, но Вы привели пример записи переменной именно в двоичном виде. Потому что в современных компьютерах НИКАКОГО другого вида хранения ЛЮБОЙ информации просто не существует.

А то, что программы-просмотрщики (или редакторы) умеют показывать так называемые "текстовые" (на самом деле - двоичные) файлы в символьном виде - так это заслуга уже самих этих программ.


 
FoxBox   (2003-11-14 09:31) [6]

var
f: File of BYTE;
SomeVariable: BYTE;
begin
SomeVariable := 123;
AssignFile(f, "ByteFile.txt");
Rewrite(f); // Для Записи, а для чтения Reset(f);
Write(f, SomeVariable);
CloseFile(f);
end;

вот запись числовых значений.
Можешь объявить f как file of YourRecord (только тип "объект" не используй)


 
alex_***   (2003-11-14 09:39) [7]

Да не прикалывайтесь вы над человеком... Все на первых парах что-то путали.


 
Thick   (2003-11-14 15:48) [8]

Если те делать нечево то переведи инфу в двоичный вид и записуй как текст.
Открываеш и видиш 01110000101010111
Только смысла в этом никакого не вижу


 
Agent[007]   (2003-11-14 20:30) [9]

Не... Мне интересно, как работать c File?

var f: file;
i: integer;
s: string;
begin
AssignFile(f, "c:\test.txt");
Reset(f);
BlockRead(f, i, SizeOf(integer));
BlockRead(f, s, SizeOf(integer));
ColseFile(f);
end;

Пишет: OutOfMemory... ПОЧЕМУ?


 
Германн   (2003-11-14 20:57) [10]

Ты бы еще написал SizeOf(Int64) :)))
Третьим параметром идет количество байт!


 
Германн   (2003-11-14 21:03) [11]

Пардон ступил. Предыдущий ответ не читать.
SetLength(s,SizeOf(Integer));
BlockRead(f,S[1],SizeOf(Integer));
Хотя для чего это всё - не понял.


 
WithOut Any ...   (2003-11-14 21:25) [12]

>Agent[007] © (14.11.03 20:30) [9]
если var f: file;
то необходимо
Reset(f, 1);
естественно, если не знаешь структуру


 
Agent[007]   (2003-11-15 14:09) [13]

Ой... Ошибся...

var f: file;
i: integer;
s: string;
begin
AssignFile(f, "c:\test.txt");
Reset(f);
BlockRead(f, i, SizeOf(integer));
BlockRead(f, s, SizeOf(string));
ColseFile(f);
end;


 
MBo   (2003-11-15 14:13) [14]

подозреваю, что в i - длина строки. тогда
SetLength(s,i);
BlockRead(f, s[1], i);


 
Anatoly Podgoretsky   (2003-11-15 15:25) [15]

MBo © (15.11.03 14:13) [14]
Которая кстати может быть нулевой


 
Agent[007]   (2003-11-15 21:41) [16]

нет... i не длина строки... Просто как читать инфу из нетипизированных файлов (разнотипную)?..


 
Юрий Зотов   (2003-11-17 02:02) [17]

Точно так же, как и из типизированных - теми же самыми Read или BlockRead. Но надо знать структуру файла - что в нем за чем следует и какую имеет длину. Если длина данного участка может быть переменной, ее часто пишут перед самим этим участком.



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

Форум: "Основная";
Текущий архив: 2003.11.27;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
9-89672
Ник М. Цов
2003-05-08 17:35
2003.11.27
Текстовый квест на Delphi - реально?


1-89837
td
2003-11-13 20:31
2003.11.27
WordApplication1.Selection.Collapse(Direction)


1-89923
Pavels
2003-11-18 12:00
2003.11.27
есть какие компоненты для парсинга строк как в Перле но в Дельфе


1-89913
R
2003-11-18 04:26
2003.11.27
Скрытие формы


11-89799
Kobik
2003-03-20 20:32
2003.11.27
KOL+DirectX





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