'===========================================================================
' Subject: CODER/DECODER PROGRAM              Date: 02-24-98 (13:26)       
'  Author: Aaron Andersen                     Code: QB, QBasic, PDS        
'  Origin: kc7gza@hotmail.com               Packet: MISC.ABC
'===========================================================================
'                           Coder 
' This is my coder/decoder. It will encode what you type in a code That I 
' Made up and save it so you can decode it. Have fun. 
' E-mail me at Kc7gza@hotmail.com 
'
'
'
'
'
DECLARE SUB decode ()
DECLARE SUB coder ()
CLEAR
SCREEN 12
LINE (42, 237)-(109, 26), 4
LINE (111, 25)-(176, 237), 4
LINE (176, 237)-(16, 101), 4
LINE (16, 100)-(207, 100), 4
COLOR 2
LOCATE 11, 21: PRINT "1997"
COLOR 3
LOCATE 13, 23: PRINT "Aaron"
COLOR 9
LOCATE 15, 26: PRINT "Andersen"
SLEEP
SCREEN 0
345 CLS
PRINT "welcome to the coder\decoder"
PRINT " 1 Coder"
PRINT " 2 Decoder"
PRINT " 3 Exit"
DO
ir$ = UCASE$(INKEY$)
LOOP UNTIL ir$ = "1" OR ir$ = "2" OR ir$ = "3"
IF ir$ = "1" THEN CALL coder
IF ir$ = "2" THEN CALL decode
IF ir$ = "3" THEN END
GOTO 345




333

ErrorHandler:
CLS
CLOSE #1
PRINT "File not found."
     
      SLEEP 1
      CALL decode
 
    GOTO 345

SUB coder

CLS
PRINT "wellcome to the coder."
PRINT "Hit a key"
DO
LOOP WHILE INKEY$ = ""
CLS

i = -1
a% = 1
b% = 1
DIM let$(27)
let$(1) = "a"
let$(2) = "b"
let$(3) = "c"
let$(4) = "d"
let$(5) = "e"
let$(6) = "f"
let$(7) = "g"
let$(8) = "h"
let$(9) = "i"
let$(10) = "j"
let$(11) = "k"
let$(12) = "l"
let$(13) = "m"
let$(14) = "n"
let$(15) = "o"
let$(16) = "p"
let$(17) = "q"
let$(18) = "r"
let$(19) = "s"
let$(20) = "t"
let$(21) = "u"
let$(22) = "v"
let$(23) = "w"
let$(24) = "x"
let$(25) = "y"
let$(26) = "z"
PRINT
PRINT
GOTO 3


1


respond$ = UCASE$(INKEY$)
IF respond$ = "" THEN GOTO 1

LOCATE a%, i + 1
PRINT respond$

IF respond$ = "A" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(1)
        code$ = code$ + let$(1)
        GOTO 2
        END IF

IF respond$ = "B" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(2)
          code$ = code$ + let$(2)
        GOTO 2
        END IF

IF respond$ = "C" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(3)
          code$ = code$ + let$(3)
        GOTO 2
        END IF

IF respond$ = "D" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(4)
        code$ = code$ + let$(4)
        GOTO 2
        END IF

IF respond$ = "E" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(5)
        code$ = code$ + let$(5)
        GOTO 2
        END IF

IF respond$ = "F" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(6)
        code$ = code$ + let$(6)
        GOTO 2
        END IF

IF respond$ = "G" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(7)
        code$ = code$ + let$(7)
        GOTO 2
        END IF

IF respond$ = "H" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(8)
        code$ = code$ + let$(8)
        GOTO 2
        END IF

IF respond$ = "I" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(9)
        code$ = code$ + let$(9)
        GOTO 2
        END IF

IF respond$ = "J" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(10)
        code$ = code$ + let$(10)
        GOTO 2
        END IF

IF respond$ = "K" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(11)
        code$ = code$ + let$(11)
        GOTO 2
        END IF

IF respond$ = "L" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(12)
        code$ = code$ + let$(12)
        GOTO 2
        END IF

IF respond$ = "M" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(13)
        code$ = code$ + let$(13)
        GOTO 2
        END IF

