AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi FormatDateTime + AnsiString + RAD 2009
Thema durchsuchen
Ansicht
Themen-Optionen

FormatDateTime + AnsiString + RAD 2009

Ein Thema von AJ_Oldendorf · begonnen am 30. Jun 2009 · letzter Beitrag vom 30. Jun 2009
Antwort Antwort
AJ_Oldendorf

Registriert seit: 12. Jun 2009
385 Beiträge
 
Delphi 12 Athens
 
#1

FormatDateTime + AnsiString + RAD 2009

  Alt 30. Jun 2009, 09:30
Hallo zusammen,
angenommen, ich arbeite mit FormatDateTime (welches mir einen String liefert), und brauche das zurückgelieferte Ergebnis aber unbedingt als AnsiString, ist es dann in Ordnung, es so zu schreiben:

MyAnsiString := AnsiString(FormatDateTime('hh":"nn":"ss', Now))); Oder wie würdet ihr es machen?

Viele Grüße
Alex
  Mit Zitat antworten Zitat
samso

Registriert seit: 29. Mär 2009
439 Beiträge
 
#2

Re: FormatDateTime + AnsiString + RAD 2009

  Alt 30. Jun 2009, 17:40
Einmal ")" wech und dann würde ich sagen: Auf jeden Fall ist das in Ordnung! Ist ja schließlich ein freies Land!

Letzendlich ist es immer die Frage, was wird aus der Zeichenkette im weiteren Verlauf? Danach muß man dann entscheiden, ob der gewählte Datentyp den gewünschten Anforderungen entspricht. Wenn die Zeichenkette später in einer Datei gespeichert werden soll, die dann vielleicht wieder von einem anderen Programm verwarbeitet wird, dann ist der Type der Zeichenkette durch den Type der Datei vorgegeben. Möglicherweise sollte man dann den AnsiString gleich entsprechen deklarieren - z.B. "TMyAnsiType = type Ansistring(20127)". Vielleicht soll die Zeichenkette ja auch zu einem LCD-Display geschickt werden, dann sollte man es vielleicht doch eher als ein Array of Byte sehen?
Die Experten raten dazu die Umwandlung von String in irgendeinen andere Stringtype möglichst spät vorzunehmen. Also z.B. erst beim Speichern der Datei.
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#3

Re: FormatDateTime + AnsiString + RAD 2009

  Alt 30. Jun 2009, 17:58
Zitat von AJ_Oldendorf:
Hallo zusammen,
angenommen, ich arbeite mit FormatDateTime (welches mir einen String liefert), und brauche das zurückgelieferte Ergebnis aber unbedingt als AnsiString, ist es dann in Ordnung, es so zu schreiben:

MyAnsiString := AnsiString(FormatDateTime('hh":"nn":"ss', Now)));
Also vielleicht verstehe ich dein Problem falsch, aber sind inzwischen nicht alle Strings automatisch AnsiStrings? Früher, also noch zur Delphi 1 Zeiten, da war der normale String nur 255 Zeichen lang, also ShortString. AnsiString, falls es den damals schon gab, mußte man den erst so deklarieren. Irgendwann zwischen Delphi 1 und 3 (wahrscheinlich zwischen 1 und 2) wurde der Spaß umgedreht und der String war automatisch AnsiString, dagegen mußte man den ShortString erst so deklarieren. Natürlich gibt es auch die Compilerderektiven, aber das lassen wir hier mal weg. Das gleiche war mit Integer und LongInt und Smallint.

Wenn du also FormatDateTime benutzt, dann sollte das meiner Meinung nach ein AnsiString ergeben. Konvertierung also nicht nötig.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

Re: FormatDateTime + AnsiString + RAD 2009

  Alt 30. Jun 2009, 18:02
in/ab Delphi 2009 ist String ein UnicodeString (das ist eine Mischung aus WideString und AnsiString ... also Unicodesupport mit 2 Byte pro Zeichen plus Delphiinterne Speicherverwaltung)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 04:36 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