Entwickler-Ecke

Sonstiges (Delphi) - von einer datei hex werte auslesen und diese verarbeiten...


oOXTCOo - Mo 08.06.09 15:55
Titel: von einer datei hex werte auslesen und diese verarbeiten...
hallo!

ich bräuchte einen denkanstoss...


ich möchte in meinem programm eine datei einlesen die etwa so aussieht: Moderiert von user profile iconNarses: Beispiel als Anhang hochgeladen.

nun muss ich zb. das feld 120 dessen daten auslesen und die weiter verarbeiten, also in einen buffer meines ftdi gerätes senden und dann weiter zum handy...
dannach soll wenn vorhanden das nächste feld geschrieben werden...


wie kann ich es nun machen, das ich zb. ab feld 120 subblock0 (0=) ab hier: 00 00 00 00 00 00 00 00 24 40 70 00 00 00 00 00 00 usw...180700000000000050000005

alles in eignzelen variablen speichere...
also so:
variabel_1:=00;
variabel_2:=00;
variabel_3:=00;
variabel_5:=00;
variabel_6:=00;
variabel_7:=00;
variabel_8:=00;
variabel_9:=00;
variabel_11:=24;
variabel_12:=40;

usw...

denn ich muss von diesen daten dann eine checksumme berechenen (alle geraden und ungerade xor´en einschließlich der f-bus commmands) und dann an die ftdi box senden damit diese es dann per f-bus weiter zum handy senden...


also es geht mir darum, das ich die daten vom fild 120 alle in einzelne variablen oder sont was bekomme um diese dann im programm zu verarbeiten...

grüße
hari


jaenicke - Mo 08.06.09 15:58

Das sieht aus wie eine INI-Datei, wenn dem so ist, dann schau dir mal TIniFile aus der Unit IniFiles an. ;-)


oOXTCOo - Mo 08.06.09 16:01

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Das sieht aus wie eine INI-Datei, wenn dem so ist, dann schau dir mal TIniFile aus der Unit IniFiles an. ;-)


nein keine ini sondern eine *.pm (permanent memory)

das sind daten die permanent im handy gespeichert sind,
wie telefonbuch einträge, einstellungen, simlock daten, imei, akku werte und alles was ein handy so gespeichert haben muss.

wie die registry von windows...


mir gehts aber darum wie ich diese daten aus dieser pm datei auslesen und jedes einzelne byte in eine variable speichere um die weiter zu verarbeiten...


die bytes müssen einzeln zur verfügung stehen,
da ich davon auch die checksummen brauche und diese
dann so in den buffer des ftdi gerätes speichere um sie dann zu senden:

FT_OUT_BUFFER:='$00';


jaenicke - Mo 08.06.09 16:02

Ist doch egal wie die Dateierweiterung ist, die Struktur sieht nach einer INI aus und wenn das so ist, dann geht auch TIniFile...

Und sonst nimm TStringList.


oOXTCOo - Mo 08.06.09 16:04

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Ist doch egal wie die Dateierweiterung ist, die Struktur sieht nach einer INI aus und wenn das so ist, dann geht auch TIniFile...

Und sonst nimm TStringList.



aber muss ich dann alle variablen erstellen?

also zb.
var
variable_1, variable_2 : string;

???
das wären ja tausende....


jaenicke - Mo 08.06.09 16:05

Kennst du Arrays...?


nagel - Mo 08.06.09 16:06

Da bietet sich wohl ein Array an…

Zu spät -.-


oOXTCOo - Mo 08.06.09 16:08

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Kennst du Arrays...?



okay, das wollte ich wissen...

dann muss ich mir das ansehen...

dachte mir das schon so in der richtung, habe aber mit arrays noch nie gearbeitet...

danke...



okay, hab das hier gefunden: http://de.wikibooks.org/wiki/Programmierkurs:_Delphi:_Pascal:_Arrays



danke!