Zufalls Wörter

Hallo,
ich arbeite gerade an einem VBS im ganz normlen Editor von Windows.
Meine Frage: Wie kann man ein Zufallswort aus einer Liste in der msgbox angezeigen ?

P.S. Bin anfänger

Hallo,

schreib Dir mal in eine Textdatei ‚Worte.txt‘ eine Reihe Wörter, je ein Wort in eine Zeile, in die erste Zeile schreibst Du eine Zahl, die angibt, wie viele Wörter in der Textdatei stehen.
Die Datei schreibst Du nach C:\

Das Script, das die Datei liest und bei einem zufällig gewählten Wort damit aufhört, sieht bei mir dann so aus:

Randomize Timer
Const ForReading = 1
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject") 
Set f = fso.GetFile("c:\Worte.txt")
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
n = ts.ReadLine
r=int(rnd(1)\*n)+1
for i = 1 to r
txt = ts.ReadLine
next
ts.Close
MsgBox txt

Leider habe ich von VBS auch keine Ahnung, sonst wäre die Lösung sicher schöner geworden. So lange Du keinen besseren Code bekommst, funktioniert der wenigstens. :smile:

Gruß, Rainer
PS: Zusammengeschraubt habe ich das mit der Hilfe ‚script56.chm‘ von Microsoft.

Danke das geht,
aber ich möchte mehrere Zufallsworte von verschidenen
Kategorien (z.B: Zufalls-Sustantiv + Zufalls-Verb usw.) zu einem Zufallssatz zusammenwerkeln.
Das funktioniert noch nicht so ganz.
Vielleicht hat einer eine Idee.

Wie wären mehrere Dateien?
(substantiv.txt, verb.txt, etc.)

Der vorhergehende Code müßte dann etwas angepasst werden.

HTH,
Micha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Der vorhergehende Code müßte dann etwas angepasst werden.

genau das ist mein Problem. (bin ja Anfänger)

Hallo,

Der vorhergehende Code müßte dann etwas angepasst werden.

genau das ist mein Problem. (bin ja Anfänger)

da mußt Du doch nur kopieren …

Randomize Timer
Const ForReading = 1
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse
= 0
Dim fso, f, ts
Set fso = CreateObject("Scripting.FileSystemObject") 

Set f = fso.GetFile("c:\Substantive.txt")
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
n = ts.ReadLine
r=int(rnd(1)\*n)+1
for i = 1 to r
Substantiv = ts.ReadLine
next
ts.Close

Set f = fso.GetFile("c:\Verben.txt")
Set ts = f.OpenAsTextStream(ForReading, TristateUseDefault)
n = ts.ReadLine
r=int(rnd(1)\*n)+1
for i = 1 to r
Verb = ts.ReadLine
next
ts.Close

MsgBox Substantiv & Verb

Ungetestet, sollte aber gehen.

Gruß, Rainer

Danke jetzt geht es.
PS:Ein kleiner Fehler war drin, aber schnell behoben.