noop
Anmeldungsdatum: 04.05.2005 Beiträge: 259
|
Verfasst am: 22.06.2005, 21:52 Titel: noobcodierungscode funzt net |
|
|
Hallo
Ich hab mir, nur zum lernen, ein Codierungsprogramm geschrieben.
Im Programm gibt es das Subprogramm encodieren und decodieren.
1.Wenn ich eine Datei encodiere funzt dsa super.
2.Ich beende das Programm
3.Ich starte es neu und decodiere die codierte Datei
-----funzt alles
Wenn ich aber das Prog starte, dann encodiere und dann direkt decodiere funzt das nicht. Der ignorrt das decodieren einfach.
Hier der Code(die Lines und so könnt ihr eigentlich ignorren)
Code: |
DECLARE SUB DECODE ()
DECLARE SUB ENCODE ()
DECLARE SUB MENUE ()
DECLARE SUB MUSIC ()
DECLARE SUB REALEND
DECLARE FUNCTION BRIGHTEND
DECLARE FUNCTION DARKEND
DECLARE FUNCTION WINDOWS
DIM SHARED X AS INTEGER, Y AS INTEGER, BUTTONS AS INTEGER
Declare Function mciSendString Lib "winmm.dll" _
Alias "mciSendStringA" (ByVal lpszCommand As String, _
ByVal lpszReturnString As String, _
ByVal cchReturnLength As Long, _
ByVal hwndCallback As Long) As Long
Declare Function GetShortPathName Lib "kernel32" _
Alias "GetShortPathNameA" (ByVal lpszLongPath As String, _
ByVal lpszShortPath As String, _
ByVal cchBuffer As Long) As Long
Function WAVEPlay(sFile As String, sAlias As String) As Integer
Dim sBuffer As String
Dim sf AS STRING
sf = Space$(255)
sBuffer = Space$(255)
sf = sFile
lResult = GetShortPathName(sf, sBuffer, Len(sBuffer))
sBuffer = RTRIM$(sBuffer)
If mciSendString("open " + sBuffer + " type WaveAudio alias " + sAlias, 0, 0, 0) = 0 Then
mciSendString "play " + sAlias + " from 0", 0, 0, 0
END IF
End Function
SCREEN 14,,0,1
resultat = WAVEPlay("ring.wav", "X")
CALL MENUE
FUNCTION WINDOWS
COLOR , 0
CLS
LINE (7, 30)-(315, 133), 11, BF
LINE (7, 134)-(315, 235), 1, BF
LINE (3, 239)-(4, 5), 1, BF
LINE (4, 4)-(4, 3), 1
LINE (5, 239)-(320, 238), 1, BF
LINE (6, 237)-(317, 236), 55, BF
LINE (5, 237)-(6, 30), 55, BF
LINE (5, 29)-(6, 3), 55, BF
PSET (5, 2), 55
LINE (8, 0)-(314, 0), 55
LINE (6, 1)-(7, 1), 55
LINE (6, 2)-(7, 2), 54
LINE (8, 1)-(314, 2), 54, BF
LINE (318, 237)-(319, 5), 1, BF
LINE (315, 28)-(7, 29), 1, BF
LINE (316, 28)-(317, 237), 55, BF
LINE (315, 2)-(316, 2), 54
LINE (315, 1)-(316, 1), 55
PSET (317, 2), 55
LINE (318, 4)-(318, 3), 1
LINE (7, 3)-(317, 27), 55, BF
COLOR 40, 55: LOCATE 2, 17: PRINT "Codix": COLOR 31, 55
LOCATE 2, 2: PRINT MID$(DATE$, 4, 2) + "." + LEFT$(DATE$, 2) + "." + RIGHT$(DATE$, 4)
COLOR 1, 11: LOCATE 10, 17: PRINT "Decode"
COLOR 31, 1: LOCATE 22, 17: PRINT "Encode"
END FUNCTION
SUB MENUE
WINDOWS
BRIGHTEND
COLOR 31, 55
DO
GETMOUSE X, Y,, BUTTONS
IF BUTTONS AND 1 THEN
SELECT CASE X
CASE 294 TO 312: SELECT CASE Y: CASE 7 TO 25: IF NONIT = 0 THEN DARKEND: CALL REALEND: END SELECT
CASE ELSE
NONIT = 1
END SELECT
SELECT CASE Y
CASE 7 TO 25: SELECT CASE X: CASE 294 TO 312: IF NONIT = 0 THEN DARKEND: CALL REALEND: END SELECT
CASE 30 TO 133: SELECT CASE X: CASE 7 TO 315: CALL DECODE: END SELECT
CASE 134 TO 235: SELECT CASE X: CASE 7 TO 315: CALL ENCODE: END SELECT
CASE ELSE
NONIT = 1
END SELECT
ELSE
NONIT = 0
END IF
LOCATE 2, 28: PRINT TIME$
W$ = INKEY$
SELECT CASE W$
CASE "D", "d": CALL DECODE
CASE "E", "e": CALL ENCODE
CASE CHR$(27): END
END SELECT
LOOP UNTIL INKEY$ = CHR$(27)
END
END SUB
SUB DECODE
CLS
PRINT " Decode"
INPUT " Quelldatei: "; File$
INPUT " Ausgabedatei: "; Path$
PRINT " Einen Moment bitte..."
KILL PATH$
FS = FREEFILE
OPEN File$ FOR INPUT AS #FS
DO UNTIL EOF(FS)
LINE INPUT #FS, TEXT$
IF E = 1 THEN ET$ = ""
IF TEXT$ = CHR$(20) THEN
OPEN PATH$ FOR APPEND AS #4
PRINT #4, ET$
CLOSE #4
E = 1
ELSE
E = 0
ACODE = VAL(TEXT$)
BS$ = CHR$(ACODE)
ET$ = ET$ + BS$
END IF
IF INKEY$ = CHR$(27) THEN END
LOOP
IF INKEY$ = CHR$(27) THEN END
CLOSE #FS
call menue
END SUB
SUB ENCODE
CLS
PRINT " Encode"
INPUT " Quelldatei: "; File$
INPUT " Ausgabedatei: "; Path$
PRINT " Einen Moment bitte..."
KILL PATH$
OPEN Path$ FOR OUTPUT AS #3
CLOSE #3
OPEN File$ FOR INPUT AS #1
DO UNTIL EOF(1)
LINE INPUT #1, TEXT$
FOR D = 1 TO LEN(TEXT$)
BS$ = MID$(TEXT$, D, 1)
BSA = ASC(BS$)
OPEN Path$ FOR APPEND AS #2
PRINT #2, BSA
NEXT D
OPEN Path$ FOR APPEND AS #2
PRINT #2, CHR$(20)
IF INKEY$ = CHR$(27) THEN END
LOOP
CLOSE #2
CLOSE #3
IF INKEY$ = CHR$(27) THEN END
call menue
END SUB
SUB REALEND
DO
IF INKEY$ = CHR$(27) THEN END
GETMOUSE X, Y,,BUTTONS
IF BUTTONS AND 1 THEN
SELECT CASE X
CASE 294 TO 312: SELECT CASE Y: CASE 7 TO 25: END SELECT
CASE ELSE
CALL MENUE
END SELECT
ELSE
SELECT CASE X
CASE 294 TO 312: SELECT CASE Y: CASE 7 TO 25: END: END SELECT
END SELECT
CALL MENUE
END IF
IF INKEY$ = CHR$(27) THEN END
LOOP UNTIL INKEY$ = CHR$(27)
END
END SUB
FUNCTION BRIGHTEND
LINE (293, 6)-(313, 26), 15, BF
LINE (294, 7)-(312, 25), 297, BF
LINE (298, 12)-(307, 21), 15
LINE (299, 11)-(308, 20), 15
LINE (298, 20)-(307, 11), 15
LINE (299, 21)-(308, 12), 15
LINE (299, 12)-(307, 20), 15
LINE (299, 20)-(307, 12), 15
PSET (298, 11), 86
PSET (298, 21), 86
PSET (308, 21), 86
PSET (308, 11), 86
PSET (294, 7), 84
PSET (294, 25), 84
PSET (312, 25), 84
PSET (312, 7), 84
LINE (295, 25)-(311, 25), 368
LINE (312, 24)-(312, 8), 368
LINE (295, 24)-(311, 24), 4
LINE (311, 24)-(311, 8), 4
LINE (295, 7)-(311, 7), 4
LINE (294, 8)-(294, 24), 4
PSET (293, 6), 55
PSET (293, 26), 55
PSET (313, 6), 55
PSET (313, 26), 55
PSET (294, 6), 54
PSET (293, 7), 54
PSET (312, 26), 54
PSET (313, 25), 54
PSET (312, 6), 54
PSET (313, 7), 54
PSET (294, 26), 54
PSET (293, 25), 54
END FUNCTION
FUNCTION DARKEND
LINE (293, 6)-(313, 26), 15, BF
LINE (294, 7)-(312, 25), 4, BF
LINE (298, 12)-(307, 21), 86
LINE (299, 11)-(308, 20), 86
LINE (298, 20)-(307, 11), 86
LINE (299, 21)-(308, 12), 86
LINE (299, 12)-(307, 20), 86
LINE (299, 20)-(307, 12), 86
PSET (298, 11), 88
PSET (298, 21), 88
PSET (308, 21), 88
PSET (308, 11), 88
PSET (294, 7), 84
PSET (294, 25), 84
PSET (312, 25), 84
PSET (312, 7), 84
LINE (295, 25)-(311, 25), 368
LINE (312, 24)-(312, 8), 368
LINE (295, 24)-(311, 24), 4
LINE (311, 24)-(311, 8), 4
LINE (295, 7)-(311, 7), 4
LINE (294, 8)-(294, 24), 4
PSET (293, 6), 55
PSET (293, 26), 55
PSET (313, 6), 55
PSET (313, 26), 55
PSET (294, 6), 54
PSET (293, 7), 54
PSET (312, 26), 54
PSET (313, 25), 54
PSET (312, 6), 54
PSET (313, 7), 54
PSET (294, 26), 54
PSET (293, 25), 54
END FUNCTION
|
Jetzt nicht loslachen und sagen: Meine Fresse hast du dir ne Arbeit mit LINE UND PSET gemacht.
/Code funzt jetzt.
Zuletzt bearbeitet von noop am 25.06.2005, 18:37, insgesamt einmal bearbeitet |
|