Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Passwort bei Qb 4.5
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.03.2007, 20:59    Titel: Passwort bei Qb 4.5 Antworten mit Zitat

Ich hätte da mal ne Frage:
Wie kann ich in eines meiner Programme so ne art passwort abfrage einbauen? mit den Augen rollen
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.03.2007, 21:02    Titel: Antworten mit Zitat

Das kommt darauf an wie komplex oder einfach Du es Dir machen willst zwinkern

die einfachste aber nicht besonders sinnvollste Methode ist wohl ungefähr so...

Code:

Input Passwort$
If Passwort$<>"MeinPasswort" Then
    ?"Falsches Passwort"
    end
Else
    ?"Passwort ok"
End If

_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.03.2007, 21:08    Titel: Antworten mit Zitat

naja was komplexis wäre schon gut
Autsch!
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.03.2007, 21:10    Titel: Antworten mit Zitat

Dann drück dich klarer aus. mit den Augen rollen

Und benutz erstmal die SuFu oder schlag mal in der [url=http://www.antonis.de/faq]QB-MonsterFAQ nach.
Dort gibt's mehr als genug dazu...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.03.2007, 21:15    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Dann drück dich klarer aus. mit den Augen rollen

Und benutz erstmal die SuFu oder schlag mal in der [url=http://www.antonis.de/faq]QB-MonsterFAQ nach.
Dort gibt's mehr als genug dazu...


in der monsterfaq hab ich schon gesucht
also ich stell mir das so vor:
Meine eingabe da erscheinen *** und wenn das passwort falsch ist schließt sich das fenster also das programm wird beendet
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.03.2007, 21:28    Titel: Antworten mit Zitat

Code:



Dim key as string
Dim PC$

locate 10,10:?"Enter Password:"
While 1
    key=inkey$
    locate 11,10:?String(len(pc$),"*")+"        "
    'If Enter
    K=asc(key)
    Select Case K
        case &h0D 'enter
            If PC$<>"12345" Then
                ?"Access Denied!":Sleep:End
            Else
                ?"Access Granded!":exit while
            End If
           
               
        Case &h08 'Backspace
            PC$=Mid$(PC$,1,Len(PC$)-1)

       
        Case Else
            PC$=PC$+key

        End Select
   
wend

ein grober code grinsen
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.03.2007, 21:31    Titel: Antworten mit Zitat

Dann solltest du mal lernen, wie man wirklich sucht.

Und genau sinnlos finde ich es, immer gleich einen Code hinzuknallen. Der Poster merkt, so geht's und wird das weiter machen...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Eternal_pain



Anmeldungsdatum: 08.08.2006
Beiträge: 1783
Wohnort: BW/KA

BeitragVerfasst am: 24.03.2007, 21:35    Titel: Antworten mit Zitat

Stimmt schon Mao,
aber ich denke es gibt auch Leute, die stehen manchmal einfach nur auf'n schlauch (so wie ich manchmal) und sind froh wenn jemand nach der 8 Kanne kaffee den Fehler findet oder eine Lösung für ein Problem und das hier war ja jetzt nichts all zu besonderes.... derartige Passwörter kann man selbst in der kompilierten datei lesen zwinkern
_________________
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.03.2007, 21:43    Titel: Antworten mit Zitat

Stimmt schon Eternal,
aber ich denke es gibt auch Leute, die sind manchmal einfach nur zu faul, etwas für die Lösung ihres Problems zu tun.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 24.03.2007, 21:54    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Stimmt schon Eternal,
aber ich denke es gibt auch Leute, die sind manchmal einfach nur zu faul, etwas für die Lösung ihres Problems zu tun.

Nun ich bin ein anfänger was nichts zur sache tut aber ich habe keine ahnung wie überhaupt auf son code kommen soll
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.03.2007, 22:02    Titel: Antworten mit Zitat

Gegen Anfänger hat auch niemand was. zwinkern
Allerdings gibt es viele, sehr viele kommentierte Beispiele in der MFAQ.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 24.03.2007, 22:23    Titel: Antworten mit Zitat

Primitivmethode:
Code:
COLOR 7, 0
PRINT "Bitte Kennwort eingeben:";
COLOR 0, 0
LINE INPUT kennwort$
COLOR 7,0

Aufwändigere Methode: Gehe auf

http://www.dreael.ch/Deutsch/BASIC-Knowhow-Ecke/BildschirmMasken.html

und übernimm dort den INPUT-Ersatz, wobei Du die Zeile
Code:
' Feld ausgeben
LOCATE y%, x%
PRINT t$;

zu
Code:
' Feld ausgeben
LOCATE y%, x%
PRINT STRING$(LEN(RTRIM$(t$)), "*") + SPACE$(LEN($t) - LEN(RTRIM$(t$)));

abänderst.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 24.03.2007, 23:45    Titel: Antworten mit Zitat

Kleines Beispiel für eine Passworteingaberoutine: http://ssteiner.freebasic.de/qbfb/pwprog.bas
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 25.03.2007, 19:24    Titel: Antworten mit Zitat

Franz hat Folgendes geschrieben:
Mao hat Folgendes geschrieben:
Stimmt schon Eternal,
aber ich denke es gibt auch Leute, die sind manchmal einfach nur zu faul, etwas für die Lösung ihres Problems zu tun.

Nun ich bin ein anfänger was nichts zur sache tut aber ich habe keine ahnung wie überhaupt auf son code kommen soll

also:
kommst so drauf:

wie frag ich die tastatur ab?
mit inkey$

wie mach ich das, dass man deas in ner variable hat`?

var$=var$+inkey$

aber backspace soll zurück gehen und enter die eingabe beenden, und es soll bis zum enterdrücken weiter gehen

also (i$ ist ein puffer, weil inkey$ geleert wird -->FEHLER!)
Code:

do
 i$=inkey$
 if i$=chr$(13) then exit do 'ENTER
 if i$=chr$(8) then
  hmmmm... wie mach ich des??
 endif
 if i$<>chr$(8) and i$ <> chr$(13) then var$=var$+i$
loop


also, wie geht das jetz mit dem backspace?
ein beispielstring:
Code:

HalloX
123456

(die zahlen sind zur orientierung)
wie krig ich des X am ende weg (also des letzte zeichen)?

man nimmt die ersten fünf zeichen (also Länge de strings minus eins)
-->
Code:

var$=left$(var$,len(var$)-1)

so
ham wir das
Code:

do
 i$=inkey$
 if i$=chr$(13) then exit do 'ENTER
 if i$=chr$(8) then
  var$=left$(var$,len(var$)-1)
 endif
 if i$<>chr$(8) and i$ <> chr$(13) then var$=var$+i$
loop


_eigentlich_ funzt das schon
man KANN schon ein Passwort eingeben..
(manche routinen sind auch so)

AABER: wir wollen sternchen sehen
dazu nehmen wir die länge des strings, und machen so viele sternchen hin
und am ende noch ein leerzeichen, weil sonst bei backspace das letzte zeichen nicht vom bildsirm gelöscht wird
Code:


do
 i$=inkey$
 if i$=chr$(13) then exit do 'ENTER
 if i$=chr$(8) then
  var$=left$(var$,len(var$)-1)
 endif
 if i$<>chr$(8) and i$ <> chr$(13) then var$=var$+i$

 print string$(len(var$),"*");" "
loop

theoretisch...
praktisch füllt er uns aber den bildschirm noch mit zeilen
lässt sich beheben, in dem wir die alten koordinaten sichern und wieder LOCATEn
Code:

y=csrlin
x=pos(0)
do
 i$=inkey$
 if i$=chr$(13) then exit do 'ENTER
 if i$=chr$(8) then
  var$=left$(var$,len(var$)-1)
 endif
 if i$<>chr$(8) and i$ <> chr$(13) then var$=var$+i$

 locate y,x
 print string$(len(var$),"*");" "
loop

aber es flimmert noch
drum nur dann was anzeigen, wenns ne änderung gab
also: dummyvariable einführen, auf verschiedenheit prüfen

Code:
y=csrlin
x=pos(0)
do
 i$=inkey$
 if i$=chr$(13) then exit do 'ENTER
 if i$=chr$(8) then
  var$=left$(var$,len(var$)-1)
 endif
 if i$<>chr$(8) and i$ <> chr$(13) then var$=var$+i$
 if dummy$<>var$ then
  dummy$=var$
  locate y,x
  print string$(len(var$),"*");" "
 end if
loop


so
eine passwort routine

fragen: stell sie
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 26.03.2007, 17:59    Titel: Antworten mit Zitat

Also ich hab das jetzt so verstanden:
Mit INKEY$ wird Tastatur abgefragt.
i$ leert INKEY$
if i$=chr$ (13) then exit to enter 'when man die taste i drückt gehts zurück zur Sprungmarke Enter (?)
if i$=chr$ ( 8 ) then ',ach da was ich ihm sagen muss schließt das prog. (?)
if i$<>chr$( 8 ) and i$ <> chr$(13) then var$=var$+i$ 'was soll das ?????
loop ' macht ne endlos schleife draus? weinen weinen ich versteh das nich ..sorry traurig
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4699
Wohnort: ~/

BeitragVerfasst am: 26.03.2007, 19:02    Titel: Antworten mit Zitat

Code:
i$ = INKEY$

liest ein Zeichen aus dem Tastaturbuffer

Code:
DO
  ' Programmcode
LOOP

baut eine Endlosschleife - irgendwo in der Schleife sollte dann natürlich eine Abbruchbedingung stehen, damit die Schleife wieder verlassen werden kann, z. B.

Code:
DO
  i$ = INKEY$
  IF i$ = chr$(13) THEN EXIT DO
LOOP

verlässt die DO-Schleife, wenn die Returntaste gedrückt wird.

Um anderen Programmen die Möglichkeit zu geben, auch ein bisschen zu arbeiten, kann man noch eine kleine Pause einfügen:

Code:
DO
  i$ = INKEY$
  IF i$ = chr$(27) THEN EXIT DO
  SLEEP 1
LOOP


Code:
if i$<>chr$( 8 ) and i$ <> chr$(13) then var$=var$+i$ 'was soll das ?????

Nun, wenn eine Taste gedrückt wird, soll sie doch an das eingegebene Passwort angehängt werden - außer es ist die Backspace-Taste (dann willst du ja stattdessen ein Zeichen löschen) oder die Returntaste (dann dann willst du die Eingabe beenden).
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 27.03.2007, 17:04    Titel: Antworten mit Zitat

alles klar jetzt hab ich's verstanden !
aber statt i$ = inkey$ könnte man auch y$=inkey$ nehmen oder?

Und wenn man das als sub macht kann ich dann schreiben:
Code:
im hauptmodul jetzt!
y$ = Inkey$
if y$ then = chr$ (27) then gosub 1

und immer wenn ich dann ESC drücke öffnet sich die sub und wenn diese beendet ist springt mein programm dahin zurück wo ich ESC gedrückt hab (?)
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 27.03.2007, 17:07    Titel: Antworten mit Zitat

klar, die variablennamen sind frei wählbar, dürfen nur keine schon existierenden namen (z.B. die von den befehlen) sein.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Franz



Anmeldungsdatum: 24.03.2007
Beiträge: 111
Wohnort: Auf ner DVD ich bin nur ein Programm

BeitragVerfasst am: 27.03.2007, 17:12    Titel: Antworten mit Zitat

Funktioniert das auch mit zahlen z.B. 0 = Inkey ? mit den Augen rollen
_________________
Guckt nicht nur den Link an, besuch ihn auch mal !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 27.03.2007, 17:25    Titel: Antworten mit Zitat

Les dir 'nen Tutorial durch...Is' doch grässlich...

Zahlen gehen nicht, da diese als mathematische Konstante angeesehen werden...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz