Wo liegt das Problem bei diesem winzigen VB-Script???
Hi,
ich habe folgenden Code erstellt:
Option Explicit
Dim sHD, bIsNumeric
sHD = InputBox("Bitte geben Sie ihre Festplatten-Nummer ein!")
Function Formatieren
sHD = Trim(sHD) 'Die Leerzeichen werden entfernt
bIsNumeric = IsNumeric(sHD) 'Überprüfung ob nummerischer Wert
If bIsNumeric = False Then
sHD = InputBox("Bitte geben Sie eine Zahl als Festplatten-Nummer ein!")
Call Formatieren
End If
End Function
Gebe ich eine Zahl ein passwiert nichts. Das ist ja richtig,
aber wenn ich Buchstaben hinschreibe und auf ok klicke passiert nichts. Was mache ich falsch??
Danke
Antwort schreiben
Antwort 1 von Joshuan vom 05.10.2020, 17:27 Options
Du musst die Funktion aufrufen. Von alleine geht der Interpreter da nicht rein. Schreib einfach Formatieren in die Zeile nach der Inputbox.
Antwort 2 von Joshuan vom 05.10.2020, 17:30 Options
Äh sorry da ist ja alles durcheinander. Der Funktionsaufruf ist in der Funktion und die Inputbox ist auch doppelt und keine Ahnung. Das Call kann man auch weglassen.
Antwort 3 von Joshuan vom 05.10.2020, 17:37 Options
Und nochwas: Das Skript kommt mir sowieso komisch bis gefährlich vor. Ausserdem formatiert man keine Festplatten. Man formatiert Laufwerke. Eine Festplatte kann mehrere Laufwerke haben und die haben unter Windows Buchstaben und keine Zahlen.
Antwort 4 von Marie vom 17.10.2020, 03:09 Options
Ich versteh Deine Frage nicht.
Das, was Du da oben geschrieben hast kann doch überhaupt nicht laufen. Du kriegst doch sofort in der ersten Zeile schon eine Fehlermeldung.
Du kriegst doch mit diesem Kauderwelsch niemals eine Inputbox, soweit läuft der Code doch überhaupt nicht. Du kannst doch nicht eine Inputbox ausserhalb einer Prozedur aufrufen.
Dann rufste innerhalb der Function Formatieren Call Formatieren auf??
Und was soll denn eigentlich passieren mit Call Formatieren?? Da steht doch nirgendwo was, was passieren müsste??
Wie soll ich verstehen, dass diese Durcheinander bei Dir laufen könnte?
Wenn der Rest irgendwie richtig wäre würde auch nirgendwo was passieren.
Probier mal das hier, vielleicht verstehste dann besser was ich meine:
Private Sub Command1_Click()
Dim sHD, bIsNumeric
While bIsNumeric = False
sHD = InputBox("Bitte geben Sie ihre Festplatten-Nummer ein!")
sHD = Trim(sHD) 'Die Leerzeichen werden entfernt
bIsNumeric = IsNumeric(sHD) 'Überprüfung ob nummerischer Wert
Wend
Call Formatieren
End Sub
Function Formatieren()
MsgBox "Hier muss der Befehl zum Formatieren rein, den gibt es aber nirgendwo " _
& vbCrLf & vbCrLf & "Jetzt klar?"
End Function
Gruß Marie
Antwort 5 von Marie vom 17.10.2020, 03:24 Options
Äh und.. Joshuan hat recht, das klingt irgendwie nach:
Ich hab Blödsinn vor.....
Warum versuchst Du nicht was sinnvolles zu programmieren??
Gruß marie