Camacho Tequila
Camacho Tequila

Reputation: 67

Writing in binary files in Delphi

I'm making a program in delphi that writes data to a binary file and I have a problem I do not understand how to solve.

I have the following code:

testar: = TFileStream.Create ('test.exe', fmOpenWrite);
testar.Position: = testar.Size;

here: = '{test} test {test}';

testar.Write (here, 1024);

Tested with WinHex

http://img836.imageshack.us/img836/3206/la49.jpg

This edition fine prints in the binary code because when I see it with WinHex looks good, but this other code:

testar: = TFileStream.Create ('test.exe', fmOpenWrite);
testar.Position: = testar.Size;

here: = '{test}' + Edit1.Text + '{test}';

testar.Write (here, 1024);

It does not show anything at all because it seems that there is a problem with the edit when you want to edit the binary code, it's weird because when I use it all goes single quotes but with the example of the edit does not work.

Note: The program does not give any error message

Someone could help me with this problem ?

Upvotes: 1

Views: 6551

Answers (1)

MBo
MBo

Reputation: 80242

You have provided non-real code, but I suspect that "here" is string. To write string body to stream, you can use the next code:

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

P.S. If you are going to read this string from stream (file) later, then it would be wise to write its length before string body.

Upvotes: 4

Related Questions