' Word Processing Program ' ~~~~~~~~~~~~~~~~~~~~~~~~~ Version 1.0 ' ' ' ' F1 -- S A V E ' ' F2 -- S A V E A S ' ' F3 -- N E W F I L E ' ' ESC -- E X I T (without save) ' ' ' Programmer: Cheng-Ning Pu ' (qbasic@pemail.net) ' ' HOMEPAGE: http://www.geocities.com/thetropics/9964/qbasic.html ' CLS top: COLOR 11, 0 CLS DIM SHARED w(23, 80) AS STRING FOR i = 1 TO 23 FOR j = 1 TO 80 w(i, j) = " " NEXT j NEXT i x = 1 y = 1 CLS DO COLOR 11, 1: LOCATE y, x: PRINT w(y, x) DO k$ = INKEY$ LOOP UNTIL k$ <> "" SELECT CASE k$ CASE CHR$(0) + "H" COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF y > 1 THEN y = y - 1 CASE CHR$(0) + "P" COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF y < 23 THEN y = y + 1 CASE CHR$(0) + "M" COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF x < 80 THEN x = x + 1 CASE CHR$(0) + "K" COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF x > 1 THEN x = x - 1 CASE "" COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF x > 1 THEN x = x - 1 ELSE x = 80 IF y > 1 THEN y = y - 1 END IF w(y, x) = " " CASE CHR$(13) COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF y < 23 THEN y = y + 1 x = 1 END IF CASE CHR$(0) + ";", CHR$(0) + "<" IF fi$ = "" OR k$ = CHR$(0) + "<" THEN LOCATE 8, 14: COLOR 11, 1 INPUT " Enter a file name to save your file : "; fi$ END IF OPEN fi$ FOR OUTPUT AS #1 FOR i = 1 TO 23 FOR j = 1 TO 80 PRINT #1, w(i, j); NEXT j PRINT #1, "" NEXT i RESET LOCATE 10, 35: PRINT " " LOCATE 11, 35: PRINT " S A V E " LOCATE 12, 35: PRINT " " t = TIMER DO LOOP UNTIL TIMER - t >= .8 nothing: COLOR 11, 0 FOR i = 1 TO 23 FOR j = 1 TO 80 LOCATE i, j PRINT w(i, j); NEXT j PRINT NEXT i CASE CHR$(0) + "=" COLOR 11, 1: LOCATE 10, 1: PRINT "Save your file again ? (y/n/c)"; INPUT d$ d$ = LCASE$(d$) SELECT CASE d$ CASE "c" GOTO nothing CASE "y" IF fi$ = "" OR k$ = CHR$(0) + "<" THEN LOCATE 8, 14: COLOR 11, 1 INPUT " Enter a file name to save your file : "; fi$ END IF OPEN fi$ FOR OUTPUT AS #1 FOR i = 1 TO 23 FOR j = 1 TO 80 PRINT #1, w(i, j); NEXT j PRINT #1, "" NEXT i RESET LOCATE 10, 35: PRINT " " LOCATE 11, 35: PRINT " S A V E " LOCATE 12, 35: PRINT " " t = TIMER DO LOOP UNTIL TIMER - t >= .8 END SELECT GOTO top CASE CHR$(27) END CASE ELSE w(y, x) = k$ COLOR 11, 0: LOCATE y, x: PRINT w(y, x) IF x < 80 THEN x = x + 1 ELSE x = 1 IF y < 23 THEN y = y + 1 END IF END SELECT LOOP