Einzelnen Beitrag anzeigen

Cubysoft

Registriert seit: 5. Sep 2014
Ort: Ludwigshafen
76 Beiträge
 
Delphi XE8 Professional
 
#1

Stringtyp, der meine Vorraussetzungen erfüllt

  Alt 7. Sep 2015, 17:42
Hallo,

in meinem Programm speichere ich Daten mit einem Filestream ab. Mein Konstrukt (muss) 2 dynamische Strings enthalten, allerdings möchte ich bei einem nun den Speicherverbrauch auf der Platte senken.

Der erste String ist ein String vom Type "String" (XE8), müsste also ein Unicodestring sein, wenn ich mich nicht täusche. Dies soll so sein, weil es den Namen des Datensatzes wiederspiegelt. Abspeichern tue ich diesen wie folgt:

Delphi-Quellcode:
name := data[i].name;
      str_size := Length(name);
      f.Write(str_size, SizeOf(str_size));
      f.Write(name[1],str_size*sizeof(char));
//Mit name: String; str_size: Integer;
Für den 2. String (data[i].sync), brauche ich im Grunde nur einen Zeichensatz, der die Zahlen 0-9 und das Zeichen ";" beinhaltet. Das es einen so komischen Stringtyp sicherlich nicht gibt, suche ich nach dem minimalsten. Ich meine mich dunkel zu erinnern, dass es in Delphi damals einen Stringtyp gab, bei dem die Chars nur 1Byte groß waren (statt wie hier 4).

Ich wäre euch unglaublich dankbar, wenn ihr mir den Typ nennen könnt und das zugehörige "Char", damit ich das schnell umsetzen kann. Im Internet finde ich nur AnsiStrings, aber ich weiß nicht, ob das das ist, was ich suche..


Vielen Dank!
Tobias
  Mit Zitat antworten Zitat