AGB  ·  Datenschutz  ·  Impressum  







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

String mit 0 Bytes als Datei Speichern

Ein Thema von Shark99 · begonnen am 27. Jan 2013 · letzter Beitrag vom 28. Jan 2013
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: String mit 0 Bytes als Datei Speichern

  Alt 27. Jan 2013, 03:57
Also eigentlich sollte das gehen. Aber jetzt kommt das Aber. Ohne auszuprobieren, ein Ansistring, das ist der 8-Bit String, ist meiner Kenntnis nach Nullterminiert. Die erste binäre Null (als Zahl = $00) im String ist somit das Ende der Datei.

Das Ganze sollte also klappen solange keine Null im Spiel ist.

//Edit

Fällt mir ein, Array of Char, bzw. AnsiChar, in Kombination mit TFileStream, sollte evtl. gehen. Evtl. Array of Byte.

Geändert von Popov (27. Jan 2013 um 04:23 Uhr)
  Mit Zitat antworten Zitat
evilboy

Registriert seit: 31. Jul 2004
Ort: Berlin
49 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: String mit 0 Bytes als Datei Speichern

  Alt 27. Jan 2013, 04:40
Also eigentlich sollte das gehen. Aber jetzt kommt das Aber. Ohne auszuprobieren, ein Ansistring, das ist der 8-Bit String, ist meiner Kenntnis nach Nullterminiert.
Nicht ganz – ein AnsiString kann zumindest auch das speichern, was hinter einem #0 ist, anders als ein PChar.

Zum Beispiel funktioniert das (Quelle) sehr wohl:
Delphi-Quellcode:
var
  s: string;
begin
  s := 'experts-exchange'+ #0 + 'is great';
  while (pos(#0, s) > 0) do s[pos(#0, s)] := ' ';
  ShowMessage(s);
end;
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

AW: String mit 0 Bytes als Datei Speichern

  Alt 27. Jan 2013, 05:06
Natürlich, ich wollte auch etwas anderes ausdrücken. Vielmehr wollte ich sagen, dass das wackelig sein kann. Je nachdem wie der Verarbeitungsweg ist, kann an der Stelle der String angeschnitten werden.

Delphi-Quellcode:
var
  a: String;
begin
  a := 'In diesem Satz ist ' + #0 + 'ein Nullzeichen in der Mitte';
  ShowMessage('String a hat die Länge: ' + IntToStr(Length(a)));
  Self.Caption := a;
  ShowMessage('Caption hat die Länge: ' + IntToStr(Length(Self.Caption)));
end;
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#4

AW: String mit 0 Bytes als Datei Speichern

  Alt 27. Jan 2013, 07:45
Crosspost in SO
Kein Problem, aber vorher Bescheid geben ("Habe die Frage auch in diesem <Link> Forum gestellt")
  Mit Zitat antworten Zitat
Antwort Antwort


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 02:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz