![]() |
Zufälliges Datum generieren
Hallo,
ich bin noch blutiger Anfänger in Sachen Delphi und habe folgende Frage. Wie kann ich ein zufälliges Datum generieren (und dann als String speichern)? Wollte es zuerst man randomize angehen, aber es gibt da ja so viele Bedingungen, wegen der Anzahl der Monate im Jahr (Februar!). Wäre sehr kompliziert und ich denke es geht auch einfacher? Ich hoffe ihr könnt mir helfen. Der komplette Code wär am hilfreichsten. VIELEN, VIELEN DANK IM VORAUS Grüße Jan |
Re: Zufälliges Datum generieren
Moin Jan,
erst einmal herzlich willkommen hier in der Delphi-PRAXiS. Doch, das geht auch mit Random. Ein Datumswert (TDateTime) ist eigentlich nichts anderes als der Datentyp double. Der Nachkommaanteil gibt hierbei die Uhrzeit an, der Vorkommateil das Datum. Da Du ja nur das Datum haben willst, dies aber, im Prinzip, eine ganze Zahl ist, kannst Du Random verwenden. Beispiel:
Delphi-Quellcode:
Vorher muss einmal im Programm Randomize aufgerufen werden (z.B. im OnCreate eines Formulares)
ShowMessage(DateToStr(Random(10000)));
Es ist zwar nur eine Pseudo-Zufallszahl, wird aber in vielen Fällen genügen. Ob Du jetzt noch einen Wert fest dazuaddieren, oder vielleicht auch abziehen musst, hängt natürlich davon ab, in welchem Bereich sich das Datum bewegen soll. |
Re: Zufälliges Datum generieren
Dazu wäre noch zu erwähnen, dass der Ausgangspunkt bei dieser Rechnung der 30.12.1899 ist. Der Ganzzahlige Anteil stellt also sozusagen die Anzahl der Tage vom 30.12.1899 bis zum jeweiligen Datum dar.
Und da ich ein netter Mensch bin hab ich sogar einen kleinen Codeschnippsel parat:
Delphi-Quellcode:
Ich hoffe du kannst was damit anfangen.
var Datum1, Datum2: TDate;
Bereich, Zahl: Integer; Ergebnis: String; ... Randomize; //Zufallsgenerator initialisieren ... Datum1 := StrToDate('01.01.2007'); //Startdatum Datum2 := StrToDate('31.12.2007'); //Enddatum Bereich := Trunc(Datum2-Datum1); //Bereich durch Subtraktion Zahl := Random(Bereich); //Zufallszahl generieren Ergebnis := DateToStr(Datum1 + Zahl); //Ergebnis durch Addition Gruß Mr_G |
Re: Zufälliges Datum generieren
Schade, die Silvesterfeier fällt in diesem Jahr wohl aus...
Gruß Hawkeye |
Re: Zufälliges Datum generieren
Moin Mr_G,
Zitat:
|
Re: Zufälliges Datum generieren
Wow, das ging ja richtig schnell. Und dann auch noch gleich das was ich gebraucht habe. Ihr seid echt spitze hier.
:) :) Danke :) :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:44 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