Passwortschutz mit QBasic

Sibadruid

Herzlich willkommen!
Hi ich habe ein Problem,
also ich habe Qbasic nochnicht lange, aber ich würde gerne ein Passwortschutz für einen bestimmten text in Qbasic erstellen. in etwa so:

PRINT "Bitte geben sie das Passwort ein"
- - und dann eben die pw abfrage 1 bestimmten passwortes das man eingeben muss.

==> bei richtigem pw dann den nächsten text (oder noch eine passwortabfrage (z.b:))

==> bei falschem
PRINT "ERROR!"
und dass sich das programm dann nach 3 fehlversuchen schließt.

geht das irgendwie? :)

währe dankbar für hilfe :)
 
Ist schon lange her, dass ich QBasic in den Fingern hatte. Aber wie man Schleifen programmiert, das krieg ich noch hin. Ich schreibs mal sinngemäß auf (Syntax ist natürlich nicht richtig):

REM Variablen für Schleifenzähler und Passwort setzen

Set zaehler=0 // Zähler für die Anzahl Versuche
set passwort = space(5) // 5 Leerzeichen für das PW, je nach gewünschter Länge
set lauf=0 // reine Zählvariable, zum Verlassen der Schleife
// alternativ Befehl "loop"

REM Jetzt kommt die Schleife

Do while lauf=0 // Schleife durchlaufen, bis Variable lauf<>0
Print "PW eingeben". Input passwort
zaehler=zaehler+1 // Zähler um 1 erhöhen
if passwort = "richtig" // Passwort stimmt
set lauf=1 // Laufvariable auf 1 = raus
// aus Schleife
print "Passwort ok"
else
set passwort=space(5) // Passwort falsch
print "Passwort falsch"
print "Du hast noch";3-zaehler; "Versuche"
endif

If zaehler=3 // 3 Fehlversuche
print "Sorry - 3 Fehlversuche. Programm stoppt"
--> Hier Programm beenden, abbrechen oder sonstwas
endif
enddo


Wie gesagt, das ist ein reines Grundgerüst. Ich kenne die QBasic-Syntax nicht mehr. Umsetzen dürfte aber kein problem darstellen.
Natürlich geht so ne Schleifenabfrage auch eleganter, wenn man die Syntax der Programmiersprache ausreizt.

Und natürlich: QBasic.de - Die Deutsche QBasic-Seite
 
wie gesagt habe ich das noch garnet lange und währe dankbar wenn man mir nur sagt was ich hinschreiben soll weil die grundlagen werd ich noch lernen in zukunft, das mit dem passwortschutz is aber sehr dringend und duldet keinen aufschub
währe nett wenn man einfach hinschreibt was ich reinschreiben soll, hab n kurs und lerne später mehr aber bin noch ganz am anfang mit qbasic

ok hat sich erledigt - aber noch eine frage
wenn ich starten will kreist er "set" ein und schreibt "syntax error" wie kann ich das anders machen?

außerdem geht das mir dem "richtig" auch net

das funzt GAR NET
da kommt dann jedes mal "redo from start"
 
Zuletzt bearbeitet von einem Moderator:
Lernt doch mal Google und Co zu bedienen. ;)

Bullabeisser hat einen schönen Link gepostet, 2-3 Klicks hatte ich ein Ergebniss:

Code:
'*******************************************************************
' PASSWRD3.BAS = Passwort-Eingabe mit Sternchenanzeige
' ============
' Das Passwort lautet "abc"
'
' (c) Thomas Antoni, 15.05.2002
'*******************************************************************
CLS
PRINT
FOR i% = 1 TO 3
  y$ = ""
  PRINT " Gib das Passwort ein  ("; i%; "/ 3 )  : ";
  DO:
    LOCATE , , 1  'Cursor anzeigen
    x$ = INKEY$: IF x$ = CHR$(13) THEN EXIT DO  'Exit with Enter Key
    IF x$ <> "" THEN y$ = y$ + x$: PRINT "*";
  LOOP
  IF y$ = "abc" THEN
    CLS
    SYSTEM        'Ende wenn Passwort abc richtig eingegeben
  ELSE
    PRINT "   !!! Das Passwort ist falsch !!!"
    PRINT
    PRINT
  END IF
NEXT i%
WHILE 1: WEND 'Ewige Dauerschleife, wennn 3x falsche Eingabe
              ' ==> Rechner muss neu gestartet werden
              'oder Strg+Pause druecken !!!
END
 
"richtig" war nur ein Beispiel. Da muss das Passwort rein, das Du abfragen möchtest.
Ich habe aber geschrieben, dass das nur ein "Ansatz" ist und die Syntax nicht stimmt. QBasic ist schon zu lange her

Aber Jim hat's ja auf den Nenner gebracht. Suchet, so werdet Ihr finden :D
 
also bei x$ (ich kann das hier jetzt net) kommt "Type missmatch" außerdem möchte ich kein ende wenn das passwort richtig, sondern wenn es 3 mal falsch ist und wenn es richtig ist dann weiter zum verschlüsselten wort/ text oder zum nächsen pw. und bei den ":" zeigt er mir immer "expected: end-of-statenment" an ich bin da wirklich noch ne volle 0 drinne.
 
also bei x$ (ich kann das hier jetzt net) kommt "Type missmatch" außerdem möchte ich kein ende wenn das passwort richtig, sondern wenn es 3 mal falsch ist und wenn es richtig ist dann weiter zum verschlüsselten wort/ text oder zum nächsen pw. und bei den ":" zeigt er mir immer "expected: end-of-statenment" an ich bin da wirklich noch ne volle 0 drinne.

Dann hast du kein QBasic.

Ich habe sogar extra QBasic installiert, sind ja nur einpaar KB den Code rein, und gestartet, ging einwandfrei.

Denke jetzt nicht das wir dir den Code komplett schreiben. ;)

Du möchtest nicht das Ende ist, wenn Passwort richtig, also ändere diesen Abschnitt:

Code:
IF y$ = "abc" THEN
    CLS
    [COLOR="Red"]SYSTEM [/COLOR]       'Ende wenn Passwort abc richtig eingegeben

z.B. in:

Code:
IF y$ = "abc" THEN
    CLS
    [COLOR="Red"]C:\Dein_Text.txt [/COLOR]       'Ende wenn Passwort abc richtig eingegeben
 
QBasic...oh mein Gott...wo hast Du das ausgegraben? Oder war das Pflichtvorgabe? Kostenlos uns mit super Entwicklungsumgebung gibt es auch das aktuelle Visual Basic (VB.NET 3.5).

Anfangen muss man ja irgendwie und irgendwo...aber man kann es ja auch etwas zeitgemässer betreiben :)
 
Oben