Я делаю программу в delphi, которая записывает данные в двоичный файл, и у меня есть проблема, я не понимаю, как ее решить.Запись в двоичных файлах в Delphi
У меня есть следующий код:
testar: = TFileStream.Create ('test.exe', fmOpenWrite);
testar.Position: = testar.Size;
here: = '{test} test {test}';
testar.Write (here, 1024);
Испытано с WinHex
http://img836.imageshack.us/img836/3206/la49.jpg
Это издание мелкие принты в двоичном коде, потому что, когда я вижу его с WinHex выглядит хорошо, но это другое код:
testar: = TFileStream.Create ('test.exe', fmOpenWrite);
testar.Position: = testar.Size;
here: = '{test}' + Edit1.Text + '{test}';
testar.Write (here, 1024);
Это не показывает вообще-то, потому что кажется, что есть проблема с редактированием, когда вы хотите отредактировать двоичный код, это странно, потому что когда я использую его, все идет одинарные кавычки, но с примером редактирования не работает.
Примечание: Программа не дает никаких сообщений об ошибках
Кто-то может помочь мне с этой проблемой?
Где и как определяется 'testar'? Кроме того, у вас есть много синтаксических ошибок в коде, который вы показываете, я предполагаю, что это ошибки копирования (* eg *, 'test: = ...' должно быть 'test: = ...') – lurker
Никогда не используйте JPG для не- фотографические изображения (например, скриншоты, диаграммы, логотипы, ...). –
Ваш код не имеет смысла. В обоих примерах вы указываете потоку писать 1024 байта данных, но пропускать около 1000 байт слишком мало, а это означает, что он просто будет записывать данные за конец строки; что случайные данные будут такими, какие бывают в памяти до конца строки. Передайте фактическое количество байтов, которые нужно записать в поток. Он не работает с написанием этих байтов и больше подходит для байтов 'Some_Value_Plucked_From_The_Air'. Прочитайте документацию, вместо того, чтобы просто гадать или захватывать дикие ценности из ниоткуда. –