IF respond$ = "N" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(14)
        code$ = code$ + let$(14)
        GOTO 2
        END IF

IF respond$ = "O" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(15)
        code$ = code$ + let$(15)
        GOTO 2
        END IF

IF respond$ = "P" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(16)
        code$ = code$ + let$(16)
        GOTO 2
        END IF

IF respond$ = "Q" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(17)
        code$ = code$ + let$(17)
        GOTO 2
        END IF

IF respond$ = "R" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(18)
        code$ = code$ + let$(18)
        GOTO 2
        END IF

IF respond$ = "S" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(19)
        code$ = code$ + let$(19)
        GOTO 2
        END IF

IF respond$ = "T" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(20)
        code$ = code$ + let$(20)
        GOTO 2
        END IF

IF respond$ = "U" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(21)
        code$ = code$ + let$(21)
        GOTO 2
        END IF

IF respond$ = "V" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(22)
        code$ = code$ + let$(22)
        GOTO 2
        END IF

IF respond$ = "W" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(23)
        code$ = code$ + let$(23)
        GOTO 2
        END IF

IF respond$ = "X" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(24)
        code$ = code$ + let$(24)
        GOTO 2
        END IF

IF respond$ = "Y" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(25)
        code$ = code$ + let$(25)
        GOTO 2
        END IF

IF respond$ = "Z" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(26)
        code$ = code$ + let$(26)
        GOTO 2
        END IF


IF respond$ = CHR$(8) THEN
code$ = MID$(code$, 1, (LEN(code$) - 1))
LOCATE a% + 1, i + 1
PRINT " "
LOCATE a%, i + 1
PRINT " "
i = i - 1
LOCATE a% + 1, i + 1
PRINT " "
LOCATE a%, i + 1
PRINT " "

FOR c = 26 TO 2 STEP -1
let$(c) = let$(c - 1)
NEXT c
let$(1) = let$(27)
let$(27) = let$(26)

i = i - 1

GOTO 3
END IF


IF respond$ = CHR$(13) THEN
CLS
PRINT code$
INPUT "Do You want to save your code (Y/N)"; s$
IF s$ = "Y" OR s$ = "y" THEN GOTO 5
IF s$ = "N" OR s$ = "n" THEN
PRINT "BYE"
GOTO 690
END IF
END IF

LOCATE a% + 1, i + 1
PRINT respond$
code$ = code$ + respond$

2

let$(27) = let$(1)
FOR c = 1 TO 26
let$(c) = let$(c + 1)
NEXT c

3 i = i + 1
IF i = 78 THEN
a% = a% + 2
b% = b% + 2
LOCATE a%: PRINT "                        "
i = 0
END IF

4 LOCATE b% + 1, 1
PRINT
IF i < 26 THEN PRINT "#"; i; "                                           "
IF i > 25 AND i < 52 THEN PRINT "#"; i - 26; "                                     "
IF i > 51 THEN PRINT "#"; i - 52
PRINT "                                                                 "
PRINT "A ="; let$(1); " B ="; let$(2); " C ="; let$(3); " D ="; let$(4)
PRINT "E ="; let$(5); " F ="; let$(6); " G ="; let$(7); " H ="; let$(8)
PRINT "I ="; let$(9); " J ="; let$(10); " K ="; let$(11); " L ="; let$(12)
PRINT "M ="; let$(13); " N ="; let$(14); " O ="; let$(15); " P ="; let$(16)
PRINT "Q ="; let$(17); " R ="; let$(18); " S ="; let$(19); " T ="; let$(20)
PRINT "U ="; let$(21); " V ="; let$(22); " W ="; let$(23); " X ="; let$(24)
PRINT "Y ="; let$(25); " Z ="; let$(26)
      
GOTO 1



5
INPUT "Save as"; as$
IF as$ = "" THEN as$ = "code.txt"
FOR g = 1 TO LEN(as$)
prt$ = MID$(as$, g, 1)
IF prt$ = "." THEN GOTO 6
NEXT g

IF MID$(as$, LEN(as$), 1) = "." THEN
as$ = as$ + "txt"
GOTO 6
END IF


as$ = as$ + ".txt"

