AGB  ·  Datenschutz  ·  Impressum  







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

Nächstes Datum errechnen

Ein Thema von Larsi · begonnen am 30. Dez 2008 · letzter Beitrag vom 2. Jan 2009
Antwort Antwort
Seite 2 von 10     12 34     Letzte »    
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:19
Zitat:
Alternativ kann man auch versuchen nach zu denken.
Warum das, wenn sich doch immer einer findet, der das für ihn macht
Markus Kinzler
  Mit Zitat antworten Zitat
Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
652 Beiträge
 
Delphi 12 Athens
 
#12

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:22
Mein Vorschlag (ohne Sortieren): Du gehst die ganze Liste durch und betrachtest dabei ein Datum nur, wenn es größer oder gleich "heute" ist. Hast du so ein Datum gefunden, merkst du dir dessen ItemIndex und wie weit es von heute entfernt ist. Danach gehst du die Liste weiter durch und wenn du auf ein Datum triffst, dass zwar größer oder gleich "heute" ist, aber näher an heute als das bisher gemerkte, dann ersetzt du den bisher gemerkten ItemIndex durch den aktuellen und natürlich ebenfalls den Wert, in dem du dir merkst, wie weit das Ganze von heute entfernt ist. Den letzten Schritt wiederholst du bis zum Ende der Liste.

Die Laufzeit sollte linear sein und man muss die Items in der Liste nicht sortieren.

Nur Programmieren musst du das kleine Schleifchen noch selbst.

Bis denn
Bommel

Hm, bin ich jetzt der Depp, der die Arbeit für ihn gemacht hat...?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:27
Das wäre auch eine Möglichkeit, aber die muss auch erst einmal geschrieben werden
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#14

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:34
Ok, dann habe ich nur noch zwei Fragen: Wie schaffe ich es nur Tag und Datum von so einem Datum: 01.01.1950 zu nehmen und wie kann ich daraus einen Integer machen oder kann man Objekte vom Date Typ auch einfach mit < und > vergleichen?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:37
TDate = TDateTime = double. Und wenn alle Einträge im Format "dd.mm.yyyy" sind, kann man das Jahr ja mit dem Copy-Befehl abschneiden.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#16

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:37
Was hast du bisher in delphi gemacht, dass du nicht einmal DecodeDate() kennst?
Welchen würde ein Datumstyp machen wenn man ihn vergleichen kann? Übrigens ist ein TDate(Time) ein Double
Markus Kinzler
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#17

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:54
Ich habe das Jahr jetzt erstmal außen vor gelassen und mich der Schleife gewidmet. Ich habe es so versucht wie Bbommel gesagt hatte:

Also mein Ansatz sieht so aus:
Delphi-Quellcode:
var
  i: Integer;
  g: integer;
  k: integer;

begin
for i := 0 to Listview1.Items.count - 1 do begin
if StrToDate(DateToStr(Now)) < StrToDate(Listview1.Items.Item[i].SubItems.Strings[0]) then begin
g := i;
k := Listview1.items.count - g;
end;
Ich weiß, das ist noch lange nicht alles aber ich habe das Gefühl, dass ich eine falsche Schleife benutze, oder? Wenn ich jetzt mit g weitermache und prüfe ob es einen noch kleineren Eintrag gibt muss ich ganz viele for Schleifen machen. Welche Schleife ist da besser?
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#18

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 10:59
Du brauchst doch nur das Minimum zu suchen. Übrigens:
Zitat:
StrToDate(DateToStr(Now))
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#19

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 11:07
Ich steht auf m Schlauch. Kann mir nicht bitte jemand sagen wie ich jetzt das Minimum hinkriege? Es ist bestimmt ganz einfach aber ich komm nicht drauf. Ich habs jetzt wirklich versucht so gut ich konnte.
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#20

Re: Nächstes Datum errechnen

  Alt 30. Dez 2008, 11:10
Stichworte:
- BubbleSort
- QuickSort

An dem einen Ende ist das Minimum am anderen ist das Maximum.
Minimum ist dann erreicht wenn alle anderen Werte größer sind.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 10     12 34     Letzte »    


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 05:12 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