Einzelnen Beitrag anzeigen

mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#2

Re: einen Hexwert in einer Datei ändern ...

  Alt 25. Feb 2008, 16:16
Puh, bevor du an Binaerdateien Aenderungen machst solltest Du aber schon wissen, was Du tust.
Dass dem nicht so ist, sieht man an deinem Code:
Delphi-Quellcode:
procedure TForm1.EButton1Click(Sender: TObject);
var
  f: file;
  value: Byte;
begin
  AssignFile(f,'C:\Dokumente und Einstellungen\th21498\Desktop\Neuer Ordner\TbInfo-PCTH0116.CFG');
  Reset(f); //hier gibst Du keine blockgroesse an, also wird der Standard von 128 genommen
            //ist dir das bewusst? Offenbar nicht.
  value := 0;

  //Read(f,value,18);
  // ShowMessage(intToStr(value));

  BlockWrite(f,value,18); //Einmal <F1> auf das Wort blockwrite und dir sollte klar sein, was Du falsch machst.
                          //alleine in dieser Anweisung stecken drei Fehler

  CloseFile(f);
end;
Bevor ich dich jetzt mit einem herzlichen RTFM sitzen lasse, ein paar Hinweis:
1.) Du musst Die blockgroesse beim oeffnen der Datei angeben
2.) Du musst entweder auf die fragliche Stelle positionieren oder den ersten Datenblock auslesen und dann geaendert wieder (ab pos0) wegschreiben.
3.) Was glaubst Du was passiert, wenn man den Befehl
BlockWrite(f,value,18);
so wie Du ihn geschrieben hast ausfuehrt???
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat