Ergebnis 1 bis 9 von 9

Thema: Dateiformat .dat dateien

  1. #1
    Registriert seit
    22.01.2009
    Beiträge
    820

    Dateiformat .dat dateien

    Hallo zusammen,

    ich wollte die Inhalte der .dat dateien vom FMS32(pro) mit einem selbstgeschriebenen Programm verarbeiten, jedoch verstehe ich nicht was diese Dateien für ein seltsames Format haben.

    1.) Sind das Tabs zwischen den Einträgen, wenn ja wie kann ich die zählen
    2.) Warum sind da ein haufen komischer Sonderzeichen?

    Bspw.:
    635011011/10/1 ELW 

  2. #2
    Registriert seit
    27.02.2002
    Beiträge
    5.255
    Zitat Zitat von ratalert Beitrag anzeigen
    Hallo zusammen,

    ich wollte die Inhalte der .dat dateien vom FMS32(pro) mit einem selbstgeschriebenen Programm verarbeiten, jedoch verstehe ich nicht was diese Dateien für ein seltsames Format haben.

    1.) Sind das Tabs zwischen den Einträgen, wenn ja wie kann ich die zählen
    2.) Warum sind da ein haufen komischer Sonderzeichen?

    Bspw.:
    635011011/10/1 ELW 
    Dieses Sonderzeichen wie du es nennst, entsteht meißtens dann wenn dein Editor das ursprüngliche Zeichen nicht richtig deuten kann.
    Daher können vielleicht auch die Abstände kommen.
    Wir lassen Messer und Gabel liegen ...
    ... um mit der "Schere" anderen zu helfen.

  3. #3
    Registriert seit
    16.03.2002
    Beiträge
    110
    Hallo,


    @ratalert

    in dem Thread "Übergabe an Access" hab ich mal was zu Deinem Vorhaben gepostet, vielleicht kannst Du es gebrauchen.

    Gruß Ralf

  4. #4
    Registriert seit
    22.01.2009
    Beiträge
    820
    ich habs versucht mit UniRed, der Editor kann verschiedenste Fileformate lesen aber keines passt...

  5. #5
    Registriert seit
    22.01.2009
    Beiträge
    820
    @Ralf:

    ich habe gefunden was du damals gepostet hast. nur bin ich was vb angeht echt schlecht, kannst du mir bitte kurz sagen was du hier beim dateieinlesen machst?


    Dateiname = "C:\Programme\Heirue-Soft\FMS32-Pro\Fahrzeug.dat"
    Satzlaenge = 515
    Dateiposition = 1

    Set FMS = CurrentDb.OpenRecordset("Fahrzeuge")

    Open Dateiname For Binary As 1
    Dateilaenge = LOF(1)
    Saetzeanzahl = Dateilaenge / Satzlaenge

    For Zaehler = 1 To Saetzeanzahl
    Eingang = String(Satzlaenge, " ")
    Get 1, Dateiposition, Eingang
    Dateiposition = Dateiposition + Satzlaenge
    FMS.AddNew
    FMS!Kennung = Left$(Eingang, 8)
    FMS!Rufname = Mid$(Eingang, 9, 30)
    FMS!Bezeichnung = Mid$(Eingang, 39, 40)
    FMS.Update
    Next Zaehler

    Close 1
    FMS.Close
    Set FMS = Nothing

    Und eine Tabelle "Ton5" mit den Feldern "Tonfolge" und "Klartext"

    Dim Dateiname As String
    Dim Dateilaenge As Long
    Dim Satzlaenge As Long
    Dim Saetzeanzahl As Long
    Dim Dateiposition As Long
    Dim Zaehler As Long
    Dim Eingang As String
    Dim FMS As DAO.Recordset

    Dateiname = "C:\Programme\Heirue-Soft\FMS32-Pro\TON5.dat"
    Satzlaenge = 323
    Dateiposition = 1

    Set FMS = CurrentDb.OpenRecordset("Ton5")

    Open Dateiname For Binary As 1
    Dateilaenge = LOF(1)
    Saetzeanzahl = Dateilaenge / Satzlaenge

    For Zaehler = 1 To Saetzeanzahl
    Eingang = String(Satzlaenge, " ")
    Get 1, Dateiposition, Eingang
    Dateiposition = Dateiposition + Satzlaenge
    If Left$(Eingang, 1) < "9" Then
    FMS.AddNew
    FMS!Tonfolge = Left$(Eingang, 5)
    FMS!Klartext = Mid$(Eingang, 6, 44)
    FMS.Update
    End If
    Next Zaehler

    Close 1
    FMS.Close
    Set FMS = Nothing

  6. #6
    Registriert seit
    16.03.2002
    Beiträge
    110
    @ratalert

    Hallo,

    ich weiß ja nicht, in welcher Programmiersprache Du arbeitest und in welchem Format Du die Daten speichern willst, mein Beispiel schreibt die Daten in eine Tabelle einer Access-Datenbank.

    Die DAT-Dateien haben kein Satzendezeichen, sondern sind fortlaufend geschrieben. In der Fahrzeug.dat belegt ein Fahrzeug 515 Zeichen, dann fängt ein neues Fahrzeug an.

    ::Dateiname = "C:\Programme\Heirue-Soft\FMS32-Pro\Fahrzeug.dat"
    ::Satzlaenge = 515
    ::Dateiposition = 1

    Öffnen der Tabelle "Fahrzeuge" in der akt. Datenbank

    ::Set FMS = CurrentDb.OpenRecordset("Fahrzeuge")

    Öffnen der Fahrzeug.dat, LOF liest die Länge (Anzahl Zeichen) der Datei, geteilt durch 515 ergibt die Anzahl der Sätze (Fahrzeuge)

    ::Open Dateiname For Binary As 1
    ::Dateilaenge = LOF(1)
    ::Saetzeanzahl = Dateilaenge / Satzlaenge

    Eine Schleife mit Anzahl der Fahrzeuge

    ::For Zaehler = 1 To Saetzeanzahl

    Die Var. Eingang wird mit 515 Leerzeichen belegt

    ::Eingang = String(Satzlaenge, " ")

    Jetzt werden 515 Zeichen geholt

    ::Get 1, Dateiposition, Eingang

    In der Tabelle "Fahrzeuge" wird ein neuer Satz angefügt

    ::FMS.AddNew

    In das Feld "Kennung" der Tabelle "Fahrzeuge" werden die linken 8 Zeichen aus Fahrzeug.dat geschrieben.

    ::FMS!Kennung = Left$(Eingang, 8)

    In das Feld "Rufname" werden 30 Zeichen ab Pos. 9 geschrieben.

    ::FMS!Rufname = Mid$(Eingang, 9, 30)

    In das Feld "Bezeichnung" werden 40 Zeichen ab Pos. 39 geschrieben.

    ::FMS!Bezeichnung = Mid$(Eingang, 39, 40)

    Die Tabelle "Fahrzeuge" wird endgültig geschrieben

    ::FMS.Update

    In der Fahrzeug.dat wird der Zeiger 515 Zeichen weitergeschoben

    ::Dateiposition = Dateiposition + Satzlaenge

    und das Spiel beginnt von vorne

    ::Next Zaehler

    In der Fahrzeug.dat ist noch mehr gespeichert, z. B. der letzte Status mit Datum und Uhrzeit, aber das habe ich nicht berücksichtigt, weil ich es nicht brauche.

    Man muß natürlich nicht Access verwenden, nach gleichem Schema kann man auch TXT oder CSV erzeugen.

    Gruß Ralf

  7. #7
    Registriert seit
    22.01.2009
    Beiträge
    820
    danke für die aufschlüsselung. ist dein vb script leicht so abänderbar dass es aus fahrzeuge.dat und 5ton.dat eine kommerseperierte csv erzeugen kann?

  8. #8
    Registriert seit
    16.03.2002
    Beiträge
    110
    Natürlich geht das auch, nur den "Schreiben-Teil" anpassen.

    Aber wenn Du Excel hast, lade Dir hier aus dem Forum das Programm e!fms-pro runter. Damit kannst Du DAT-Dateien in Excel öffnen und entsprechend speichern. Das liest auch die Daten aus, die ich nicht berücksichtigt habe.

    Gruß Ralf

  9. #9
    Registriert seit
    22.01.2009
    Beiträge
    820
    Hi,

    für FMS und ZVEI hab ich das jetzt hingebracht aber für POGSAG noch nicht.
    Weiss da jemand wie's zu lesen ist?

    Viele Grüße,
    ratalert

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •