我在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'字節。閱讀文檔,而不是從任何地方猜測或抓取野值。 –