6  OPEN as$ FOR OUTPUT AS #1
 
PRINT #1, code$
 
CLOSE #1

PRINT "Your code has been saved as "; as$
SLEEP 1
SLEEP 1

690
END SUB

SUB decode
CLS
PRINT "wellcome to the decoder."
PRINT "Hit a key"
DO
LOOP WHILE INKEY$ = ""
CLS

i = 0
a% = 1
b% = 1
DIM let$(27)
let$(1) = "a"
let$(2) = "b"
let$(3) = "c"
let$(4) = "d"
let$(5) = "e"
let$(6) = "f"
let$(7) = "g"
let$(8) = "h"
let$(9) = "i"
let$(10) = "j"
let$(11) = "k"
let$(12) = "l"
let$(13) = "m"
let$(14) = "n"
let$(15) = "o"
let$(16) = "p"
let$(17) = "q"
let$(18) = "r"
let$(19) = "s"
let$(20) = "t"
let$(21) = "u"
let$(22) = "v"
let$(23) = "w"
let$(24) = "x"
let$(25) = "y"
let$(26) = "z"
PRINT
PRINT
GOTO 100












100
FILES "*.txt"
INPUT "enter file"; fl$
IF MID$(RIGHT$(fl$, 4), 1, 1) <> "." THEN
fl$ = fl$ + ".txt"
END IF

ON ERROR GOTO 333
OPEN fl$ FOR INPUT AS #1

FOR y = 1 TO 10
        IF EOF(1) = 0 THEN
                INPUT #1, line$
                code$ = code$ + line$
                END IF
              NEXT y
CLOSE #1
CLS
FOR h = 1 TO LEN(code$)
num$ = MID$(code$, h, 1)
GOTO 99





99 IF num$ = "a" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(1)
        GOTO 200
        END IF

IF num$ = "b" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(2)
        GOTO 200
        END IF

IF num$ = "c" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(3)
      
        GOTO 200
        END IF

IF num$ = "d" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(4)
    
        GOTO 200
        END IF

IF num$ = "e" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(5)
     
        GOTO 200
        END IF

IF num$ = "f" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(6)
    
        GOTO 200
        END IF

IF num$ = "g" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(7)
     
        GOTO 200
        END IF

IF num$ = "h" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(8)
      
        GOTO 200
        END IF

IF num$ = "i" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(9)
       
        GOTO 200
        END IF

IF num$ = "j" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(10)
     
        GOTO 200
        END IF

IF num$ = "k" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(11)
     
        GOTO 200
        END IF

IF num$ = "l" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(12)
     
        GOTO 200
        END IF

IF num$ = "m" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(13)
        GOTO 200
        END IF

IF num$ = "n" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(14)
      
        GOTO 200
        END IF

IF num$ = "o" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(15)
     
        GOTO 200
        END IF

IF num$ = "p" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(16)
    
        GOTO 200
        END IF

IF num$ = "q" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(17)
      
        GOTO 200
        END IF

IF num$ = "r" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(18)
      
        GOTO 200
        END IF

IF num$ = "s" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(19)
     
        GOTO 200
        END IF

IF num$ = "t" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(20)
       
        GOTO 200
        END IF

IF num$ = "u" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(21)
       
        GOTO 200
        END IF

IF num$ = "v" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(22)
      
        GOTO 200
        END IF

IF num$ = "w" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(23)
     
        GOTO 200
        END IF

IF num$ = "x" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(24)
      
        GOTO 200
        END IF

IF num$ = "y" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(25)
       
        GOTO 200
        END IF

IF num$ = "z" THEN
        LOCATE a% + 1, i + 1
        PRINT let$(26)
      
        GOTO 200
        END IF


LOCATE a% + 1, i + 1
PRINT num$


200

FOR c = 27 TO 2 STEP -1
let$(c) = let$(c - 1)
NEXT c
let$(1) = let$(27)

300 i = i + 1
IF i = 78 THEN
a% = a% + 2
b% = b% + 2
LOCATE a%: PRINT "                        "
i = 0
END IF

LOCATE b% + 1, 1
PRINT
PRINT "                                                                "
NEXT h








SLEEP
SLEEP

END SUB
