AGB  ·  Datenschutz  ·  Impressum  







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

Zufälliges Datum generieren

Ein Thema von Hagen23 · begonnen am 4. Jan 2007 · letzter Beitrag vom 5. Jan 2007
Antwort Antwort
Hagen23

Registriert seit: 4. Jan 2007
2 Beiträge
 
#1

Zufälliges Datum generieren

  Alt 4. Jan 2007, 23:01
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
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zufälliges Datum generieren

  Alt 4. Jan 2007, 23:16
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:

  ShowMessage(DateToStr(Random(10000))); Vorher muss einmal im Programm Randomize aufgerufen werden (z.B. im OnCreate eines Formulares)
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.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von Mr_G
Mr_G

Registriert seit: 2. Sep 2004
Ort: Duisburg
468 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Zufälliges Datum generieren

  Alt 4. Jan 2007, 23:29
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:
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
Ich hoffe du kannst was damit anfangen.
Gruß
Mr_G
Jan
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#4

Re: Zufälliges Datum generieren

  Alt 4. Jan 2007, 23:55
Schade, die Silvesterfeier fällt in diesem Jahr wohl aus...

Gruß Hawkeye
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Zufälliges Datum generieren

  Alt 4. Jan 2007, 23:56
Moin Mr_G,

Zitat von Mr_G:
Der Ganzzahlige Anteil stellt also sozusagen die Anzahl der Tage vom 30.12.1899 bis zum jeweiligen Datum dar.
wobei noch darauf hinzuweisen wäre, dass sich dies auch auf negative Werte bezieht. -1 entspräche dann also dem 29.12.1899.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Hagen23

Registriert seit: 4. Jan 2007
2 Beiträge
 
#6

Re: Zufälliges Datum generieren

  Alt 5. Jan 2007, 11:24
Wow, das ging ja richtig schnell. Und dann auch noch gleich das was ich gebraucht habe. Ihr seid echt spitze hier.

Danke
  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 05:37 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