AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

HEX-Werte in Datei schreiben?

Ein Thema von Sharky · begonnen am 6. Okt 2004 · letzter Beitrag vom 6. Okt 2004
Antwort Antwort
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#1

HEX-Werte in Datei schreiben?

  Alt 6. Okt 2004, 12:38
Hai,

ich schreibe gerade ein Programm mit dem ich Plasmabildschirme über die Serielle Ein- bzw. Ausschalten kann (Verwende dafür TurboPower Async Professional).

Um den Plasma einzuschalten muss ich z.B. folgende HEX-Werte senden:
Code:
AA 11 FF 01 01 12
Soweit so gut. Um das ganze felxibel zu halten möchte ich die Steuercodes in einer Datei haben. Darum versuche ich mit diesem Code die Datei zu erzeugen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  data : Array of Byte;
  myStream: TMemoryStream;
begin
  SetLength(data, 6);
  data[0] := $AA;
  data[1] := $11;
  data[2] := $FF;
  data[3] := $01;
  data[4] := $01;
  data[5] := $12;
  fAppPath := ExtractFilePath(Application.ExeName);
  try
    myStream := TMemoryStream.Create;
    myStream.Size := 6;
    myStream.WriteBuffer(data,6);
    myStream.Position := 0;
    myStream.SaveToFile(fAppPath + 'on.dat');
  finally
    myStream.Free;
  end;
end;
Wenn ich mir aber in einem HEX-Viewer die Datei ansehe stehen dort immer diese Werte:
Code:
24 A2 CD 00 28 9B
Was mache ich denn da Falsch?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: HEX-Werte in Datei schreiben?

  Alt 6. Okt 2004, 12:41
Moin!

So wie du das Array angibst beim schreiben, schreibst du die Adresse des Arrays in die Datei, aber nicht den Inhalt. Mache es so, dann sollte es klappen:

myStream.WriteBuffer(data[0],6); (gleiches beim auslesen, aber vorher dafür sorgen, dass genug Elemente im Array vorhanden sind...

MfG
Muetze1
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#3

Re: HEX-Werte in Datei schreiben?

  Alt 6. Okt 2004, 12:44
Zitat von Muetze1:
...Mache es so, dann sollte es klappen...

Heute ist echt nicht mein Tag
Ich danke dir bis ans Ende meiner Mittagspause
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: HEX-Werte in Datei schreiben?

  Alt 6. Okt 2004, 12:49
Zitat von Muetze1:
...(gleiches beim auslesen, aber vorher dafür sorgen, dass genug Elemente im Array vorhanden sind...
Das müsste zum lesen dann doch stimmen oder?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var
  myStream: TFileStream;
begin
  fAppPath := ExtractFilePath(Application.ExeName);
  myStream := TFileStream.Create(fAppPath + 'on.dat', fmOpenRead);
  try
    myStream.Position := 0;
    SetLength(MonitorON, myStream.Size); // Arrygröße festlegen
    myStream.ReadBuffer(MonitorON[0], Length(MonitorON));
  finally
    myStream.Free;
  end;
end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#5

Re: HEX-Werte in Datei schreiben?

  Alt 6. Okt 2004, 12:54
Moin!

Jo, ich kann so erstmal nix verwerfliches sehen - sollte auch so klappen...

MfG
Muetze1
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz