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
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 24.03.2007, 21:02 Titel: |
|
|
Das kommt darauf an wie komplex oder einfach Du es Dir machen willst
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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 24.03.2007, 21:10 Titel: |
|
|
Dann drück dich klarer aus.
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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
Verfasst am: 24.03.2007, 21:15 Titel: |
|
|
Mao hat Folgendes geschrieben: | Dann drück dich klarer aus.
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 |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 24.03.2007, 21:28 Titel: |
|
|
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  _________________
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 24.03.2007, 21:31 Titel: |
|
|
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 |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 24.03.2007, 21:35 Titel: |
|
|
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  _________________
 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 24.03.2007, 21:43 Titel: |
|
|
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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
Verfasst am: 24.03.2007, 21:54 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 24.03.2007, 22:02 Titel: |
|
|
Gegen Anfänger hat auch niemand was.
Allerdings gibt es viele, sehr viele kommentierte Beispiele in der MFAQ. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 24.03.2007, 22:23 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 25.03.2007, 19:24 Titel: |
|
|
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:
(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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
Verfasst am: 26.03.2007, 17:59 Titel: |
|
|
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? ich versteh das nich ..sorry  _________________ Guckt nicht nur den Link an, besuch ihn auch mal ! |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4699 Wohnort: ~/
|
Verfasst am: 26.03.2007, 19:02 Titel: |
|
|
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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
Verfasst am: 27.03.2007, 17:04 Titel: |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 27.03.2007, 17:07 Titel: |
|
|
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 |
|
 |
Franz

Anmeldungsdatum: 24.03.2007 Beiträge: 111 Wohnort: Auf ner DVD ich bin nur ein Programm
|
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 27.03.2007, 17:25 Titel: |
|
|
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 |
|
 |
|