AGB  ·  Datenschutz  ·  Impressum  







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

Sind für FileStreams AnsiStrings vonnöten?

Ein Thema von Delphi_gn7 · begonnen am 18. Sep 2011 · letzter Beitrag vom 19. Sep 2011
Antwort Antwort
Delphi_gn7

Registriert seit: 21. Mai 2009
59 Beiträge
 
Delphi 7 Personal
 
#1

Sind für FileStreams AnsiStrings vonnöten?

  Alt 18. Sep 2011, 18:52
Delphi-Version: 7
Hi,

Gemäß dem Tutorial über FileStreams (mit Records) unter http://www.delphi-treff.de/tutorials...tei-speichern/ versuche ich in meinem Programm Records, die u.a. Stringwerte enthalten, diese per FileStream in eine Datei zu schreiben.

In dem Tutorial werden AnsiStrings dafür verwendet (die mir noch nie begegnet sind) - ist das zwingend erforderlich, oder tun's auch herkömmliche Strings?

MfG,
gn7
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Sind für FileStreams AnsiStrings vonnöten?

  Alt 18. Sep 2011, 20:18
String: AnsiString < D2009 < String: WideString Du arbeitest also schon die ganze Zeit mit Ansistrings.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#3

AW: Sind für FileStreams AnsiStrings vonnöten?

  Alt 18. Sep 2011, 23:46
Für solche "externen" Daten niemals dynamische Datentypen verwenden

Denn wenn sich das Datenformat mal ändert, dann sind die Daten nur noch "Schrott".


> kein Integer, String, Char und Co.


Du mußt dich also für ein "festes" Format entscheiden.

ShortString und AnsiString = immer ANSI
WideString oder UnicodeStrng (seit D2009) = Unicode
String = dynamisch und hängt vom Compiler ab




Schreib den Stream/Datei mit D7 und versuch es dann mal mit 2009/XE auszulesen (oder andersrum), was bei String/Char dann natürlich ins Chaos führt.
$2B or not $2B

Geändert von himitsu (18. Sep 2011 um 23:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Sind für FileStreams AnsiStrings vonnöten?

  Alt 18. Sep 2011, 23:51
Für Strings ist immer ein Längenangabe nötig wenn man Multi-Byte-Zeichensätzen arbeitet wo auch im String 0-Bytes vorkommen können.
Normalerweise verwendet man ein Längenbyte(word/dword) als Längenangabe am Anfangen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Sind für FileStreams AnsiStrings vonnöten?

  Alt 19. Sep 2011, 01:18
Hier findest du ein Beispiel:
http://www.delphi-forum.de/viewtopic...=645319#645319
Zur Speicherung benutze ich dort UTF8-kodierte Strings, damit die Daten zwar unicodefähig sind, aber zwischen den Delphiversionen austauschbar. Es gäbe auch andere Lösungen dafür, aber so ist es denke ich am einfachsten.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Sind für FileStreams AnsiStrings vonnöten?

  Alt 19. Sep 2011, 07:00
Unicode kann man ja auch mit älteren Versionen auslesen.

bis D2007 als WideString
ab D2009 als UnicodeString/String oder ebenfalls WideString


Aber UTF-8 hat noch den Vorteil, daß es oftmals wohl weniger Speicher verbraucht (im europäischen Raum)
$2B or not $2B
  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 17:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz