AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Stringlist mit TDateTime

Ein Thema von zeras · begonnen am 11. Mai 2011 · letzter Beitrag vom 12. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2   
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#1

Stringlist mit TDateTime

  Alt 11. Mai 2011, 19:06
Delphi-Version: 2009
Hallo,

ich nutze für ein Projekt eine Stringliste und wollte dazu ein Datum mit Addobject hinzufügen.
Ist so etwas möglich?
Hintergrund ist, dass ich eine Stringliste für Dateien nutze und das Erstellungsdatum gleich mit dranhängen wollte, um es später separat zu nutzen.

So geht es offensichtlich nicht.

 SL.AddObject(s, TObject(DT));
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#2

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 19:33
Möglich ja, aber nicht so.
TDateTime ist ein double, also 64bit lang - TObject ist bis jetzt nur 32bit lang.

Also entweder eine Klasse schreiben deren einziger Inhalt ein TDatetime ist, oder den TDatetime nach Single casten. Da geht zwar etwas Genauigkeit verloren, aber vielleicht reicht es dir noch

Zitat:
SL.AddObject(s, TObject(Single(DT)));
  Mit Zitat antworten Zitat
s-off

Registriert seit: 20. Jan 2010
89 Beiträge
 
Delphi 2010 Professional
 
#3

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 19:34
Ok, zu spät...
Gruß
s-off
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 19:37
Alternative: Da Du Delphi 2009 benutzt, wäre eventuell der Typ Delphi-Referenz durchsuchenTDictionary aus der Unit Delphi-Referenz durchsuchenGenerics.Collections was für dich (in diesem Fall: TDictionary<string, TDateTime>).

Das geht hier mit einer Dictionary, weil die Schlüssel Dateinamen sind, die wiederum i.d.R. ja nicht doppelt vorkommen. Wenn zu einem bestimmten String (Dateinamen) mehrere Werte (TDateTime) hinzukommen können, ginge diese Lösung mit TDictionary leider nicht.

Viele Grüße
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.618 Beiträge
 
Delphi 12 Athens
 
#5

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 20:17
Danke für die Tipps.

Das mit Dictionary ist für mich neu. Da müßte ich mich erst einmal reinarbeiten.
Ich werde mal sehen, welches ich einbauen kann.
Problem ist nur, dass ich das in ein bestehendes Projekt einbauen muss, wo für andere Sachen schon die Stringlist verwendet wird. Aber da muss ich halt ein wenig ändern.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#6

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 20:51
Wäre es denn nicht einfacher das Datum in einen String umzuwandeln? Oder geht dann die spätere Nutzbarkeit verloren?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 22:49
Wäre es denn nicht einfacher das Datum in einen String umzuwandeln? Oder geht dann die spätere Nutzbarkeit verloren?
Der String ist ja noch größer, als der TDateTime/Double und wenn schon TDateTime keinen Platz hat..........
Und nein, einen String in einen Pointer zu casten ist keine gute Idee (wer an der Referenzzählung rumspielt und davon keine Ahnung hat, der muß irgendwann dafür leiden), es sei denn man nutzt einen PChar, mit eigenem Speicher, was eben größer ist, als der TDateTime.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.733 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: Stringlist mit TDateTime

  Alt 11. Mai 2011, 23:19
Ich dachte es geht um eine Stringlist...
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Stringlist mit TDateTime

  Alt 12. Mai 2011, 05:30
Das schon, nur daß dieses TDateTime (DT) in .Objects liegen sollte, wärend im .Strings vermutlich schon ein anderer String liegt.
Zitat:
SL.AddObject(s, TObject(DT));
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#10

AW: Stringlist mit TDateTime

  Alt 12. Mai 2011, 06:55
So gehts doch auch:
Delphi-Quellcode:
Type
  TDateTimeContainer = Class
    DateTime : TDateTime;
    Constructor Create(aDateTime : TDateTime)
  End;

Constructor TDateTimeContainer.Create(aDateTime : TDateTime);
Begin
  DateTime := aDateTime;
End;
...
MyStringList.AddObject (MyString, TDateTimeContainer.Create(MyDateTime));
Man muss die Objekte später nur wieder freigeben, das ist alles.
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:13 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