AGB  ·  Datenschutz  ·  Impressum  







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

Binär oder Hex Datei erstellen

Ein Thema von Trucki · begonnen am 30. Jul 2003 · letzter Beitrag vom 30. Jul 2003
Antwort Antwort
Trucki

Registriert seit: 19. Jul 2003
6 Beiträge
 
#1

Binär oder Hex Datei erstellen

  Alt 30. Jul 2003, 10:06
Hi,
kleines Problem:
möchte eine Datei erstellen, in der ich ca. 1Million Werte im Bereich von 0-255 speichern und wieder auslesen kann.
Die Datei soll später auf einem Mikrocontroler verwendet werden, deshalb sollten die Werte nicht im ASCII Format gespeichert werden, sondern gleich im Hex oder Bin format.

Ich habe auch eine Lösung dafür gehabt, indem ich einfach meinen Wert mit CHR(X) in ein Zeichen Wandel, dieses in einer TXT Datei speicher und beim auslesen das Zeichen wieder mit ord(Z) in eine Zahl wandel.
Nur bekomme ich große Probleme, wenn jetzt mein Wert zufällig 13 ist, da CHR(13) die Entertaste ist und so die ganze Struktur meine Textdatei nicht mehr stimmt und nur noch Müll ausgelesen wird. Auch mit Trennzeichen komme ich nicht weiter, weil ein CR (CHR(13)) wieder alles über den Haufen wirft.

Wie kann ich also gleich Binär, oder auch Hex in eine Datei schreiben, ohgne das Rad neu zu erfinden?

Danke

Cu Trucki
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Binär oder Hex Datei erstellen

  Alt 30. Jul 2003, 11:05
Da du binäre Daten speicherst, sind Textfiles nicht sehr geeignet.
Nimm lieber einen Filestream. Deine Daten kannst du in einem Array of Byte verwalten, dieses Array kannst du dann dirrekt in den Filestream speichern. Dabei ist es völlig egal, ob du das Zeichen 0, 13 oder was auch immer hast.

BTW: Daten werden immer binär gespeichert. Ob du sie als ASCII-Text darstellst oder als Hexadezimalcode, der Inhalt ist immer das selbe.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

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

Re: Binär oder Hex Datei erstellen

  Alt 30. Jul 2003, 12:57
Hai Trucki,

ich habe das ganze mal mit einem MemoryStream gemacht.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 my_MStream : TMemoryStream;
 ndx,
 li_groesse : Integer;
 lb_wert : Byte;

begin
  li_groesse := 1024 * 1024;
  my_MStream := TMemoryStream.Create;
 try
  my_MStream.SetSize (li_groesse);
  for ndx := 0 to li_groesse-1 do
   begin
    lb_wert := Random (256);
    my_MStream.Position := ndx;
    my_MStream.Write (lb_wert,1);
   end;
   my_MStream.SaveToFile ('c:\test.dat');
 finally
   my_MStream.Free;
 end;
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  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 16:08 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