Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $large
- $sim
- Deflcdchar 0 , 12 , 4 , 6 , 12 , 4 , 4 , 14 , 32 'ł
- Deflcdchar 1 , 2 , 4 , 14 , 16 , 14 , 1 , 30 , 32 'ś
- Deflcdchar 2 , 2 , 4 , 14 , 16 , 16 , 17 , 14 , 32 'ć
- Deflcdchar 3 , 32 , 32 , 14 , 17 , 31 , 16 , 14 , 4 'ę
- Deflcdchar 4 , 32 , 32 , 15 , 17 , 17 , 15 , 1 , 14 'g
- Deflcdchar 5 , 2 , 4 , 31 , 2 , 4 , 8 , 31 , 32 'ź
- Deflcdchar 6 , 2 , 4 , 14 , 17 , 17 , 17 , 14 , 32 'ó
- Deflcdchar 7 , 4 , 32 , 31 , 2 , 4 , 8 , 31 , 32 'ż
- 'Deflcdchar ? , 32 , 32 , 14 , 1 , 15 , 17 , 15 , 2 'ą
- Dim Dlugosc As Byte
- Dim Stan As Byte
- Dim Flaga As Bit
- Dim I As Byte
- Dim J As Byte
- Dim Tajnyszyfriterator As Byte
- Dim Szyfr(9) As Byte
- Dim Szyfruser(9) As Byte
- Dim Tajnyszyfr(16) As Byte
- Dim Tajnyszyfruser(16) As Byte
- Tajnyszyfr(1) = 1
- Tajnyszyfr(2) = 2
- Tajnyszyfr(3) = 3
- Tajnyszyfr(4) = 4
- Tajnyszyfr(5) = 5
- Tajnyszyfr(6) = 6
- Tajnyszyfr(7) = 7
- Tajnyszyfr(8) = 8
- Tajnyszyfr(9) = 1
- Tajnyszyfr(10) = 2
- Tajnyszyfr(11) = 3
- Tajnyszyfr(12) = 4
- Tajnyszyfr(13) = 5
- Tajnyszyfr(14) = 6
- Tajnyszyfr(15) = 7
- Tajnyszyfr(16) = 8
- Stan = 0
- Dlugosc = 0
- Flaga = 0
- ' tablice w bascomie zaczynają się od 1 xDDD
- I = 1
- Tajnyszyfriterator = 1
- Declare Sub Wprowadz_dlugosc
- Declare Sub Wprowadz_szyfr
- Declare Sub Wprowadz_szyfr2
- Declare Sub Sprawdz_szyfr
- Declare Sub Wprowadz_szyfr_otwieranie_sejfu
- Declare Sub Sprawdz_szyfr_otwieranie
- Declare Sub Zmiana_szyfru
- Dim Pom As Byte
- Dim Pom2 As Byte
- Pom2 = 16
- ' STAS if eprom == 0 to stan = 0
- ' jezeli w epromie cos jest to stan = 3 i uzupelniamy tablice "szyfr" zawartoscia epromu
- ' aby zmienic haslo nalezy najpierw podac poprawny szyfr, a nastepnie podac tajny szyfr
- ' main
- Do
- Main:
- Pom = Dlugosc + 1
- If Tajnyszyfriterator = 17 Then Call Zmiana_szyfru
- If Stan = 0 Then Call Wprowadz_dlugosc
- If Stan = 1 Then Call Wprowadz_szyfr1
- If Stan = 2 Then Call Wprowadz_szyfr2
- If Stan = 3 Then Call Wprowadz_szyfr_otwieranie_sejfu
- Print "dlugosc=" ; Dlugosc ; " i=" ; I ; " TajnySzyfrIterator=" ; Tajnyszyfriterator
- Loop
- End
- ' wprowadzanie dlugosci
- Sub Wprowadz_dlugosc
- If Flaga = 0 Then
- Cls
- Lcd "Jak d" ; Chr(0) ; "u" ; Chr(4) ; "i szyfr?"
- Lowerline
- Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; ": "
- Flaga = 1
- End If
- If P3.0 = 0 Then
- Bitwait P3.0 , Set
- Cls
- Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
- Lowerline
- Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
- Wait 5
- Flaga = 0
- goto main
- End If
- If P3.1 = 0 Then
- Bitwait P3.1, set
- Cls
- Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
- Lowerline
- Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
- Wait 5
- Flaga = 0
- Goto Main
- End If
- If P3.2 = 0 Then
- Bitwait P3.2, set
- Cls
- Lcd " D" ; Chr(0) ; "u" ; Chr(4) ; "o" ; Chr(1) ; Chr(2) ; " szyfru "
- Lowerline
- Lcd " Pomi" ; Chr(3) ; "dzy 4 a 8 "
- Wait 5
- Flaga = 0
- Goto Main
- End If
- If P3.3 = 0 Then
- Bitwait P3.3, set
- Lcd "4"
- Dlugosc = 5
- Stan = 1
- Flaga = 0
- End If
- If P3.4 = 0 Then
- Bitwait P3.4, set
- Lcd "5"
- Dlugosc = 6
- Stan = 1
- Flaga = 0
- End If
- If P3.5 = 0 Then
- Bitwait P3.5, set
- Lcd "6"
- Dlugosc = 7
- Stan = 1
- Flaga = 0
- End If
- If P3.6 = 0 Then
- Bitwait P3.6, set
- Lcd "7"
- Dlugosc = 8
- Stan = 1
- Flaga = 0
- End If
- If P3.7 = 0 Then
- Bitwait P3.7, set
- Lcd "8"
- Dlugosc = 9
- Stan = 1
- Flaga = 0
- End If
- End Sub
- ' wprowadzanie szyfru
- Sub Wprowadz_szyfr1
- If Flaga = 0 Then
- Cls
- Lcd " Podaj szyfr"
- Lowerline
- Lcd "Szyfr: "
- Flaga = 1
- End If
- If I = Dlugosc Then
- Stan = 2
- Flaga = 0
- I = 1
- Goto Main
- End If
- If P3.0 = 0 Then
- Bitwait P3.0 , Set
- Lcd "#"
- Szyfr(i) = 1
- Incr I
- End If
- If P3.1 = 0 Then
- Bitwait P3.1, set
- Lcd "#"
- Szyfr(i) = 2
- Incr I
- End If
- If P3.2 = 0 Then
- Bitwait P3.2, set
- Lcd "#"
- Szyfr(i) = 3
- Incr I
- End If
- If P3.3 = 0 Then
- Bitwait P3.3, set
- Lcd "#"
- Szyfr(i) = 4
- Incr I
- End If
- If P3.4 = 0 Then
- Bitwait P3.4, set
- Lcd "#"
- Szyfr(i) = 5
- Incr I
- End If
- If P3.5 = 0 Then
- Bitwait P3.5, set
- Lcd "#"
- Szyfr(i) = 6
- Incr I
- End If
- If P3.6 = 0 Then
- Bitwait P3.6, set
- Lcd "#"
- Szyfr(i) = 7
- Incr I
- End If
- If P3.7 = 0 Then
- Bitwait P3.7, set
- Lcd "#"
- Szyfr(i) = 8
- Incr I
- End If
- End Sub
- ' potwierdzanie szyfru
- Sub Wprowadz_szyfr2
- If Flaga = 0 Then
- Flaga = 1
- Cls
- Lcd " Potwierd" ; Chr(5) ; " szyfr"
- Lowerline
- Lcd "Szyfr: "
- Flaga = 1
- End If
- If I = Dlugosc Then
- Stan = 2
- Flaga = 0
- I = 1
- Call Sprawdz_szyfr
- End If
- If P3.0 = 0 Then
- Bitwait P3.0 , Set
- Lcd "#"
- Szyfruser(i) = 1
- Incr I
- End If
- If P3.1 = 0 Then
- Bitwait P3.1, set
- Lcd "#"
- Szyfruser(i) = 2
- Incr I
- End If
- If P3.2 = 0 Then
- Bitwait P3.2, set
- Lcd "#"
- Szyfruser(i) = 3
- Incr I
- End If
- If P3.3 = 0 Then
- Bitwait P3.3, set
- Lcd "#"
- Szyfruser(i) = 4
- Incr I
- End If
- If P3.4 = 0 Then
- Bitwait P3.4, set
- Lcd "#"
- Szyfruser(i) = 5
- Incr I
- End If
- If P3.5 = 0 Then
- Bitwait P3.5, set
- Lcd "#"
- Szyfruser(i) = 6
- Incr I
- End If
- If P3.6 = 0 Then
- Bitwait P3.6, set
- Lcd "#"
- Szyfruser(i) = 7
- Incr I
- End If
- If P3.7 = 0 Then
- Bitwait P3.7, set
- Lcd "#"
- Szyfruser(i) = 8
- Incr I
- End If
- End Sub
- ' sprawdzanie czy podany szyfr zgadza sie z jego potwierdzeniem
- Sub Sprawdz_szyfr
- Flaga = 0
- For J = 1 To Dlugosc
- If Szyfr(j) <> Szyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Print "J=" ; J ; " " ; Szyfr(j) ; " " ; Szyfruser(j) ; " flaga= " ; Flaga
- Next J
- Print "flaga=" ; Flaga
- If Flaga = 0 Then
- Cls
- Lcd " Podane szyfry "
- Lowerline
- Lcd " sa r" ; Chr(6) ; Chr(7) ; "ne! "
- Wait 5
- Stan = 0
- Flaga = 0
- I = 1
- Else
- Cls
- Lcd " Szyfr zosta" ; Chr(0) ; " "
- Lowerline
- Lcd " ustawiony! "
- ' STAS: Tutaj zrobić zapis tablicy "Szyfr" do EPROM!!!'
- Wait 5
- Stan = 3
- Flaga = 0
- I = 1
- End If
- End Sub
- ' domyslny tryb pracy (otwieranie sejfu jezeli szyfr jest poprawny)
- Sub Wprowadz_szyfr_otwieranie_sejfu
- If Flaga = 0 Then
- Cls
- Lcd " Podaj szyfr"
- Lowerline
- Lcd "Szyfr: "
- Flaga = 1
- End If
- If I = Dlugosc Then
- Stan = 2
- Flaga = 0
- I = 1
- Call Sprawdz_szyfr_otwieranie
- End If
- If P3.0 = 0 Then
- Bitwait P3.0 , Set
- Lcd "#"
- Szyfruser(i) = 1
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 1
- Incr Tajnyszyfriterator
- End If
- If P3.1 = 0 Then
- Bitwait P3.1, set
- Lcd "#"
- Szyfruser(i) = 2
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 2
- Incr Tajnyszyfriterator
- End If
- If P3.2 = 0 Then
- Bitwait P3.2, set
- Lcd "#"
- Szyfruser(i) = 3
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 3
- Incr Tajnyszyfriterator
- End If
- If P3.3 = 0 Then
- Bitwait P3.3, set
- Lcd "#"
- Szyfruser(i) = 4
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 4
- Incr Tajnyszyfriterator
- End If
- If P3.4 = 0 Then
- Bitwait P3.4, set
- Lcd "#"
- Szyfruser(i) = 5
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 5
- Incr Tajnyszyfriterator
- End If
- If P3.5 = 0 Then
- Bitwait P3.5, set
- Lcd "#"
- Szyfruser(i) = 6
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 6
- Incr Tajnyszyfriterator
- End If
- If P3.6 = 0 Then
- Bitwait P3.6, set
- Lcd "#"
- Szyfruser(i) = 7
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 7
- Incr Tajnyszyfriterator
- End If
- If P3.7 = 0 Then
- Bitwait P3.7, set
- Lcd "#"
- Szyfruser(i) = 8
- Incr I
- Tajnyszyfruser(tajnyszyfriterator) = 8
- Incr Tajnyszyfriterator
- End If
- End Sub
- ' sprawdzanie czy podany przez uzytkownika szyfr jest poprawny
- Sub Sprawdz_szyfr_otwieranie
- Flaga = 0
- For J = 1 To Dlugosc
- If Szyfr(j) <> Szyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Next J
- If Flaga = 1 Then
- Cls
- Lcd " Otwarte :) "
- Wait 60
- Stan = 3
- Flaga = 0
- I = 1
- Tajnyszyfriterator = 1
- Else
- Cls
- Lcd " Podano b" ; Chr(0) ; Chr(3) ; "dny "
- Lowerline
- Lcd " szyfr! "
- Wait 5
- Stan = 3
- Flaga = 0
- I = 1
- End If
- End Sub
- ' sprawdzanie czy ukryty szyfr jest poprawny
- Sub Zmiana_szyfru
- Tajnyszyfriterator = 1
- Flaga = 0
- Break
- For J = 1 To Pom2
- If Tajnyszyfr(j) <> Tajnyszyfruser(j) Then
- Flaga = 0
- Exit For
- Else
- Flaga = 1
- End If
- Print Tajnyszyfr(j) ; " " ; Tajnyszyfruser(j)
- Next J
- For J = 1 To Pom2
- Print "TajnySzyfr= " ; Tajnyszyfr(j) ; " " ; "TajnySzyfrUser= " ; Tajnyszyfruser(j)
- Next J
- If Flaga = 1 Then
- Cls
- Lcd " wprowadzono "
- Lowerline
- Lcd " tajny szyfr "
- Flaga = 0
- I = 1
- Stan = 0
- Goto Main
- End If
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement