Announcement

Collapse
No announcement yet.

Binärdatei erstellen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Binärdatei erstellen

    Hab wieder mal ein kleines Problem.

    Ich haben mehrere Record-typen, die ich nacheinander in einer Binärdatei ablegen muss.
    Als Datei Head muss ich einen bestimmten 16Byte-String anlegen.

    Habe das auch versucht mit FileStream, jedoch schreibt Filestream vor den HeaderString die Stringlänge. Wie kann ich das vermeiden, dass Filestream die Stringlänge mit ablegt ! Die Datei muss nicht wieder eingelesen werden können mit Delphi.

    Vielen Dank für schnelle Hilfe im voraus !

    J.T. Demel

  • #2
    Stream.Write(PChar(String)^, Length(String));
    Stream.Write(String[1], Length(String));

    Ich bevorzuge die erste Variante.

    Gruß Hage

    Comment


    • #3
      Erstmal Danke !

      Trotzallem schreibt der Stream immer noch die Stringlänge in den String (siehe HexEditor).

      zB: 04 6c 65 65 72
      -- ===========
      ! !_String (hier das Wort: leer);
      !_Stringlänge

      Die Stringlänge soll nicht erscheinen !

      Danke

      J.T. Deme

      Comment


      • #4
        Ist die Streamfilegrösse beschränkt (64k). Habe bei grossen Dateien Probleme! Schreibt dann Unsinn in die Datei!

        Ansonsten hat der Tip gefunzt. Danke !

        J.T. Deme

        Comment


        • #5
          Hi

          Eigentlich nicht, oder doch auf 4Gb im Speicher, ansonsten abhängig von der festplatte. Die Frage ist: was für String's nutzt Du ?
          LongString's können 4Gb groß sein.

          Gruß Hage

          Comment

          Working...
          X