VBS Anmeldung

Hallo,
wir möchten für die Noteneingabe in unserer Schule ein Programm starten. Da dieses benutzerspezifische Daten laden muss, soll eine Anmeldung erfolgen.
Folgende Punkte benötigen wir:

  • Anmeldung mit Personenkürzel und Passwortabfrage
  • Je nach Kürzel starten des Eingabeprogramms mit Ladeoption einer spezifischen Datei (Je nach Kollege eine andere Datei)

Ich dachte, dass man die Kürzel und Passworte in einer externen Text- oder CSV-Datei verwaltet.
Leider habe ich nur rudimentäre vbs-Kenntnisse.
Nur um das klar zu stellen, ich erwarte nicht, dass ihr mir das Programm schreibt, aber ich bräuchte einfach ein paar Hilfestellungen.
Zuerst einmal wäre da die Frage, ob vbs überhaupt dazu geeignet ist.
Wenn ja, würde ich die Kürzel/Passwortliste gerne aus einer externen Datei in ein ARRAY (50,50) laden. Geht das?
Dann soll eine Datei gestartet und im Startaufruf die personenbezogene Datei geladen werden.(hat in batch Datei funktioniert)

Ich habe bestimmt noch mehr Fragen, aber für den Anfang wäre mir mit ein paar Antworten schon geholfen.
Ich bin natürlich kein Programmierer, aber Willens es hinzukriegen :wink:

Gruß und Danke schonmal
Christian

Hallo Christian,

so besonders fit bin ich mit VBS auch nicht, ich verwende eher VB6.0, aber das werden wir schaffen. Eine Excel-Tabelle mit VBS lesen kann ich nicht, aber ein Textfile bekomme ich auf. :smile: Das wird vermutlich auch nicht der optimale Code, aber es wird laufen.

Der erste Ansatz, tut noch nicht alles, was er soll, läuft aber. :smile:

Dim Arr(40,40)
Dim FSO
Dim oShell
Dim Datei
Dim Txt
Dim PW
Dim Var

Set FSO = CreateObject("Scripting.FileSystemObject")
Set Datei = FSO.OpenTextFile("c:\testtext.txt", 1, True)
Do While Datei.AtEndOfStream True
Txt = Txt + Datei.Readline
Loop
Datei.Close
'Die Parameter wurden aus der Textdatei gelesen
PW = Inputbox ("Bitte Passwort eingeben")
'Abhängig vom Passwort kann nun Var aus der Textdatei versorgt werden.
'Esrt mal irgend etwas setzen, da erledigen wir später ...
Var = "C:\Testtext.txt"
'Nun starten wir das Programm mit dem Parameter. 
'Ich habe Dein Programm nicht, deshalb starte ich
'mal das Notepad mit einem Textfile als Parameter
Set oShell = WScript.CreateObject ("WSCript.shell")
oShell.run "Notepad.exe " + Var
Set oShell = Nothing

Gruß, Rainer

Hallo,

ein Hinweis noch.

  • Anmeldung mit Personenkürzel und Passwortabfrage
  • Je nach Kürzel starten des Eingabeprogramms mit Ladeoption
    einer spezifischen Datei (Je nach Kollege eine andere Datei)

Die Dateien kann man aber ohne das Script auch laden, die Passwortabfrage ist nicht mehr als ein Gag. Einen Schutz vor unberechtigtem Zugriff kannst Du mit dem Script nicht erzeugen.

Gruß, Rainer

Hallo

Dim Arr(40,40)

Um 40 Nutzer und 40 Passwörter zu speichern, ist doch folgendes Sinnvoller:

Dim Arr(40, 2)

Ausser jemand will 40 Nutzer speichern und jeder soll 40 PAsswörter besitzten dürfen…

Gruss,
AlexR

Hallo,

Dim Arr(40,40)

Um 40 Nutzer und 40 Passwörter zu speichern, ist doch
folgendes Sinnvoller:

Dim Arr(40, 2)

Ausser jemand will 40 Nutzer speichern und jeder soll 40
PAsswörter besitzten dürfen…

ja, völlig korrekt. 40 X 40 habe ich nur geschrieben, weil ich Dich so verstanden hatte. Bei mir war nicht angekommen, was Du damit vor hast. Ich habe das Array auch nicht verwendet.

