我在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);
它根本没有显示任何内容,因为当您想要编辑二进制代码时,编辑似乎存在问题,这很奇怪,因为当 我使用它只是单引号,但编辑的例子不起作用。
注意:程序不会给出任何错误消息
有人可以帮我解决这个问题吗?
答案 0 :(得分:2)
您提供了非实际代码,但我怀疑“here”是字符串。 要将字符串主体写入流,可以使用下一个代码:
test.Write(PChar(here)^, SizeOf(Char) * Length(here));
P.S。如果你打算稍后从流(文件)中读取这个字符串,那么在字符串体之前编写它的长度是明智的。