저는 바이너리 파일에 데이터를 쓰는 델파이로 프로그램을 만들고 있는데 해결 방법을 모르는 문제가 있습니다.델파이에서 이진 파일로 작성
나는 다음과 같은 코드를 가지고 : 나는 WinHex가 좋아 보인다 그것을 볼 때 때문에
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
이 책 미세 인쇄 테스트,하지만 다른 코드 :
testar: = TFileStream.Create ('test.exe', fmOpenWrite);
testar.Position: = testar.Size;
here: = '{test}' + Edit1.Text + '{test}';
testar.Write (here, 1024);
이진 코드를 편집 할 때 편집에 문제가있는 것 같아서 이상하게 보입니다. 왜냐하면 을 모두 사용하기 때문에 작은 따옴표가 사용되지만 편집의 예는 작동하지 않습니다.
참고 : 프로그램에 오류 메시지가이 문제를 도와 줄 수
누군가를 제공하지 않는 이유는 무엇입니까?
'testar'는 어디에서 어떻게 정의되어 있습니까? 또한 복사 오류 (* 예 : *,'test : = ...'는'test : = ...'여야합니다.)라고 가정하고있는 코드에는 많은 구문 오류가 있습니다. – lurker
비 - 사진 이미지 (예 : 스크린 샷, 다이어그램, 로고 유형 ...). –
코드가 의미가 없습니다. 두 예제 모두 스트림에 1024 바이트의 데이터를 쓰도록 지시하지만 약 1000 바이트는 너무 적게 전달합니다. 즉, 문자열의 끝 부분을 지나서 데이터를 계속 쓰는 것입니다. 그 무작위 데이터는 문자열의 끝을 지나서 메모리에있을 것입니다. 스트림에 쓸 필요가있는 실제 바이트 수를 전달하십시오. 이 바이트를 쓰면 작동하지 않고'Some_Value_Plucked_From_The_Air' 바이트를 계속 유지합니다. 그냥 어디에서나 야생 값을 추측하거나 잡는 대신 문서를 읽으십시오. –