Im Prinzip brauchst Du gar kein Array, Du liest ja ohnehin Zeilenweise aus der Datei, kannst direkt mit der Eingabe vergleichen und bei einem Treffer das Lesen schon beenden. Die Daten müssen nicht in ein Array, weil Dich ja nur eine Zeile interessiert.

Gruß, Rainer

Hallo Rainer,
ich weiß, dass das nicht sicher ist. Es geht auch eigentlich nur darum Fehlbedienungen zu vermeiden. Die Kollegen sollen sich mit ihrem Kürzel und ihrem Passwort anmelden und bekommen dann ihre Notendatei mit dem Notenmodul mitgeladen.
Bisher funktioniert bei mir schon mal der Start des Programmes etc. ich weiß leider nur noch nicht, wie ich die Kürzel- und Passwortverwaltung handhaben soll.
D.h. die Kollegen sollen erst ihr Kürzel eingeben, dann ihr Passwort. Das Programm schaut in der Datei nach, ob Kürzel und Programm zusammenpassen. Wenn ja wird das Notenmodul mit der zugehörigen Notendatei des Kollegen geladen.
Denn wenn ich das richtig sehe, wurde Arr(40,40) deklariert, aber noch nicht mit Inhalt gefüllt. Ich dachte, dass darin dann die Kürzel und die Passworte aus der Textdatei (oder csv) geladen werden.

Aber erst schon einmal vielen Dank für deine Hilfe. Ich hätte wahrscheinlich bis nach den Zeugnissen daran gesessen :wink:

Gruß Christian

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

Hallo,

ich weiß, dass das nicht sicher ist. Es geht auch eigentlich
nur darum Fehlbedienungen zu vermeiden.

gut, dafür ist das hier geeignet.

Die Kollegen sollen
sich mit ihrem Kürzel und ihrem Passwort anmelden und bekommen
dann ihre Notendatei mit dem Notenmodul mitgeladen.
Bisher funktioniert bei mir schon mal der Start des Programmes
etc. ich weiß leider nur noch nicht, wie ich die Kürzel- und
Passwortverwaltung handhaben soll.

Am Bequemsten ist es, wenn Du die mit dem Notepad in eine Textdatei schreibst.

Dabei kannst Du entweder Name, Passwort und Zieldatei mit Pfad in eine Zeile schreiben, Trennzeichen dazwischen und im Programm die Zeile wieder zerlegen, oder du schreibst für jeden Anwender drei Zeilen.

Die erste Variante ist im Editor leichter zu lesen, die zweite Variante vereinfacht das Programm.

D.h. die Kollegen sollen erst ihr Kürzel eingeben, dann ihr
Passwort. Das Programm schaut in der Datei nach, ob Kürzel und
Programm zusammenpassen. Wenn ja wird das Notenmodul mit der
zugehörigen Notendatei des Kollegen geladen.
Denn wenn ich das richtig sehe, wurde Arr(40,40) deklariert,
aber noch nicht mit Inhalt gefüllt. Ich dachte, dass darin
dann die Kürzel und die Passworte aus der Textdatei (oder csv)
geladen werden.

Das habe ich absichtlich nicht verwendet, das brauchst Du nicht. Du kannst doch schon beim Lesen der Textdatei die Auswertung mit erledigen, die anderen Daten interessieren Dich ja eigentlich nicht.

Beim Lesen einfach Benutzername, Passwort und Link einlesen, wenn der Benutzername richtig ist, das Passwort prüfen und wenn auch das Stimmt, die Schleife mit ‚Exit Do‘ verlassen.
Wenn Benutzernamen und Passwort nicht stimmen, den Link leeren.
Nach dem schließen der Textdatei hast Du wenn alles OK war einen Link, sonst nicht und Du gibst eine Messagebox mit einer Fehlermeldung aus.

Das beschleunigt das Programm, macht es einfacher und spart auch noch Soeicherplatz.

Aber erst schon einmal vielen Dank für deine Hilfe. Ich hätte
wahrscheinlich bis nach den Zeugnissen daran gesessen :wink:

*gg* Dafür ist das Brett doch da. :smile:

Kommst Du jetzt zurecht? Wenn etwas unklar ist, einfach noch mal fragen.

Gruß, Rainer