AGB  ·  Datenschutz  ·  Impressum  







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

Daten-String in Array of Byte einlesen

Ein Thema von DonPedroFo · begonnen am 5. Aug 2019 · letzter Beitrag vom 5. Aug 2019
Antwort Antwort
Seite 1 von 2  1 2      
DonPedroFo

Registriert seit: 26. Jun 2019
18 Beiträge
 
#1

Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:03
Delphi-Version: 5
Hallo,
ich hoffe ich drück mich richtig aus und verwechsel keine Fachbegriffe.

Ich habe die Aufgabe, aus einer Text Datei mehrere Daten-Strings in ein Array of Byte "einzulesen"

ein "Datenstring" besteht aus 64 Byte und sieht z.b. folgender maßen aus: 12450ABF43ED234DFAB39104365FFF221943AABEE04365FFF2 21943AABEEBEE04365FFF221

ich hab schon folgendes probiert aber komme irgendwie auf keinen grünen Zweig:


1. Versuch

var
i : Integer;
sZeile : String;
Daten : Array of Byte;
.
begin
SL := TStringlist.Create;
SL.LoadfromFile('.....');

for i := 0 to sl.Count-1 do begin
sZeile := SL.Strings[i];
Daten[i] := StrToInt ('$'+sZeile);
end;
.
.
.
.

hier bekomme ich immer die Datei '12450ABF43ED234DFAB39104365FFF221943AABEE04365FFF 221943AABEEBEE04365FFF221' ist kein gütliger Integerwert ist. (egal ob ich mit oder ohne '$' schreib).
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:06
Steht der String so in der Textdatei?
Denn was du machst ist die Datei Zeile für Zeile auslesen und nicht Zeichen für Zeichen.

Und wenn du schonmal dabei bist Delphi zu lernen dann gewöhn dir diesen unsäglichen C-Stil ab und schieb das begin in die nächste Zeile.
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:08
Ich weiß nicht ob es nur ein Formatierungsfehler hier im Forum ist, aber bei beiden Zeichenketten sehe ich ca. in der Mitt ein Leerzeichen. Das sollte da natürlich nicht sein. Am besten verwendest du noch Trim() bevor du die Zeichenkette an die StrToInt() Funktion übergibst.

Edit: Ich sehe gerade, dass du ein array of Byte verwendest. Dann wäre das Umwandeln der Zeichenkette natürlich unnötig. Zudem ist dieser Hex-Wert selbst für einen Int64 noch zu groß.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:16
Denn was du machst ist die Datei Zeile für Zeile auslesen und nicht Zeichen für Zeichen.
Etwas genauer erklärt: Eine TStringList liest den Text aus einer Datei zeilenweise ein. Wenn du auf das x-te Element zugreifst, dann nimmst du die x-te Zeile. Wenn du also eine Datei mit mehreren Zeilen hast brauchst du auch zwei for-Schleifen: Eine für jede Zeile und eine für das jeweilige Zeichen darin.


dann gewöhn dir diesen unsäglichen C-Stil ab und schieb das begin in die nächste Zeile.
dafuq 🤪
  Mit Zitat antworten Zitat
DonPedroFo

Registriert seit: 26. Jun 2019
18 Beiträge
 
#5

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:34
@Die Dolly, ursprünglich ist das ganze ein S-Record File von Motorola. Aber Imprinzip ist es nichts anders als eine Textdatei, bei der "x"-Zeile untereinander stehen mit einem jeweiligen HEX-Code.
Sinn des ganzen wäre es diesen "Daten-String" in ein Array of Byte zu schreiben, da ich diese Daten Byte für Byte in ein Flash schreiben muss.
Das mit dem beginn werde ich mir angewöhnen ;D
@Aviator: Das Leerzeichen müsste ein Formatierungsfehler sein. In meiner Datei steht kein Leerzeichen.

@Günther: So ist der Plan in meinem Kopf; ich lese das gesamte "Dokument" Zeile für Zeile ein, und "schiebe" jede Zeile in ein Array of Byte mit dem ich wieder weiterarbeiten kann.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#6

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:39
Zitat:
@Die Dolly, ursprünglich ist das ganze ein S-Record File von Motorola. Aber Imprinzip ist es nichts anders als eine Textdatei, bei der "x"-Zeile untereinander stehen mit einem jeweiligen HEX-Code.
Dann ließt du die Daten falsch ein so wie ich sagte.
  Mit Zitat antworten Zitat
DonPedroFo

Registriert seit: 26. Jun 2019
18 Beiträge
 
#7

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:48
ich sag mal so,
Im Moment lese ich die Daten in eine Stringliste ein und arbeite damit weiter. Das funktioniert auch ohne großen Probleme.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#8

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:50
Wenn das ohne Probleme funktionieren würde, hättest du nicht hier um Hilfe gebeten
  Mit Zitat antworten Zitat
DonPedroFo

Registriert seit: 26. Jun 2019
18 Beiträge
 
#9

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 10:57
Wenn ich die Daten in eine Stringliste schreibe und mit dieser dann weiter arbeite funktioniert es.
Allerdings sind dann die Daten in einem "String".

Wenn ich die Daten in eine Stringliste schreibe und die einzelnen Zeilen in ein Array of Byte packe funktioniert es nicht.

Und deswegen versuche ich auch viel erstmal selbst zu lösen. Aber bis jetzt bin ich auf keinen grünen Zweig gekommen.

Deswegen stell ich die Frage an was es liegen könnte.

Ich hab auch schon die Firma Google gefragt und auch hier im Forum die Suchfunktion benutzt.

Bisher ohne Erfolg.
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#10

AW: Daten-String in Array of Byte einlesen

  Alt 5. Aug 2019, 11:00
Zitat:
Ich hab auch schon die Firma Google gefragt. Bisher ohne Erfolg.
Das wird auch so bleiben. Bei denen etwas nachzufragen ist sinnlos.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

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 06:50 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