![]() |
DP-Maintenance
Dieses Thema wurde von "Matze" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Es scheint um Delphi zu gehen. |
Re: Zufallsfunktion
Danke fuer eure Beitraege! :)
Wenn ich den Tag vorrausberechne, an dem das Ereignis eintreten soll, reicht ein einfaches random(x)+y. Das waere ja simpel. ;) Ich muss aber an jedem Tag neu berechnen, ob das Ereignis eintreten soll und damit muss die Wahrscheinlichkeit mit jedem Tag ansteigen, so dass spaetestens am letzten Tag des Intervalls (ob Tag 30 bis Tag 60 oder Tag 31 bis Tag 60 ist egal, da im Programm-Setup einstellbar) das Ereignis eingetreten ist, ohne dass bei zig Durchlaeufen das Ereignis meistens schon in den ersten Tagen eingetreten ist oder in 90% der Durchlaeufe am letzten Tag eingetritt. Irgendwie scheine ich mich wohl unklar auszudruecken. %-) Sorry! P.S. Matze, kannst du den Fred bitte wieder zurueckschieben? Es geht hier ja nicht um Delphi spezifisches, sondern um einen speziellen Algoritmus. |
Re: Zufallsfunktion
Aha.
Also: Am 30.Tag : "If Random (31) = 0 then Ereignis_Ausloesen" Am 31.Tag : "If Random (30) = 0 then Ereignis_Ausloesen" ... Am 60.Tag : "If Random (1) = 0 then Ereignis_Ausloesen" So etwa, stimmts? Wenn dann 'Ereignis_Ausloesen' den Tageszähler wieder auf 0 setzt, dann solltest Du das doch hinbekommen... Weiterhin kannst Du dir einfach die Zahl '30+Random(31)' bzw. das Datum (Heute + Zufallszahl) in die Registry/eine INI-Datei/die EXE schreioben und dann jeden Tag schauen, ob dieses Datum erreicht wurde. Wenn ja, löst Du das Ereignis aus und schreibst ein neues Datum (30+Random(31) Tage in der Zukunft) in die Registry/INI-Datei/EXE. Hab ich's jetzt richtig verstanden? :zwinker: |
Re: Zufallsfunktion
Zitat:
[edit]Ah, Bestätigung tut immer gut ;) .[/edit] |
Re: Zufallsfunktion
Ehrlich gesagt, verstehe ich wirklich die Problematik nicht, Kharlanki.
Du hast also ein Programm, das täglich(?) oder ab und gestartet wird. Sei X der Tag, an dem das letzte Mal 'das Ereignis' aufgetreten ist. Ergo wird das nächste Ereignis zum Zeitpunkt "X + 30 + Random (31)" auftreten. Das ist doch wohl klar. Wieso kannst Du das nicht im Voraus berechnen, irgendwo abspeichern und beim Programmstart einfach fragen, ob der Zeitpunkt erreicht oder überschritten wurde? Ich kapier's nicht. :wall: Na ja, bin wohl zu alt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:39 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