Hallo
Ich würde gerne für zu Hause ein kleine VBS Script erstellen. (Für Lernzwecke und sollte mir schlussendlich auch was nützen.
Was mein Skript machen sollte:
Benutzerinfos herauslesen aus einem Textfile, eine Art Benutzerdatenbank.
Hier mein Quellcode:
So sieht mein Textfile aus (habe nur die Infos von mir aufgeschrieben:
Daten.txt
Bis jetzt kann ich bei der Inputbox die "Liste und der Ort" eingeben. und ich bekomme die Infos heraus. Liste (Alles Benutzer werden aufgelistet die bei daten.txt
Meine Probleme sind:
-Ich möchte, dass bei Ort die Orte nicht mehrmals vorkommen, z.B. wohnen 2 Benützer in Pfaffhausen sollte bei der Outputbox nur einmal Pfaffausen aufgelistet werden.
-Sollte ich meinen namen bei der Inputbox schreiben, sollten alle Infos (Ort, handy, email etc) erscheinen, wie sollte das funktionieren? bis jetzt konnte ich immer nur eine Linie herauslesen aus daten.txt, mit dem Befehl: ort = daten.ReadLine
- Wenn der Ort Pfaffhausen aufgelistet wird, sollten alle die in Pfaffhausen wohnen aufgelistet werden, wie lautet der Befehl?
-------------------------------------------
Für die Fehlende Infos habe ich leider nichts gefunden.
Bin euch auch schon dankbar, wenn ihr mir bei einem Problem helfen könntet.
Vielen Dank im voraus!!
Gruss
Lernender
Ich würde gerne für zu Hause ein kleine VBS Script erstellen. (Für Lernzwecke und sollte mir schlussendlich auch was nützen.
Was mein Skript machen sollte:
Benutzerinfos herauslesen aus einem Textfile, eine Art Benutzerdatenbank.
Hier mein Quellcode:
Dim daten
Dim zeichenkette
Dim name
Dim allenamen
Dim Eingabe
Dim Liste
Dim Ort
Dim alleort
Eingabe = InputBox("Welche Informationen möchten Sie Haben?" & chr(13) & "Folgende Auswahlen stehen Ihnen zur Verfügung :" & chr(13) & chr(13) & "-Liste (Alle Benützer werden aufgelistet!)" & chr(13) & "-Eingabe eines Benutzers (z.B. Nico Steinemann)" & chr(13) & chr(13) & "-Ort (All Orte werden aufgelistet)" & chr(13) & "-Eingabe eines Ortes (z.B. Pfaffhausen)" )
If Eingabe = "Liste" then
allenamen = ""
Set fso = CreateObject("Scripting.FileSystemObject")
Set daten = fso.OpenTextFile("F:\TBZ\M122\Benutzerinfo\daten.txt", 1,,-2)
do while daten.AtEndOfStream <> True
zeichenkette = daten.ReadLine
if zeichenkette = "<name>" then
name = daten.ReadLine
allenamen = allenamen & chr(13) & name
End if
Loop
MsgBox allenamen
daten.Close
ElseIf Eingabe ="Ort" then
alleort = ""
Set fso = CreateObject("Scripting.FileSystemObject")
Set daten = fso.OpenTextFile("F:\TBZ\M122\Benutzerinfo\daten.txt", 1,,-2)
do while daten.AtEndOfStream <> True
zeichenkette = daten.ReadLine
if zeichenkette = "<ort>" then
ort = daten.ReadLine
alleort = alleort & chr(13) & ort
End if
Loop
MsgBox alleort
daten.Close
End If
So sieht mein Textfile aus (habe nur die Infos von mir aufgeschrieben:
Daten.txt
<name>
Nico Steinemann
<geburtstag>
14.05.1988
<ort>
Pfaffhausen
<strasse>
Twäracherstrasse4
<handy>
0767777533
<email>
nico-steinemann@gmx.ch
Bis jetzt kann ich bei der Inputbox die "Liste und der Ort" eingeben. und ich bekomme die Infos heraus. Liste (Alles Benutzer werden aufgelistet die bei daten.txt
Meine Probleme sind:
-Ich möchte, dass bei Ort die Orte nicht mehrmals vorkommen, z.B. wohnen 2 Benützer in Pfaffhausen sollte bei der Outputbox nur einmal Pfaffausen aufgelistet werden.
-Sollte ich meinen namen bei der Inputbox schreiben, sollten alle Infos (Ort, handy, email etc) erscheinen, wie sollte das funktionieren? bis jetzt konnte ich immer nur eine Linie herauslesen aus daten.txt, mit dem Befehl: ort = daten.ReadLine
- Wenn der Ort Pfaffhausen aufgelistet wird, sollten alle die in Pfaffhausen wohnen aufgelistet werden, wie lautet der Befehl?
-------------------------------------------
Für die Fehlende Infos habe ich leider nichts gefunden.
Bin euch auch schon dankbar, wenn ihr mir bei einem Problem helfen könntet.
Vielen Dank im voraus!!
Gruss
Lernender