54 lines
1.4 KiB
Plaintext
54 lines
1.4 KiB
Plaintext
100 PROGRAM "SuChiper.bas"
|
|
110 STRING ST$(1 TO 2)*52,K$*1
|
|
120 LET ST$(1)="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
|
|
130 LET ST$(2)="VsciBjedgrzyHalvXZKtUPumGfIwJxqOCFRApnDhQWobLkESYMTN"
|
|
140 CLEAR SCREEN:PRINT "1 - encode, 2 - decode"
|
|
150 DO
|
|
160 LET K$=INKEY$
|
|
170 LOOP UNTIL K$="1" OR K$="2"
|
|
180 IF K$="1" THEN
|
|
190 INPUT PROMPT "File name: ":NAME$
|
|
200 IF OPENFILE(NAME$) THEN CALL CHIPER(1)
|
|
210 ELSE
|
|
220 IF OPENFILE("Encrypte.txt") THEN CALL CHIPER(2)
|
|
230 END IF
|
|
240 DEF OPENFILE(N$)
|
|
250 LET OPENFILE=0
|
|
260 WHEN EXCEPTION USE OPENERROR
|
|
270 OPEN #1:N$
|
|
280 END WHEN
|
|
290 LET OPENFILE=-1
|
|
300 END DEF
|
|
310 DEF CHIPER(FUNC)
|
|
320 LET EOF=0
|
|
330 WHEN EXCEPTION USE OPENERROR
|
|
340 IF FUNC=1 THEN
|
|
350 OPEN #2:"Encrypte.txt" ACCESS OUTPUT
|
|
360 LET OUTP=2
|
|
370 ELSE
|
|
380 OPEN #2:"Decrypte.txt" ACCESS OUTPUT
|
|
390 LET OUTP=1
|
|
400 END IF
|
|
410 END WHEN
|
|
420 WHEN EXCEPTION USE IOERROR
|
|
430 DO
|
|
440 GET #1:K$
|
|
450 IF UCASE$(K$)>="A" AND UCASE$(K$)<="Z" THEN
|
|
460 PRINT #2:ST$(OUTP)(POS(ST$(FUNC),K$));
|
|
470 ELSE
|
|
480 PRINT #2:K$;
|
|
490 END IF
|
|
500 LOOP UNTIL EOF
|
|
510 END WHEN
|
|
520 HANDLER IOERROR
|
|
530 IF EXTYPE<>9228 THEN PRINT EXSTRING$(EXTYPE)
|
|
540 CLOSE #2
|
|
550 CLOSE #1
|
|
560 LET EOF=1
|
|
570 END HANDLER
|
|
580 END DEF
|
|
590 HANDLER OPENERROR
|
|
600 PRINT EXSTRING$(EXTYPE)
|
|
610 END
|
|
620 END HANDLER
|