在Delphi中编写二进制文件

时间:2013-07-13 18:32:00

标签: 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);

它根本没有显示任何内容,因为当您想要编辑二进制代码时,编辑似乎存在问题,这很奇怪,因为当 我使用它只是单引号,但编辑的例子不起作用。

注意:程序不会给出任何错误消息

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

您提供了非实际代码,但我怀疑“here”是字符串。 要将字符串主体写入流,可以使用下一个代码:

test.Write(PChar(here)^, SizeOf(Char) * Length(here));

P.S。如果你打算稍后从流(文件)中读取这个字符串,那么在字符串体之前编写它的长度是明智的。