- OT: Merksätze am Bildschirm per Zufall anzeigen lassen. Wie geht das? - Heller, 02.12.2004, 15:18
- Re: OT: Merksätze am Bildschirm per Zufall anzeigen lassen. Wie geht das? - Luigi Avanti, 02.12.2004, 17:57
- Re: ot: @ Luigi Avanti - T. Mai, 10.12.2004, 19:44
- Re: ot: @ Luigi Avanti - Luigi Avanti, 10.12.2004, 22:25
- Re: ot: @ Luigi Avanti - T. Mai, 10.12.2004, 19:44
- Re: OT: @Heller: Zum Basteln in der Vorweihnachtszeit.... - Uwe, 02.12.2004, 18:40
- Das wär´ doch was? - Helmut, 02.12.2004, 20:49
- Re: OT: Merksätze am Bildschirm per Zufall anzeigen lassen. Wie geht das? - Luigi Avanti, 02.12.2004, 17:57
Re: OT: @Heller: Zum Basteln in der Vorweihnachtszeit....
-->Hallo, Heller,
sicher gibt es eine Anwendung, die diese Zufallsunnterbrechung bewerkstelligen kann. Nun konnt es allerdings darauf an, in welcher Anwenderumgebung dies funktionieren soll.
Sollte es keine fertigen Lösungen geben (Luigi Avanti hat ja bereits einen Hinweis darauf gegeben), die Deinen Vorstellungen entsprechen, dann könnte man es im ersten Schritt mit einer VBA-EXCEL-Application versuchen, wenn Dir diese Möglichkeit offen steht. Hier die Grundidee als VBA-Modul:
<hr width=62%>
<pre>Sub ExpressisVerbi()
Dim NextTime As Date, maxDTime As Date, minDTime As Date, offsTime As Date
Dim ws As Worksheet
Dim maxNr As Long, nrt As Long
Dim NewLine As String, NewLine2 As String
Set ws = Worksheets("SpruchI")
Randomize
NewLine = Chr$(13)
NewLine2 = Chr$(13) & Chr$(13)
minDTime = 30 / (24 * 60) 'minimale Zeitspanne zwischen zwei SprĂĽchen (hier 30 Min)
maxDTime = 2 * minDTime 'maximale Zeitspanne zwischen zwei SprĂĽchen hier: 2*30=60min)
offsTime = (maxDTime + minDTime) / 2 ' erste Zeitspanne
NextTime = time + offsTime
maxNr = 3 ' maximale Anzahl der SprĂĽche; kann auf ĂĽber ws.Row.Count ermittelt werden (?)
Do
If time > NextTime Then
'je nach Umgebung und laufendeb Anwendunmgen, kann es erforderlich werden, den Focus an die EXE-Anwenbdung zu geben
nr = Int(maxNr * Rnd()) + 1 '"zufällige" Spruchnummerwahl
MsgBox ("Spruch Nr." & nr & NewLine &"nach" & offsTime &":" & NewLine2 & ws.Cells(nr, 2))
offsTime = minDTime + Rnd() * (maxDTime - minDTime) 'neue Zeitspanne setzen
NextTime = time + offsTime
End If
Loop
End Sub</pre><hr width=62%>
Auf einem Tabellenblatt kannst Du Deine Sprüche nach Belieben zusammenstellen, ergänzen, editieren, löschen (Spalte 1 z.B. lfd.Nr,, Spalte 2 den Spruch).
Aber auch in eine eine EXE-Programm compiliertzes Programm, erfüllt in der Regel mit ähnlichen Befehlen diese Aufgabe, nur dass die Sprüche dann in jedem Fall aus einer Textdatei herausgelesen werden (bei EXCEL opt.), wenn sie nicht fest im Programm gesetzt sind.
GruĂź,
Uwe

gesamter Thread: