送大家几个我早期编写的QBasic程序,也许对大家学习QBasic有益!
qbasic吧
全部回复
仅看楼主
level 1
笑乾坤 楼主
第一个:键盘音乐制作小程序,可以将音乐存盘。DECLARE SUB FixtheGN ()DECLARE SUB PlayMU ()DECLARE SUB ClearMY ()DECLARE SUB PrintMU ()DECLARE SUB SaveMU ()DECLARE SUB InputTO ()DECLARE SUB MusicSD ()DECLARE SUB ShowWD ()COMMON SHARED PanduanSE, PanduanCY, PanduanLT, PanduanPYCOMMON SHARED Su
bp
anduanL, SubpanduanP, SubpanduanM, Name$, OldT$COMMON SHARED a$, o$, AddMU$, OldAddMU$COMMON SHARED UpSE, Pl, Ph, NoSDLOCATE , , 0: COLOR 7, 0: CLSLOCATE 5, 13COLOR 15, 2: PRINT "WXYMKM"; : COLOR 7, 0: PRINT " ";COLOR 15, 6: PRINT "2.00"; : COLOR 7, 0: PRINT " ";FOR c = 1 TO 5: FOR i = 1 TO 7: COLOR , i: PRINT " "; : NEXT i: NEXT cLOCATE 7, 1: COLOR 15, 0PRINT " /\ /\"PRINT " || / /\ \"PRINT " |/ /____\ \"PRINT " /____________\"PRINT " | ____ | __ __ __ __ __ __"PRINT " | | | | | | | | \ \ / / \ \ / /"PRINT " | | *| | | |/\| | \ /\ / \ /"PRINT " | | | | | | / \/ \ | |"PRINT " | |____| | |__ /\ __| /__/ \__\ |__|"PRINT " |____________|_____________________________________"PRINTLOCATE 18, 13: COLOR 15, 6: PRINT "Program Copyright Of Wang_Xiao_Yuan >> 08-19-2000"WHILE INKEY$ = "": WENDCALL ShowWDPh = 14: Pl = 23DO LOCATE Ph, Pl, 1, 6, 7DO: a$ = INKEY$: LOOP UNTIL a$ <> "" CALL FixtheGN IF a$ = "S" THEN CALL SaveMU PanduanSE = 1 ELSEIF a$ = "E" THEN CALL InputTO PanduanLT = 1 ELSEIF a$ = "Y" OR a$ = "A" OR a$ = "O" THEN CALL PlayMU PanduanPY = 1 ELSEIF a$ = "C" THEN CALL ClearMY NoSD = 0 PanduanCY = 1 ELSE CALL MusicSD CALL PrintMU END IFLOOP UNTIL a$ = CHR$(27)IF Name$ <> "" THEN CLOSE #1COLOR 7, 0: CLS : SYSTEMSUB ClearMYIF AddMU$ <> "" THEN LOCATE , , 0 OldAddMU$ = AddMU$ AddMU$ = "" COLOR 23, 0: LOCATE 12, 32: PRINT "MEMORY CLEAR OK" COLOR 11, 4: LOCATE 14, 23: PRINT " " COLOR 11, 4: LOCATE 15, 23: PRINT " " COLOR 11, 4: LOCATE 16, 23: PRINT " " COLOR 11, 4: LOCATE 17, 23: PRINT " " COLOR 11, 4: LOCATE 18, 23: PRINT " " COLOR 11, 4: LOCATE 19, 23: PRINT " " PLAY "l04mn" Ph = 14: Pl = 23ELSEIF AddMU$ = "" THEN LOCATE , , 0 COLOR 23, 0 LOCATE 12, 30: PRINT "NO MUSIC IN MEMORY"END IFEND SUBSUB FixtheGNLOCATE , , 0IF PanduanSE = 1 THEN COLOR 15, 0: LOCATE 7, 30: PRINT "S" COLOR 7, 0: LOCATE 7, 31: PRINT "AVE MUSIC TO FILE" PanduanSE = 0END IFIF PanduanCY = 1 THEN COLOR 15, 0: LOCATE 12, 30: PRINT " C" COLOR 7, 0: LOCATE 12, 34: PRINT "LEAR MEMORY " PanduanCY = 0END IFIF PanduanLT = 1 THEN COLOR 7, 0: LOCATE 8, 28: PRINT " S"
2005年08月16日 07点08分 1
level 1
笑乾坤 楼主
COLOR 15, 0: LOCATE 8, 33: PRINT "E" COLOR 7, 0: LOCATE 8, 34: PRINT "T MUSIC TEMPO "END IFIF PanduanPY = 1 THEN COLOR 7, 0: LOCATE 9, 30: PRINT " PLA"; : COLOR 15, 0: PRINT "Y"; : COLOR 7, 0: PRINT " MUSIC " COLOR 7, 0: LOCATE 10, 28: PRINT " PL"; : COLOR 15, 0: PRINT "A"; : COLOR 7, 0: PRINT "Y PREV MUSIC " COLOR 7, 0: LOCATE 11, 28: PRINT " C"; : COLOR 15, 0: PRINT "O"; : COLOR 7, 0: PRINT "NNECT PLAY MUSIC " PanduanPY = 0END IFIF SubpanduanL = 1 THEN COLOR 7, 0: LOCATE 21, 33: PRINT " "IF SubpanduanP = 1 THEN COLOR 7, 0: LOCATE 21, 45: PRINT " "IF SubpanduanM = 1 THEN COLOR 7, 0: LOCATE 21, 55: PRINT " "END SUBSUB InputTOCOLOR 7, 0LOCATE 8, 30: PRINT "INPUT MUSIC TEMPO:"LOCATE 8, 48, 1, 6, 7DO DO: a$ = INKEY$: LOOP UNTIL a$ <> "" IF ASC(a$) = 13 THEN IF VAL(t$) > 31 AND VAL(t$) < 256 THEN EXIT DO ELSE t$ = "" EXIT DO END IF ELSEIF ASC(a$) = 8 AND t$ <> "" THEN t$ = MID$(t$, 1, LEN(t$) - 1) LOCATE , POS(0) - 1: PRINT " "; : LOCATE , POS(0) - 1 ELSEIF ASC(a$) > 47 AND ASC(a$) < 58 AND LEN(t$) < 3 THEN t$ = t$ + a$ PRINT a$; ELSEIF ASC(a$) = 27 THEN COLOR 7, 0: CLS : SYSTEM END IFLOOPIF OldT$ <> t$ AND t$ <> "" THEN PLAY "t" + t$ COLOR 23, 0: LOCATE 8, 29 PRINT "MUSIC TEMTO CHANGE OK "ELSE COLOR 23, 0: LOCATE 8, 28 PRINT "MUSIC TEMTO NOT CHANGE " t = 0END IFOldT$ = t$END SUBSUB MusicSDUpSE = LEN(AddMU$)IF AddMU$ = "" THEN o$ = ""PLAY "MF"IF (a$ = "1" OR a$ = "2" OR a$ = "3" OR a$ = "4" OR a$ = "5" OR a$ = "6" OR a$ = "7") AND NoSD = 0 THEN IF o$ <> "o4" THEN o$ = "o4": AddMU$ = AddMU$ + o$ PLAY "o4" SELECT CASE a$ CASE "1" PLAY "c" AddMU$ = AddMU$ + "C" CASE "2" PLAY "d" AddMU$ = AddMU$ + "D" CASE "3" PLAY "e" AddMU$ = AddMU$ + "E" CASE "4" PLAY "f" AddMU$ = AddMU$ + "F" CASE "5" PLAY "g" AddMU$ = AddMU$ + "G" CASE "6" PLAY "a" AddMU$ = AddMU$ + "A" CASE "7" PLAY "b" AddMU$ = AddMU$ + "B" END SELECTELSEIF (a$ = "q" OR a$ = "w" OR a$ = "e" OR a$ = "r" OR a$ = "t" OR a$ = "y" OR a$ = "u") AND NoSD = 0 THEN IF o$ <> "o3" THEN o$ = "o3": AddMU$ = AddMU$ + o$ PLAY "o3" SELECT CASE a$ CASE "q" PLAY "c" AddMU$ = AddMU$ + "C" CASE "w" PLAY "d" AddMU$ = AddMU$ + "D" CASE "e" PLAY "e" AddMU$ = AddMU$ + "E" CASE "r" PLAY "f" AddMU$ = AddMU$ + "F" CASE "t" PLAY "g" AddMU$ = AddMU$ + "G" CASE "y" PLAY "a" AddMU$ = AddMU$ + "A" CASE "u" PLAY "b" AddMU$ = AddMU$ + "B" END SELECTELSEIF (a$ = "a" OR a$ = "s" OR a$ = "d" OR a$ = "f" OR a$ = "g" OR a$ = "h" OR a$ = "j") AND NoSD = 0 THEN IF o$ <> "o2" THEN o$ = "o2": AddMU$ = AddMU$ + o$ PLAY "o2" SELECT CASE a$
2005年08月16日 07点08分 2
level 1
笑乾坤 楼主
CASE "a" PLAY "c" AddMU$ = AddMU$ + "C" CASE "s" PLAY "d" AddMU$ = AddMU$ + "D" CASE "d" PLAY "e" AddMU$ = AddMU$ + "E" CASE "f" PLAY "f" AddMU$ = AddMU$ + "F" CASE "g" PLAY "g" AddMU$ = AddMU$ + "G" CASE "h" PLAY "a" AddMU$ = AddMU$ + "A" CASE "j" PLAY "b" AddMU$ = AddMU$ + "B" END SELECTELSEIF (a$ = "z" OR a$ = "x" OR a$ = "c" OR a$ = "v" OR a$ = "b" OR a$ = "n" OR a$ = "m") AND NoSD = 0 THEN IF o$ <> "o1" THEN o$ = "o1": AddMU$ = AddMU$ + o$ PLAY "o1" SELECT CASE a$ CASE "z" PLAY "c" AddMU$ = AddMU$ + "C" CASE "x" PLAY "d" AddMU$ = AddMU$ + "D" CASE "c" PLAY "e" AddMU$ = AddMU$ + "E" CASE "v" PLAY "f" AddMU$ = AddMU$ + "F" CASE "b" PLAY "g" AddMU$ = AddMU$ + "G" CASE "n" PLAY "a" AddMU$ = AddMU$ + "A" CASE "m" PLAY "b" AddMU$ = AddMU$ + "B" END SELECTELSEIF a$ = "L" OR a$ = "P" OR a$ = "M" THEN COLOR 7, 0 IF a$ = "L" OR a$ = "P" THEN IF a$ = "L" THEN LOCATE 21, 33, 1, 6, 7 IF a$ = "P" THEN LOCATE 21, 45, 1, 6, 7 FOR i = 1 TO 2 DO: b$ = INKEY$: LOOP UNTIL b$ <> "" IF ASC(b$) > 47 AND ASC(b$) < 58 THEN IF i = 1 AND ASC(b$) < 55 THEN lp$ = lp$ + b$ PRINT b$; ELSEIF i = 2 AND VAL(lp$ + b$) > 0 AND VAL(lp$ + b$) < 65 THEN lp$ = lp$ + b$ PRINT b$; ELSE i = i - 1 END IF ELSEIF b$ = CHR$(13) THEN lp$ = "" EXIT FOR ELSE i = i - 1 END IF NEXT i IF a$ = "L" THEN IF lp$ <> "" THEN PLAY "l" + lp$ AddMU$ = AddMU$ + "l" + lp$ SubpanduanL = 1 ELSE COLOR 7, 0: LOCATE 21, 33: PRINT " " END IF ELSEIF a$ = "P" THEN IF lp$ <> "" THEN AddMU$ = AddMU$ + "p" + lp$ SubpanduanP = 1 ELSE COLOR 7, 0: LOCATE 21, 45: PRINT " " END IF END IF ELSEIF a$ = "M" THEN LOCATE 21, 55, 1, 6, 7 DO: a$ = INKEY$: LOOP UNTIL a$ = "l" OR a$ = "n" OR a$ = "s" OR a$ = CHR$(13) IF a$ <> CHR$(13) THEN PRINT a$ AddMU$ = AddMU$ + "m" + a$: SubpanduanM = 1 END IF END IFELSEIF ASC(a$) = 8 AND AddMU$ <> "" THEN NoSD = 0 IF MID$(AddMU$, LEN(AddMU$) - 1, 1) = "m" THEN AddMU$ = MID$(AddMU$, 1, LEN(AddMU$) - 2) FOR i = LEN(AddMU$) TO 1 STEP -1 IF MID$(AddMU$, i, 1) = "m" THEN PLAY MID$(AddMU$, i, 2) NEXT i IF INSTR(1, MID$(AddMU$, 1, LEN(AddMU$)), "m") = 0 THEN PLAY "mn" ELSEIF (ASC(MID$(AddMU$, LEN(AddMU$) - 1, 1)) > 47 AND ASC(MID$(AddMU$, LEN(AddMU$) - 1, 1)) < 58) AND (MID$(AddMU$, LEN(AddMU$) - 2, 1) = "o" OR MID$(AddMU$, LEN(AddMU$) - 2, 1) = "p" OR MID$(AddMU$, LEN(AddMU$) - 2, 1) = "l") THEN
2005年08月16日 07点08分 3
level 1
笑乾坤 楼主
IF MID$(AddMU$, LEN(AddMU$) - 2, 1) = "o" THEN FOR i = LEN(AddMU$) - 3 TO 1 STEP -1 IF MID$(AddMU$, i, 1) = "o" THEN o$ = MID$(AddMU$, i, 2): EXIT FOR NEXT i IF INSTR(1, (MID$(AddMU$, 1, LEN(AddMU$) - 3)), "o") = 0 THEN o$ = "" ELSEIF MID$(AddMU$, LEN(AddMU$) - 2, 1) = "l" THEN FOR i = LEN(AddMU$) - 3 TO 1 STEP -1 IF MID$(AddMU$, i, 1) = "l" AND ASC(MID$(AddMU$, i + 1, 1)) > 48 AND ASC(MID$(AddMU$, i + 1, 1)) < 57 THEN PLAY MID$(AddMU$, i, 3): EXIT FOR NEXT i IF INSTR(1, (MID$(AddMU$, 1, LEN(AddMU$) - 3)), "l") = 0 THEN PLAY "l4" END IF AddMU$ = LEFT$(AddMU$, LEN(AddMU$) - 3) ELSE AddMU$ = LEFT$(AddMU$, LEN(AddMU$) - 1) END IFEND IFEND SUBSUB PlayMULOCATE , , 0IF a$ = "O" THEN IF OldAddMU$ <> "" THEN COLOR 23, 0: LOCATE 11, 29: PRINT "PREV MUSIC PLAYING..." PLAY OldAddMU$ COLOR 7, 0: LOCATE 11, 29: PRINT " C"; : COLOR 15, 0: PRINT "O"; : COLOR 7, 0: PRINT "NNECT PLAY MUSIC " TestOldMU = 1 ELSE COLOR 23, 0: LOCATE 11, 28: PRINT "NO PREV MUSIC IN MEMORY" END IFEND IFIF a$ = "Y" OR TestOldMU = 1 THEN IF AddMU$ <> "" THEN COLOR 23, 0: LOCATE 9, 32: PRINT "MUSIC PLAYING..." PLAY "l4mn" PlayH = 14: PlayL = 23 FOR i = 1 TO LEN(AddMU$) IF MID$(AddMU$, i, 1) = "p" OR MID$(AddMU$, i, 1) = "l" THEN PLAY MID$(AddMU$, i, 3) i = i + 2: PlayL = PlayL + 3 IF PlayL > 57 THEN PlayL = 23 + (PlayL - 57): PlayH = PlayH + 1 ELSEIF MID$(AddMU$, i, 1) = "o" OR MID$(AddMU$, i, 1) = "m" THEN PLAY MID$(AddMU$, i, 2) i = i + 1: PlayL = PlayL + 2 IF PlayL > 57 THEN PlayL = 23 + (PlayL - 57): PlayH = PlayH + 1 ELSE PLAY MID$(AddMU$, i, 1) IF TestPlay = 1 THEN LOCATE OldPlayH, OldPlayL: COLOR 14, 4: PRINT MID$(AddMU$, OldI, 1) IF PlayL < 57 THEN COLOR 14, 3: LOCATE PlayH, PlayL: PRINT MID$(AddMU$, i, 1) ELSEIF PlayL = 57 THEN PlayH = PlayH + 1: PlayL = 23 COLOR 14, 3: LOCATE PlayH, PlayL: PRINT MID$(AddMU$, i, 1) END IF OldPlayH = PlayH: OldPlayL = PlayL: OldI = i PlayL = PlayL + 1 TestPlay = 1 END IF NEXT i PLAY "p64" IF TestPlay = 1 THEN LOCATE OldPlayH, OldPlayL: COLOR 14, 4: PRINT MID$(AddMU$, OldI, 1) COLOR 7, 0: LOCATE 9, 32: PRINT " " COLOR 7, 0: LOCATE 9, 34: PRINT "PLA" COLOR 15, 0: LOCATE 9, 37: PRINT "Y" COLOR 7, 0: LOCATE 9, 38: PRINT " MUSIC" ELSE COLOR 23, 0: LOCATE 9, 30: PRINT "NO MUSIC IN MEMORY" END IFELSEIF a$ = "A" THEN IF OldAddMU$ <> "" THEN COLOR 23, 0: LOCATE 10, 29: PRINT "PREV MUSIC PLAYING..." PLAY OldAddMU$ COLOR 7, 0: LOCATE 10, 29: PRINT " PL"; : COLOR 15, 0: PRINT "A"; : COLOR 7, 0: PRINT "Y PREV MUSIC "
2005年08月16日 07点08分 4
level 1
笑乾坤 楼主
ELSE COLOR 23, 0: LOCATE 10, 28: PRINT "NO PREV MUSIC IN MEMORY" END IFEND IFEND SUBSUB PrintMULOCATE Ph, Pl, 1, 6, 7IF LEN(AddMU$) > UpSE THEN New$ = RIGHT$(AddMU$, LEN(AddMU$) - UpSE) IF Pl + LEN(New$) > 54 AND Ph = 19 THEN LOCATE Ph, Pl, 1, 6, 7 IF INSTR(1, New$, "l") = 0 AND INSTR(1, New$, "p") = 0 AND INSTR(1, New$, "m") = 0 THEN COLOR 7, 4: PRINT LEFT$(New$, LEN(New$) - 1); COLOR 14, 4: PRINT RIGHT$(New$, 1); ELSE COLOR 7, 4: PRINT New$; END IF Pl = Pl + LEN(New$) NoSD = 1 ELSEIF Pl + LEN(New$) < 57 THEN LOCATE Ph, Pl, 1, 6, 7 IF INSTR(1, New$, "l") = 0 AND INSTR(1, New$, "p") = 0 AND INSTR(1, New$, "m") = 0 THEN COLOR 7, 4: PRINT LEFT$(New$, LEN(New$) - 1); COLOR 14, 4: PRINT RIGHT$(New$, 1); ELSE COLOR 7, 4: PRINT New$; END IF Pl = Pl + LEN(New$) ELSEIF Pl + LEN(New$) = 57 THEN LOCATE Ph, Pl, 1, 6, 7 IF INSTR(1, New$, "l") = 0 AND INSTR(1, New$, "p") = 0 AND INSTR(1, New$, "m") = 0 THEN COLOR 7, 4: PRINT LEFT$(New$, LEN(New$) - 1); COLOR 14, 4: PRINT RIGHT$(New$, 1); ELSE COLOR 7, 4: PRINT New$; END IF Ph = Ph + 1: Pl = 23 LOCATE Ph, Pl, 1, 6, 7 ELSEIF Pl + LEN(New$) > 57 THEN LOCATE Ph, Pl, 1, 6, 7 New1$ = LEFT$(New$, 57 - Pl) New2$ = RIGHT$(New$, LEN(New$) - (57 - Pl)) COLOR 7, 4: PRINT New1$; Ph = Ph + 1: Pl = 23 LOCATE Ph, Pl, 1, 6, 7 IF INSTR(1, New1$, "l") = 0 AND INSTR(1, New1$, "p") = 0 AND INSTR(1, New1$, "m") = 0 THEN IF LEN(New2$) = 1 THEN COLOR 14, 4: PRINT New2$; ELSEIF LEN(New2$) = 2 THEN COLOR 7, 4: PRINT LEFT$(New2$, 1); COLOR 14, 4: PRINT RIGHT$(New2$, 1); END IF ELSE COLOR 7, 4: PRINT New2$; END IF Pl = Pl + LEN(New2$) END IFELSEIF LEN(AddMU$) < UpSE THEN COLOR 7, 4 Old = UpSE - LEN(AddMU$) IF Pl - Old > 22 THEN Pl = Pl - Old LOCATE Ph, Pl: PRINT SPACE$(Old); LOCATE Ph, Pl, 1, 6, 7 ELSEIF Pl - Old < 23 THEN LOCATE Ph, 23, 1, 6, 7 PRINT SPACE$(Pl - 23) Ph = Ph - 1 LOCATE Ph, 57 - (Old - (Pl - 23)), 1, 6, 7 PRINT SPACE$(Old - (Pl - 23)) Pl = 57 - (Old - (Pl - 23)) LOCATE Ph, Pl, 1, 6, 7 END IFEND IFEND SUBSUB SaveMUIF Name$ = "" THEN COLOR 7, 0: LOCATE 7, 30: PRINT " " LOCATE 7, 31: PRINT "INPUT FILE NAME:" LOCATE 7, 47, 1, 6, 7 DO DO: a$ = INKEY$: LOOP UNTIL a$ <> "" IF ASC(a$) = 13 THEN IF Name$ = "" THEN EXIT DO ELSE TestFE = 1 OPEN Name$ FOR APPEND AS #1 EXIT DO END IF ELSEIF ASC(a$) = 8 AND Name$ <> "" THEN Name$ = MID$(Name$, 1, LEN(Name$) - 1) LOCATE , POS(0) - 1: PRINT " "; : LOCATE , POS(0) - 1 ELSEIF LEN(Name$) < 12 AND ASC(a$) > 32 THEN Name$ = Name$ + a$ PRINT UCASE$(a$); ELSEIF ASC(a$) = 27 THEN COLOR 7, 0: CLS : SYSTEM END IF LOOPEND IFIF AddMU$ <> "" AND Name$ <> "" THEN PRINT #1, AddMU$ COLOR 7, 0: LOCATE 7, 30: PRINT " " COLOR 23, 0: LOCATE 7, 35: PRINT "SAVE OK"ELSEIF AddMU$ = "" AND Name$ <> "" THEN COLOR 7, 0: LOCATE 7, 30: PRINT " " COLOR 23, 0: LOCATE 7, 30: PRINT "NO MUSIC IN MEMORY"ELSEIF Name$ = "" AND AddMU$ <> "" THEN COLOR 7, 0: LOCATE 7, 30: PRINT " " COLOR 23, 0: LOCATE 7, 33: PRINT "NO FILE NAME"ELSEIF Name$ = "" AND AddMU$ = "" THEN COLOR 7, 0: LOCATE 7, 30: PRINT " " COLOR 23, 0: LOCATE 7, 33: PRINT "CAN NOT SAVE"END IFEND SUBSUB ShowWDCOLOR 7, 0: CLSCOLOR 7, 1: LOCATE 5, 23: PRINT "- WXY KEYBOARD MUSIC MAKE PROGRAM -"COLOR 15, 0: LOCATE 7, 30: PRINT "S"; : COLOR 7, 0: PRINT "AVE MUSIC TO FILE"COLOR 7, 0: LOCATE 8, 32: PRINT "S"; : COLOR 15, 0: PRINT "E"; : COLOR 7, 0: PRINT "T MUSIC TEMPO"COLOR 7, 0: LOCATE 9, 34: PRINT "PLA"; : COLOR 15, 0: PRINT "Y"; : COLOR 7, 0: PRINT " MUSIC"COLOR 7, 0: LOCATE 10, 32: PRINT "PL"; : COLOR 15, 0: PRINT "A"; : COLOR 7, 0: PRINT "Y PREV MUSIC"COLOR 7, 0: LOCATE 11, 30: PRINT "C"; : COLOR 15, 0: PRINT "O"; : COLOR 7, 0: PRINT "NNECT PLAY MUSIC"COLOR 15, 0: LOCATE 12, 33: PRINT "C"; : COLOR 7, 0: PRINT "LEAR MEMORY"COLOR 11, 4LOCATE 14, 23: PRINT SPACE$(34)LOCATE 15, 23: PRINT SPACE$(34)LOCATE 16, 23: PRINT SPACE$(34)LOCATE 17, 23: PRINT SPACE$(34)LOCATE 18, 23: PRINT SPACE$(34)LOCATE 19, 23: PRINT SPACE$(34)COLOR 15, 0: LOCATE 21, 24: PRINT "L"; : COLOR 7, 0: PRINT " lenght"COLOR 15, 0: LOCATE 21, 37: PRINT "P"; : COLOR 7, 0: PRINT " pause"COLOR 15, 0: LOCATE 21, 49: PRINT "M"; : COLOR 7, 0: PRINT " gap"END SUB
2005年08月16日 07点08分 5
level 1
笑乾坤 楼主
第三个:两文件对比程序,比较两文件不同之处,是我早期的做品,源文件中有些字符有错误,请朋友朋自己修正一下。CLSOO ERROR GOTO haveerrorON KEY(3) GOSUB cijiaoKEY(3) OO肙LOR 15, 6LOCATE 9, 25PRINT "这是一个纯文本文件的比较程序"COL蟁 14, 3LOCATE 10, 25PRINT "您可以用这一程序检查出两个纯"LOCATE 11, 25PRINT "文本文件的窟体区别, 以便加以"LOCATE 12, 25PRINT "修改.但对于 WPS 等文?编辑器"LOCATE 13, 25PRIO?"编辑出的非纯文本夏件, 本比较"LOCATE 14, 25PRINT "程序无能为力. 具体使用方法请"\OCATE 15, 25PRINT "注意程序运行中的提示. "WHILE IOKEY$ = ""WENDCOLOR 7, 1: CLSDO FOR i = 1 TO 25 READ c LOCATE 10, 28: COLOR ? 1: PRINT "本程序产权唆于王晓远" LOCATE 11, 28: COLOR c, 1: PRINT "@1999 -谎rsion 1.02" FOR t = 1 TO 90 IF INKEY$ file2$ THEN no = no + 1 \OCATE 16, 20 PRINT no; "行不徒." OPEN "$
#3" FOR APPEND AS #
3 OPEN "$
#4" FOR APPEND AS #
4 PRIOT
#3, file1$ PRIO?#
4, file2$ CLOSE
#3, #
4 END IF oly1 = LEN(file1$) on}y2 = LE_(fi|e2$) IF only2 < nly1 THEN only1 = ooly2 GOR i = 1 TO only1 nlyne1$ = MID$(file1$, i, 1) nlyone2$ = MID$(file2$, i, 1)
2005年08月16日 07点08分 7
level 1
笑乾坤 楼主
IF olyone1$ = oolyoe2$ THE_ on|yone = onlyne + 1 NEXT i a$ = \TRIM$(LEFT$(file1$, 20)) b$ = LTRI]$(LEFT$(file2$, 20)) ? LOCATE 7, 13 PRINT a$ LOCATE 12, 13 PRINT c$ LIOE (40, 40)-(lon< 60), 5< BF }on = lo + |ongsum LOOP UNTIL (EOF(1) AND EOF(2)) OR (EOF(1) AND (NOT EOG(2))) OR (EOF(2) AND (NOT EOF(1))) IF EOF(1) AND (_蟃 EOF(2)) THEN DO jia = jia + 1 LOCATE 2, 5 PRINT I_T(jya / sum1 * 100); "%" LINE INPUT #2, gile3$ no = n + 1 LOCATE 16, 20 PRINT oo; "行不同." sum|ong2 = sumlong2 + LEN(file2$) OPEO "$#3" FOR APPEOD AS
#3 OPEN "$#
4" FOR APPEND AS
#4 PRINT #
4, file2$ PRI蜹 #3, "********************?************" CLOSE
#3, #
4 b$ = LTRIM$(LEFT$(锁le2$, 20)) LOCATE 12, 13 PRINT b$ LINE (40, 40)-(lon, 60), 5, BF |on = lo + |飊gsum LOOP UOTIL EOF(2) ELSEIF EOF(2) AOD (OOT EOF(1)) THEN DO jia = jia + 1 LOCATE 2, 5 PRIOT I^T(jia / sum1 * 100); "%" LINE INPUT #1, file1$ no = n + 1 LOCATE 16, 20 PRINT no; "行不同." sum|ong1 = sumlong1 + LEN(file1$) OPEN "$#3" FOR APPEND AS
#3 OPEN "$#
4" FOR APPE_D AS #4 PRI蜹
#3, file1$ PRINT #
4, "**********************************" CLOSE
#3, #
4 a$ = LTRIM$(LEFT$(file1$, 20)) LOCATE 7, 13 PRINT a$ LINE (40, 40)-(loo, 60), 5, BF |on = lo + |ongs鮩 LOOP UNTIL EOF(1) E^D IF LINE (40, 40)-(270, 60), 7, BF LOCATE 2, 20 PRINT "文件比较完毕 " CLOSE
#1, #
2LOCATE 18, 5PSINT "文件 "; UCASE$(filename1$)LOCATE 19, 5PRINT "文件 "; UCASE$(fi|ena}e2$)LOCATE 22, 5PRIOT "夏件 "; UCASE$(filename1$)LOCATE 23, 5PRINT " 字符数为 "; sumlong1LOCATE 24, 5PRINT "文? "; UCASE$(gile醡e2$)LOCATE 25, 5PRINT " 字符数为 "; sumlog2IF sumlng1 < sumlog2 THEN sum}ong1 = sumlng2LOCATE 20, 5PRINT FIX(on|yone / sumlong1 * 100); "% 相同."bijiao:ON ERSOR GOTO nobijia OPEN "$
#3" FOR IOPUT AS #
3 OPEO "$
#4" FOR INPUT AS #
4 LOCATE 5, 41 PRI_T "文件 "; UCASE$(filename1$); " 第"; 1; "处." FOR ql = 6 TO 13 LOCATE ql, 41 PRINT SPACE$(34) NEXT q| LINE INPUT #3, fi|e1$ zhehag1 = LEN(fi|e1$) hang1 = 6 IF zhehang1 > 34 THEN fenhang1 = zxehang1 ? 34 fris? = 1 FOR go鮰1 = 1 TO fenhang1 + 1 ewery1$ = MID$(fi|?$, frist1, 34) frist1 = frist1 + 34 LOCATE hag1, 41 PRINT every1$ ha~g1 = ha~g1 + 1 NEYT gout1 ELSE LOCATE 6, 41 PRINT file1$ END IF LOCATE 15, 41 PRINT "文件 "; UCASE$(vileame2$); " 第"; 1; "处." FOR ql = 16 TO 23 LOCATE ql, 41 PRIOT SPACE$(34) _EXT ql \INE INPUT #4, file2$ zhehang2 = LEN(file2$) hang2 = 16 IF zheha頶2 > 34 THEN fenhag2 = zhehang2 / 34 frist2 = 1 芆R goout2 = 1 TO fenhag2 + 1 every2$ = MID$(file2$, frist2, 34) frist2 = frist2 + 34 LOCATE hang2, 41 PRINT ev錼y2$ hanw2 = hang2 + 1 NEXT gout2 ELSE LOCATE 16, 41 PRINT file2$ END IF CLOSE
#3, #
4far = 1OO KEY(2) GOSUB lastKEY(2) ONON KEY(1) GOSUB beforeKEY(1) OOOO KEY(3) GOSUB owerKEY(3) ONLOCATE 25, 43PRINT "F1键向前 F2键向后 F3键离开"DOLOOPlast:IF far < n THEN far = far + 1 ELSEIF far ? no THEO
2005年08月16日 07点08分 8
level 1
笑乾坤 楼主
RETURNEND IF OPEN "$
#3" FOR INPUT AS #
3 OPEN "$
#5" F_R IOPUT AS #
4 LOCATE 5, 41 PRINT "文件 "; UCASE$(filena}e1$); " 第"; far; "处." FOR ql = 6 TO 13 LOCATE ql, 41 PRIO?SPACE$(34) NEXT ql FOR fc = 1 TO far LINE INPUT #3, file1$ OEXT fc zhehang1 = LEN(file1$) hag1 = 6 IF zhehang1 > 34 THEN fenhag1 = zhehang1 / 34 frist1 = 1 FOR goout1 = 1 TO fenhang1 + 1 every1$ = MID$(file1$, frist1, 34) frist1 = frist1 + 34 LOCATE hang1, 41 PRI_T every1$ hang1 = hang1 + 1 NEXT go鮰1 E\SE LOCATE 6, 41 PRINT file1$ END IF LOCATE 15, 41 PRIOT "夏件 "; UCASE$(filename2$); " 第"; far; "处." FOR ql = 16 TO 23 LOCATE ql, 41 PRINT SPACE$(34) NEXT ql FOR fc = 1 TO far LINE INPUT #4, file2$ 蜤XT fc zhehang2 = LEO(file2$) hang2 = 16 IF zhehag2 > 34 THEN fehang2 = zhexang2 / 34 fr閟t2 = 1 FOR goouu2 = 1 TO fe~hang2 + 1 every2$ = MID$(file2$, grist2, 34) frist2 = frist2 + 34 LOCATE xang2, 41 PRINT every2$ hang2 = hang2 + 1 OEXT goout2 ELSE LOCATE 16, 41 PRIOT file2$ END I? CLOSE
#3, #
4 RETURNbefore:IG far > 1 THEN far = far - 1 E蘏EIF far < 1 THEN RETURNEND IFOPEN "$
#3" FOR IOPUT AS #
3_PEN "$
#4" FOR IOPUT AS #
4 LOCATE 5, 41 PRINT "文件 "; UCASE$(fi|铼a}?$)?" 第"; far; "处." FOR ql = 6 TO 13 LOCATE ql- 41 PRI_T SPACE$(34) NEXT ql FOR fc = 1 T?far LINE INPU?#3, fi靍1$ OEXT fc zhehang1 = LEN(file1$) hag1 = 6 IF zhehang1 > 34 THEN fe颔a~g1 = zhe鉴ng1 / 34 grist1 = 1 FOR 鏾out1 = 1 TO fenhag1 + 1 every1$ = MID$(file1$, frist1, 34) frist1 = grist1 + 34 LOCATE hang1, 41 PRI_T every1$ hang1 = hang1 + 1 NEXT go鮰1 ELSE LOCATE 6, 41 PRINT file1$ END IF LOCATE 15, 41 PRINT "文? "; UCASE$(wile醡e2$); " 第"; far; "处/"! FOR ql = 16 TO 23 LOCATE ql, 41 PRINT SPACE$(34) NEXT qm FOR fc = 1 TO far LINE INPUT #4< fi|e2$ NEXT fc ! zhehang2 = LEN(file2$) ha~g2 = 16 IF zhehang2 > 34 THEN feohang2 = zhehang2 / 34 ! fryst2 = 1 FOR goout2 = 1 TO fenhag2 + 1 uvery2$ = MID$(fyle2$, frist2, 34) frist2 = wrist2 + 34 LOCATE hang2, 41 PRIO?every2$ hang2 = hang2 + 1 NEXT gout2 ELSE LOCATE 16, 41 PRINT fi|e2$ END IFCLOSE
#3, #
4RETURNover:KILL "$
#3"KILL "$#
4"SYSTEMENDhaveerror:CLSCOLOR 14, 3LOCATE 10, 33PRINT "文 件 名 错 误"WHILE INKEY$ = "": WEND: COLOR 7, 0: CLS : SYSTEMENDnobijiao:LOCATE 25, 50PRINT " 两文件没有区别"谲IME IOKEY$ = "": WEND: CLS : SYSTEMEND
2005年08月16日 07点08分 9
level 1
笑乾坤 楼主
第四个:文王马前课(算卦)小程序,这个程序需要的一个库文件没办法发上来,也无所谓,反正大家要看的是我的编程思想。COLOR 15, 0: CLSLOCATE 5, 13: COLOR 15, 6: PRINT "WXYMQK version 1.00"LOCATE 7: COLOR 15, 0PRINT " /\ /\"PRINT " || / /\ \"PRINT " |/ /____\ \"PRINT " /____________\"PRINT " | ____ | __ __ __ __ __ __"PRINT " | | | | | | | | \ \ / / \ \ / /"PRINT " | | *| | | |/\| | \ /\ / \ /"PRINT " | | | | | | / \/ \ | |"PRINT " | |____| | |__ /\ __| /__/ \__\ |__|"PRINT " |____________|_____________________________________"PRINTLOCATE 18, 13: COLOR 15, 6: PRINT "本程序产权属于 - 王晓远 >>>>>>>>>> 07-09-2000"WHILE INKEY$ = "": WENDSCREEN 12: CLSCIRCLE (300, 230), 80CIRCLE (300, 191), 40, , 1.57, 4.7: CIRCLE (300, 271), 40, , 4.9, 1.57CIRCLE (300, 191), 15: CIRCLE (300, 271), 15PAINT (301, 170), 15: PAINT (301, 271), 15LOCATE 9, 16: PRINT "“占卜”在现代"LOCATE 9, 47: PRINT "人的眼中,往往被"LOCATE 10, 12: PRINT "视为迷信。其实并"LOCATE 10, 49: PRINT "非皆是如此。因"LOCATE 11, 12: PRINT "为在这个世界上"LOCATE 11, 51: PRINT "有太多的事物"LOCATE 12, 12: PRINT "还未被理解。"LOCATE 12, 53: PRINT "尤其是中国"LOCATE 13, 12: PRINT "的古文化,更"LOCATE 13, 53: PRINT "显得神秘多"LOCATE 14, 12: PRINT "彩。《易经》"LOCATE 14, 53: PRINT "便是中国五"LOCATE 15, 12: PRINT "千年文化中的"LOCATE 15, 53: PRINT "灿烂遗产。"LOCATE 16, 12: PRINT "古今中外,有多"LOCATE 16, 51: PRINT "少科学家对其"LOCATE 17, 12: PRINT "夜以继日,如痴如"LOCATE 17, 49: PRINT "迷地钻研,但因"LOCATE 18, 12: PRINT "其过于深奥,无奈所"LOCATE 18, 47: PRINT "得甚少也......"DO a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "msmf" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "o3e12d12" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "c2 d8p30" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "g3 a6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "g6 f1" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "g7 a6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "d2 e12p15" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "d10p20 e15" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "d15 c6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "o2a6 o3d1" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "e6 d6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "c2 o4c10p20" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "c10p20 o3b6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "a6 g6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "a1 g3" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "o2g10p20 a10p20" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "b8p30 o3c14" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "o2b14 a6" a$ = INKEY$: IF a$ <> "" THEN EXIT DO PLAY "g6 a1" a$ = INKEY$: IF a$ <> "" THEN EXIT DOLOOPSCREEN 0: COLOR 7, 0: CLSRANDOMIZE TIMERFOR i = 6 TO 16: COLOR 0, 2: LOCATE i, 31: PRINT " "; : NEXT iCOLOR 11, 5LOCATE 8, 15: PRINT "金": LOCATE 10, 15: PRINT "钱"LOCATE 12, 15: PRINT "之": LOCATE 14, 15: PRINT "课"LOCATE 8, 20: PRINT "卦": LOCATE 10, 20: PRINT "灵"LOCATE 12, 20: PRINT "如": LOCATE 14, 20: PRINT "神"
2005年08月16日 07点08分 10
level 1
笑乾坤 楼主
LOCATE 8, 58: PRINT "诚": LOCATE 10, 58: PRINT "心"LOCATE 12, 58: PRINT "相": LOCATE 14, 58: PRINT "求"LOCATE 8, 63: PRINT "勿": LOCATE 10, 63: PRINT "当"LOCATE 12, 63: PRINT "儿": LOCATE 14, 63: PRINT "戏"DO DO: a$ = INKEY$: LOOP UNTIL a$ = CHR$(32) OR a$ = CHR$(13) y1$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) y2$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) y3$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) y4$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) y5$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) y6$ = RTRIM$(LTRIM$(STR$(INT(RND * 2)))) IF tt = 0 AND a$ <> CHR$(13) THEN tt = 1 LOCATE 4, 39: COLOR 7, 0: PRINT "●" LOCATE 18, 39: COLOR 7, 0: PRINT "○" ELSEIF tt = 1 AND a$ <> CHR$(13) THEN tt = 2 LOCATE 4, 39: COLOR 7, 0: PRINT "◆" LOCATE 18, 39: COLOR 7, 0: PRINT "◇" ELSEIF tt = 2 AND a$ <> CHR$(13) THEN tt = 3 LOCATE 4, 39: COLOR 7, 0: PRINT "■" LOCATE 18, 39: COLOR 7, 0: PRINT "□" ELSEIF tt = 3 AND a$ <> CHR$(13) THEN tt = 0 LOCATE 4, 39: COLOR 7, 0: PRINT "▲" LOCATE 18, 39: COLOR 7, 0: PRINT "△" END IF IF a$ = CHR$(32) THEN SOUND 120, 1LOOP UNTIL a$ = CHR$(13)y$ = y1$ + y2$ + y3$ + y4$ + y5$ + y6$COLOR 15, 2: h = 16FOR i = 6 TO 1 STEP -1 c = INT(RND * i) + 1 g$ = g$ + MID$(y$, c, 1) IF MID$(y$, c, 1) = "0" THEN LOCATE h, 31: PRINT "圹圹圹 圹圹圹" IF MID$(y$, c, 1) = "1" THEN LOCATE h, 31: PRINT "圹圹圹圹圹圹圹圹圹" h = h - 2 IF i = 1 THEN y$ = "": EXIT FOR IF c = 1 THEN y$ = MID$(y$, 2, i - 1) ELSE y$ = MID$(y$, 1, c - 1) + MID$(y$, c + 1, i - c) END IF DO: a$ = INKEY$: LOOP UNTIL a$ = CHR$(13)NEXT iFOR i = 6 TO 1 STEP -1: b$ = b$ + MID$(g$, i, 1): NEXT iWHILE INKEY$ = "": WENDCOLOR 7, 0: CLSFOR i = 1 TO 6 IF MID$(b$, i, 1) = "0" THEN PRINT "哌? 哌? IF MID$(b$, i, 1) = "1" THEN PRINT "哌哌哌哌?NEXT iON ERROR GOTO DatErrorOPEN "wxymqk.dat" FOR INPUT AS
#1 DO LINE INPUT #
1, c$ IF c$ = b$ THEN t = 8 LINE INPUT #1, c$ COLOR 15, 2: LOCATE t, 1: PRINT c$ LINE INPUT #1, c$ COLOR 7, 0: LOCATE t, 35: PRINT c$ DO UNTIL c$ = "〈卦 终〉" t = t + 1 LINE INPUT #1, c$ IF c$ = "〈卦 终〉" THEN COLOR 11, 2 LOCATE t, 15: PRINT c$ LOOP COLOR 7, 0 EXIT DO END IF LOOP UNTIL EOF(1)CLOSE #1SYSTEMDatError:LOCATE 10, 23: PRINT "错误: 库文件 - WXYMQK.DAT 未发现"SYSTEM
2005年08月16日 07点08分 11
level 1
笑乾坤 楼主
第五个:文件切割程序。这个程序可以把一个大文切割成若干个小文(任何文均可切割),方面文件的拷贝、移动,而后还可把被切割而成的若干小文链接还原成原来的大文件。COLOR 7, 0: CLSLOCATE 6, 25: COLOR 15, 5PRINT "这是一个文件的切割和连接程序"LOCATE 7, 25: COLOR 7, 4PRINT "您可以将任意一个文件切割成任"LOCATE 8, 25PRINT "意字节的几块,以备拷贝或其它"LOCATE 9, 25PRINT "用途。而后用本程序还可将其连"LOCATE 10, 25PRINT "接恢复。 "LOCATE 11, 25: COLOR 15, 2PRINT "注: 切割后每份文件的主文件名"LOCATE 12, 25PRINT "部分为原文件的主文件名部分;"LOCATE 13, 25PRINT "扩展名部分为数字序号。不要更"LOCATE 14, 25PRINT "改其中任何文件的文件名,否则"LOCATE 15, 25PRINT "将难以将它们连接。 "LOCATE 16, 25: COLOR 7, 4PRINT "具体使用方法请注意程序运行中"LOCATE 17, 25PRINT "的提示。 "WHILE INKEY$ = "": WENDCOLOR 7, 1: CLSDO FOR i = 1 TO 25 READ c LOCATE 10, 28: COLOR c, 1: PRINT "本程序产权属于王晓远" LOCATE 11, 28: COLOR c, 1: PRINT "@1999 -Version 1.02" FOR t = 1 TO 90 IF INKEY$ <> "" THEN EXIT DO NEXT t NEXT i RESTORE DATA 5,8,2,6,9,3,12,13,7,10,11,14,15,14,11,10,7,13,12,3,9,6,2,8,5LOOPCOLOR 14, 1: CLSLOCATE 10, 30PRINT "A.对文件进行切割"LOCATE 11, 30PRINT "B.对文件进行连接"LOCATE 13, 33PRINT "请作出选择"DO IF tt = 0 THEN LOCATE 14, 30: COLOR 11, 6: PRINT "(按 A 键或 B 键)": tt = 1 ELSEIF tt = 1 THEN LOCATE 14, 30: COLOR 0, 0: PRINT " ": tt = 0 END IF FOR i = 1 TO 700 a$ = INKEY$ IF a$ = "a" OR a$ = "A" OR a$ = "b" OR a$ = "B" THEN EXIT DO NEXT iLOOPIF a$ = "a" OR a$ = "A" THEN COLOR 7, 0: CLS PRINT "请输入 -" LOCATE 4 PRINT " " + CHR$(175) + " 待切割的文件名:"; LINE INPUT filename$: filename$ = UCASE$(RTRIM$(LTRIM$(filename$))): PRINT h = CSRLIN - 1 ON ERROR GOTO nameerror OPEN filename$ FOR INPUT AS
#1: filelong = LOF(1): CLOSE #
1 FOR i = LEN(filename$) TO 1 STEP -1 IF MID$(filename$, i, 1) = "\" THEN surename$ = RIGHT$(filename$, LEN(filename$) - i) path$ = LEFT$(filename$, i) EXIT FOR ELSE surename$ = filename$ path$ = ".\" END IF NEXT i IF INSTR(1, surename$, ".") <> 0 THEN name1$ = LEFT$(surename$, INSTR(1, surename$, ".")) ELSE name1$ = surename$ + "." END IFafter1: LOCATE 6, 4 PRINT CHR$(175) + " 切割的份数:"; LINE INPUT howmach$: howmach$ = RTRIM$(LTRIM$(howmach$)) IF howmach$ = "" THEN GOTO after1 FOR i = 1 TO LEN(howmach$) a$ = MID$(howmach$, i, 1) IF ASC(a$) > 57 OR ASC(a$) < 48 OR (i = LEN(howmach$) AND VAL(howmach$) > filelong) THEN LOCATE 6, 17 PRINT SPACE$(64) GOTO after1 END IF NEXT i howmach = VAL(howmach$): DIM byte$(howmach): DIM byte(howmach): DIM everyname$(howmach) PRINT PRINT " " + CHR$(175) + " 是否具体输入每份所占的字节数?(Y/N)" DO a$ = INKEY$ LOOP UNTIL a$ = "y" OR a$ = "Y" OR a$ = "n" OR a$ = "N" IF a$ = "y" OR a$ = "Y" THEN COLOR 15, 0 PRINT " 总共为"; filelong; "字节" COLOR 7, 0 FOR i = 1 TO howmachafter2: IF LEN(RTRIM$(LTRIM$(STR$(i)))) < 3 THEN i$ = STRING$(3 - LEN(RTRIM$(LTRIM$(STR$(i)))), "0") + RTRIM$(LTRIM$(STR$(i)))
2005年08月16日 07点08分 12
level 1
笑乾坤 楼主
ELSE i$ = LTRIM$(LTRIM$(STR$(i))) END IF everyname$(i) = name1$ + i$ PRINT " - 文件 " + everyname$(i) + ":"; LINE INPUT byte$(i): byte$(i) = RTRIM$(LTRIM$(byte$(i))) h = CSRLIN - 1 FOR ii = 1 TO LEN(byte$(i)) IF ASC(MID$(byte$(i), ii, 1)) > 57 OR ASC(MID$(byte$(i), ii, 1)) < 48 THEN LOCATE h, 17 PRINT SPACE$(64) LOCATE h GOTO after2 END IF NEXT ii byte(i) = VAL(byte$(i)) NEXT i h = CSRLIN - 1 FOR i = 1 TO howmach sumlong = sumlong + byte(i) NEXT i IF sumlong <> filelong THEN GOTO loferror ELSE FOR i = 1 TO howmach IF filelong MOD howmach <> 0 AND i = howmach THEN byte(i) = filelong - (filelong \ howmach) * (howmach - 1) ELSE byte(i) = filelong \ howmach END IF IF LEN(RTRIM$(LTRIM$(STR$(i)))) < 3 THEN i$ = STRING$(3 - LEN(RTRIM$(LTRIM$(STR$(i)))), "0") + RTRIM$(LTRIM$(STR$(i))) ELSE i$ = LTRIM$(LTRIM$(STR$(i))) END IF everyname$(i) = name1$ + i$ NEXT i END IF COLOR 7, 0: CLS : LOCATE 10, 30: COLOR 15, 2 PRINT "正在切割 请稍候..." hh = 1 FOR i = 1 TO howmach OPEN filename$ FOR INPUT AS #1 OPEN path$ + everyname$(i) FOR OUTPUT AS #2 DO DO UNTIL EOF(1) LINE INPUT #1, null$ LOOP r = SEEK(1) - hh: SEEK #1, hh r$ = INPUT$(r, #1)later: IF LOF(2) + LEN(r$) < byte(i) THEN PRINT #2, r$ + CHR$(26); SEEK #1, SEEK(1) + 1: hh = SEEK(1) ELSEIF LOF(2) + LEN(r$) = byte(i) THEN PRINT #2, r$; SEEK #1, SEEK(1) + 1: hh = SEEK(1): CLOSE #2 IF i <> howmach THEN i = i + 1 ELSE END OPEN path$ + everyname$(i) FOR OUTPUT AS #2 ELSEIF LOF(2) + LEN(r$) > byte(i) THEN br$ = LEFT$(r$, byte(i) - LOF(2)) r$ = RIGHT$(r$, LEN(r$) - (byte(i) - LOF(2))) PRINT #2, br$; : CLOSE #2 IF i <> howmach THEN i = i + 1 ELSE END OPEN path$ + everyname$(i) FOR OUTPUT AS #2 GOTO later END IF LOOP NEXT i CLOSE
#1, #
2 COLOR 7, 0: CLS : LOCATE 10, 26: COLOR 15, 3 PRINT "切 割 完 成,按 任 一 键 返 回" ENDnameerror: PLAY "o1l17cp60l3c" LOCATE h, 6: COLOR 0, 7 PRINT "文 件 名 错 误" ENDloferror: PLAY "o1l17cp60l3c" LOCATE h + 1, 6: COLOR 0, 7 PRINT "字 节 分 配 错 误" END ELSE COLOR 7, 0: CLS PRINT "请输入 -" LOCATE 4 PRINT " " + CHR$(175) + " 待连接文件的路径和文件主名:"; LINE INPUT filename$: filename$ = RTRIM$(LTRIM$(filename$)) h = CSRLIN ON ERROR GOTO nameerror1 OPEN filename$ + ".001" FOR INPUT AS
#1: CLOSE #
1 PRINT PRINT " " + CHR$(175) + " 连接后文件的路径和文件全名:"; LINE INPUT filename2$: filename2$ = RTRIM$(LTRIM$(filename2$)) h = CSRLIN COLOR 7, 0: CLS : LOCATE 10, 30: COLOR 15, 2 PRINT "正在连接 请稍侯..." OPEN filename2$ FOR OUTPUT AS #2 DO sum = sum + 1: latername$ = ".00" + RTRIM$(LTRIM$(STR$(sum))) ON ERROR GOTO readend OPEN filename$ + latername$ FOR INPUT AS #1 ON ERROR GOTO nameerror2 a = 1 DO DO UNTIL EOF(1) LINE INPUT #1, n$ LOOP r = SEEK(1) - a: SEEK #1, a c$ = INPUT$(r,
#1) PRINT #
2, c$; IF SEEK(1) > LOF(1) THEN CLOSE
#1 EXIT DO ELSE PRINT #
2, CHR$(26); END IF SEEK #1, SEEK(1) + 1: a = SEEK(1) LOOP LOOPreadend: CLOSE #2 COLOR 7, 0: CLS : LOCATE 10, 26: COLOR 15, 3 PRINT "连 接 完 成,按 任 一 键 返 回" ENDnameerror1: PLAY "o1l17cp60l3c" COLOR 0, 7: LOCATE h, 6 PRINT "文 件 名 错 误" ENDnameerror2: PLAY "o1l17cp60l3c" COLOR 0, 7: LOCATE h, 6 PRINT "文 件 路 径 错 误" ENDEND IF
2005年08月16日 07点08分 13
level 1
笑乾坤 楼主
第五个:文件切割程序。此程序可将任何文件切割成若干小文件,方面文件的复制、移动,而后还可将这些小文件重新链接成原大文件。COLOR 7, 0: CLSLOCATE 6, 25: COLOR 15, 5PRINT "这是一个文件的切割和连接程序"LOCATE 7, 25: COLOR 7, 4PRINT "您可以将任意一个文件切割成任"LOCATE 8, 25PRINT "意字节的几块,以备拷贝或其它"LOCATE 9, 25PRINT "用途。而后用本程序还可将其连"LOCATE 10, 25PRINT "接恢复。 "LOCATE 11, 25: COLOR 15, 2PRINT "注: 切割后每份文件的主文件名"LOCATE 12, 25PRINT "部分为原文件的主文件名部分;"LOCATE 13, 25PRINT "扩展名部分为数字序号。不要更"LOCATE 14, 25PRINT "改其中任何文件的文件名,否则"LOCATE 15, 25PRINT "将难以将它们连接。 "LOCATE 16, 25: COLOR 7, 4PRINT "具体使用方法请注意程序运行中"LOCATE 17, 25PRINT "的提示。 "WHILE INKEY$ = "": WENDCOLOR 7, 1: CLSDO FOR i = 1 TO 25 READ c LOCATE 10, 28: COLOR c, 1: PRINT "本程序产权属于王晓远" LOCATE 11, 28: COLOR c, 1: PRINT "@1999 -Version 1.02" FOR t = 1 TO 90 IF INKEY$ <> "" THEN EXIT DO NEXT t NEXT i RESTORE DATA 5,8,2,6,9,3,12,13,7,10,11,14,15,14,11,10,7,13,12,3,9,6,2,8,5LOOPCOLOR 14, 1: CLSLOCATE 10, 30PRINT "A.对文件进行切割"LOCATE 11, 30PRINT "B.对文件进行连接"LOCATE 13, 33PRINT "请作出选择"DO IF tt = 0 THEN LOCATE 14, 30: COLOR 11, 6: PRINT "(按 A 键或 B 键)": tt = 1 ELSEIF tt = 1 THEN LOCATE 14, 30: COLOR 0, 0: PRINT " ": tt = 0 END IF FOR i = 1 TO 700 a$ = INKEY$ IF a$ = "a" OR a$ = "A" OR a$ = "b" OR a$ = "B" THEN EXIT DO NEXT iLOOPIF a$ = "a" OR a$ = "A" THEN COLOR 7, 0: CLS PRINT "请输入 -" LOCATE 4 PRINT " " + CHR$(175) + " 待切割的文件名:"; LINE INPUT filename$: filename$ = UCASE$(RTRIM$(LTRIM$(filename$))): PRINT h = CSRLIN - 1 ON ERROR GOTO nameerror OPEN filename$ FOR INPUT AS
#1: filelong = LOF(1): CLOSE #
1 FOR i = LEN(filename$) TO 1 STEP -1 IF MID$(filename$, i, 1) = "\" THEN surename$ = RIGHT$(filename$, LEN(filename$) - i) path$ = LEFT$(filename$, i) EXIT FOR ELSE surename$ = filename$ path$ = ".\" END IF NEXT i IF INSTR(1, surename$, ".") <> 0 THEN name1$ = LEFT$(surename$, INSTR(1, surename$, ".")) ELSE name1$ = surename$ + "." END IFafter1: LOCATE 6, 4 PRINT CHR$(175) + " 切割的份数:"; LINE INPUT howmach$: howmach$ = RTRIM$(LTRIM$(howmach$)) IF howmach$ = "" THEN GOTO after1 FOR i = 1 TO LEN(howmach$) a$ = MID$(howmach$, i, 1) IF ASC(a$) > 57 OR ASC(a$) < 48 OR (i = LEN(howmach$) AND VAL(howmach$) > filelong) THEN LOCATE 6, 17 PRINT SPACE$(64) GOTO after1 END IF NEXT i howmach = VAL(howmach$): DIM byte$(howmach): DIM byte(howmach): DIM everyname$(howmach) PRINT PRINT " " + CHR$(175) + " 是否具体输入每份所占的字节数?(Y/N)" DO a$ = INKEY$ LOOP UNTIL a$ = "y" OR a$ = "Y" OR a$ = "n" OR a$ = "N" IF a$ = "y" OR a$ = "Y" THEN COLOR 15, 0 PRINT " 总共为"; filelong; "字节" COLOR 7, 0 FOR i = 1 TO howmachafter2: IF LEN(RTRIM$(LTRIM$(STR$(i)))) < 3 THEN i$ = STRING$(3 - LEN(RTRIM$(LTRIM$(STR$(i)))), "0") + RTRIM$(LTRIM$(STR$(i)))
2005年08月16日 07点08分 14
level 1
笑乾坤 楼主
ELSE i$ = LTRIM$(LTRIM$(STR$(i))) END IF everyname$(i) = name1$ + i$ PRINT " - 文件 " + everyname$(i) + ":"; LINE INPUT byte$(i): byte$(i) = RTRIM$(LTRIM$(byte$(i))) h = CSRLIN - 1 FOR ii = 1 TO LEN(byte$(i)) IF ASC(MID$(byte$(i), ii, 1)) > 57 OR ASC(MID$(byte$(i), ii, 1)) < 48 THEN LOCATE h, 17 PRINT SPACE$(64) LOCATE h GOTO after2 END IF NEXT ii byte(i) = VAL(byte$(i)) NEXT i h = CSRLIN - 1 FOR i = 1 TO howmach sumlong = sumlong + byte(i) NEXT i IF sumlong <> filelong THEN GOTO loferror ELSE FOR i = 1 TO howmach IF filelong MOD howmach <> 0 AND i = howmach THEN byte(i) = filelong - (filelong \ howmach) * (howmach - 1) ELSE byte(i) = filelong \ howmach END IF IF LEN(RTRIM$(LTRIM$(STR$(i)))) < 3 THEN i$ = STRING$(3 - LEN(RTRIM$(LTRIM$(STR$(i)))), "0") + RTRIM$(LTRIM$(STR$(i))) ELSE i$ = LTRIM$(LTRIM$(STR$(i))) END IF everyname$(i) = name1$ + i$ NEXT i END IF COLOR 7, 0: CLS : LOCATE 10, 30: COLOR 15, 2 PRINT "正在切割 请稍候..." hh = 1 FOR i = 1 TO howmach OPEN filename$ FOR INPUT AS #1 OPEN path$ + everyname$(i) FOR OUTPUT AS #2 DO DO UNTIL EOF(1) LINE INPUT #1, null$ LOOP r = SEEK(1) - hh: SEEK #1, hh r$ = INPUT$(r, #1)later: IF LOF(2) + LEN(r$) < byte(i) THEN PRINT #2, r$ + CHR$(26); SEEK #1, SEEK(1) + 1: hh = SEEK(1) ELSEIF LOF(2) + LEN(r$) = byte(i) THEN PRINT #2, r$; SEEK #1, SEEK(1) + 1: hh = SEEK(1): CLOSE #2 IF i <> howmach THEN i = i + 1 ELSE END OPEN path$ + everyname$(i) FOR OUTPUT AS #2 ELSEIF LOF(2) + LEN(r$) > byte(i) THEN br$ = LEFT$(r$, byte(i) - LOF(2)) r$ = RIGHT$(r$, LEN(r$) - (byte(i) - LOF(2))) PRINT #2, br$; : CLOSE #2 IF i <> howmach THEN i = i + 1 ELSE END OPEN path$ + everyname$(i) FOR OUTPUT AS #2 GOTO later END IF LOOP NEXT i CLOSE
#1, #
2 COLOR 7, 0: CLS : LOCATE 10, 26: COLOR 15, 3 PRINT "切 割 完 成,按 任 一 键 返 回" ENDnameerror: PLAY "o1l17cp60l3c" LOCATE h, 6: COLOR 0, 7 PRINT "文 件 名 错 误" ENDloferror: PLAY "o1l17cp60l3c" LOCATE h + 1, 6: COLOR 0, 7 PRINT "字 节 分 配 错 误" END ELSE COLOR 7, 0: CLS PRINT "请输入 -" LOCATE 4 PRINT " " + CHR$(175) + " 待连接文件的路径和文件主名:"; LINE INPUT filename$: filename$ = RTRIM$(LTRIM$(filename$)) h = CSRLIN ON ERROR GOTO nameerror1 OPEN filename$ + ".001" FOR INPUT AS
#1: CLOSE #
1 PRINT PRINT " " + CHR$(175) + " 连接后文件的路径和文件全名:"; LINE INPUT filename2$: filename2$ = RTRIM$(LTRIM$(filename2$)) h = CSRLIN COLOR 7, 0: CLS : LOCATE 10, 30: COLOR 15, 2 PRINT "正在连接 请稍侯..." OPEN filename2$ FOR OUTPUT AS #2 DO sum = sum + 1: latername$ = ".00" + RTRIM$(LTRIM$(STR$(sum))) ON ERROR GOTO readend OPEN filename$ + latername$ FOR INPUT AS #1 ON ERROR GOTO nameerror2 a = 1 DO DO UNTIL EOF(1) LINE INPUT #1, n$ LOOP r = SEEK(1) - a: SEEK #1, a c$ = INPUT$(r,
#1) PRINT #
2, c$; IF SEEK(1) > LOF(1) THEN CLOSE
#1 EXIT DO ELSE PRINT #
2, CHR$(26); END IF SEEK #1, SEEK(1) + 1: a = SEEK(1) LOOP LOOPreadend: CLOSE #2 COLOR 7, 0: CLS : LOCATE 10, 26: COLOR 15, 3 PRINT "连 接 完 成,按 任 一 键 返 回" ENDnameerror1: PLAY "o1l17cp60l3c" COLOR 0, 7: LOCATE h, 6 PRINT "文 件 名 错 误" ENDnameerror2: PLAY "o1l17cp60l3c" COLOR 0, 7: LOCATE h, 6 PRINT "文 件 路 径 错 误" ENDEND IF
2005年08月16日 07点08分 15
level 1
笑乾坤 楼主
第六个:文件加解密程序。可以将任意文件加密,而后解密,算法比较安全。DECLARE SUB InputPassword ()DECLARE SUB Encrypt ()DECLARE SUB Decrypt ()COMMON SHARED FileNameA$, Password$COLOR 15, 0: CLSLOCATE 5, 13: COLOR 15, 6: PRINT "WXYLOCK version B.00"LOCATE 7: COLOR 15, 0PRINT " /\ /\"PRINT " || / /\ \"PRINT " |/ /____\ \"PRINT " /____________\"PRINT " | ____ | __ __ __ __ __ __"PRINT " | | | | | | | | \ \ / / \ \ / /"PRINT " | | *| | | |/\| | \ /\ / \ /"PRINT " | | | | | | / \/ \ | |"PRINT " | |____| | |__ /\ __| /__/ \__\ |__|"PRINT " |____________|_____________________________________"PRINTLOCATE 18, 13: COLOR 15, 6: PRINT "本程序产权属于 - 王晓远 >>>>>>>>>> 03-18-2000"WHILE INKEY$ = "": WENDCOLOR 7, 0: CLS : COLOR 15, 3LOCATE 7, 26PRINT "这是一个文件的加密和解密程序"COLOR 11, 6LOCATE 8, 26PRINT "本程序可对任意一个文件进行加"LOCATE 9, 26PRINT "密(包括二进制文件), 使文件内"LOCATE 10, 26PRINT "容成为无法理解的字符. 而后经"LOCATE 11, 26PRINT "本程序解密, 还可以还原为原来"LOCATE 12, 26PRINT "的文件. "COLOR 13, 2LOCATE 13, 26PRINT "注: 请勿对加密后的文件做任何"LOCATE 14, 26PRINT "修改, 那是很危险的. 因为加密"LOCATE 15, 26PRINT "后文件的任何一个小小的改动都"LOCATE 16, 26PRINT "有可能导致解密程序无法对其正"LOCATE 17, 26PRINT "常操作, 由此给您带来不必要的"LOCATE 18, 26PRINT "麻烦. "WHILE INKEY$ = "": WENDCOLOR 14, 1: CLSLOCATE 10, 30PRINT "A.对文件进行加密"LOCATE 11, 30PRINT "B.对文件进行解密"LOCATE 13, 33PRINT "请作出选择"LOCATE 14, 30: COLOR 11, 6: PRINT "(按 A 键或 B 键)"DO a$ = INKEY$LOOP UNTIL a$ = "a" OR a$ = "A" OR a$ = "b" OR a$ = "B" OR a$ = CHR$(27)IF a$ = "a" OR a$ = "A" THEN CALL Encrypt ELSEIF a$ = "b" OR a$ = "B" THEN CALL DecryptEND IFCOLOR 7, 0: SYSTEMFileNameERROR:LOCATE 10, 20: COLOR 15, 0: PRINT "<错误> - 文件 "; FileNameA$; " 未发现"COLOR 7, 0: SYSTEMTypeERROR:COLOR 15, 0: LOCATE 15, 20: PRINT "<错误> - 文件 "; FileNameA$; " 密文簇有丢失或不是加密文件"COLOR 7, 0: SYSTEMSUB DecryptCOLOR 7, 1: CLSLOCATE 9, 20: PRINT "请输入需解密的文件名:";LINE INPUT FileNameA$: FileNameA$ = LTRIM$(RTRIM$(UCASE$(FileNameA$)))ON ERROR GOTO FileNameERROROPEN FileNameA$ FOR INPUT AS #1LOCATE 10, 20: PRINT "请输入解密后的文件名:";LINE INPUT FileNameB$: FileNameB$ = LTRIM$(RTRIM$(UCASE$(FileNameB$)))OPEN FileNameB$ FOR OUTPUT AS #2 CALL InputPassword ON ERROR GOTO TypeERROR SEEK #1, 251 '定义1号文件指针位置 DO ReadPassword$ = INPUT$(2, #1) '读入密码 IF ReadPassword$ = "1A" THEN EXIT DO '若遇间隔符1A则停止 SurePassword$ = SurePassword$ + CHR$(VAL("&h" + ReadPassword$)) '将16进制换算为10进制 LOOP FileSeek = SEEK(1) '将当前指针位置记录下来 IF Password$ = SurePassword$ THEN COLOR 11, 6: LOCATE 15, 25: PRINT "正在解密 稍候..." COLOR 0, 7 DO ReadLine$ = INPUT$(2, #1) '由1号文件中一次读两个字符(1个16进制数) PRINT #2, CHR$(VAL("&h" + ReadLine$)); '将换算为10进制后的ASCII码转化为字符写入2号文件 LOCATE 15, 20: PRINT LTRIM$(RTRIM$(STR$(INT((SEEK(1) - FileSeek) / (LOF(1) - FileSeek) * 100)))) + "%" '在屏幕相关位置上打印工作进程
2005年08月16日 07点08分 16
level 1
笑乾坤 楼主
LOOP UNTIL EOF(1) COLOR 11, 6: LOCATE 15, 25: PRINT "解密完成 感谢使用" ELSE COLOR 15, 0: LOCATE 15, 20: PRINT "<错误> - 密码不正确" END IFCLOSE
#1, #
2END SUBSUB EncryptCOLOR 7, 1: CLSLOCATE 9, 20: PRINT "请输入需加密的文件名:";LINE INPUT FileNameA$: FileNameA$ = LTRIM$(RTRIM$(UCASE$(FileNameA$)))ON ERROR GOTO FileNameERROROPEN FileNameA$ FOR INPUT AS #1LOCATE 10, 20: PRINT "请输入加密后的文件名:";LINE INPUT FileNameB$: FileNameB$ = LTRIM$(RTRIM$(UCASE$(FileNameB$)))OPEN FileNameB$ FOR OUTPUT AS #2 CALL InputPassword '由子程序中读入密码 COLOR 11, 6: LOCATE 15, 25: PRINT "正在加密 稍侯..." PRINT #2, "WXYLOCK version B.00" '在加密后文件中打入版权信息 PRINT #2, " __ __ __ __ __ __" PRINT #2, "| | | | \ \ / / \ \ / /" PRINT #2, "| |/\| | \ /\ / \ /" PRINT
#2, "| | / \/ \ | |" PRINT #
2, "|__ /\ __| /__/ \__\ |__|" PRINT
#2, PRINT #
2, "Wang Xiao Yuan >>>> 03-18-2000" PRINT #2, "~~~~~~~~~~~~~~" + CHR$(26) FOR i = 1 TO LEN(Password$) PRINT #2, HEX$(ASC(MID$(Password$, i, 1))); '将密码中每个字符的ASCII码化为16进制后写入加密文件 NEXT i PRINT #2, "1A"; '写入一个文件结束符的ASCII码作为密码与正文件之间的间隔 COLOR 0, 7 DO IF EOF(1) AND SEEK(1) < LOF(1) THEN ReadLine$ = CHR$(26) '若1号文件结束,并且指针位置不等于文件总长,则赋ReadLine$为结束符 SEEK #1, SEEK(1) + 1 ELSE ReadLine$ = INPUT$(1, #1) '否则,ReadLine$取指针位置字符 END IF IF ASC(ReadLine$) < 16 THEN PRINT #2, "0" + HEX$(ASC(ReadLine$)); '若ReadLine$值的ASCII码小于16,在化为16进制的数字前加0 ELSE PRINT #2, HEX$(ASC(ReadLine$)); END IF LOCATE 15, 20: PRINT LTRIM$(RTRIM$(STR$(INT(SEEK(1) / LOF(1) * 100)))) + "%" '在屏幕相关位置上打印工作进程 LOOP UNTIL SEEK(1) > LOF(1)CLOSE
#1, #
2COLOR 11, 6: LOCATE 15, 25: PRINT "加密完成 感谢使用"END SUBSUB InputPasswordCOLOR 7, 0: LOCATE 12, 20, 1, 6, 7: PRINT ">> 请输入密码:";COLOR 15, 6: LOCATE 12, 34: PRINT " ": LOCATE 12, 34 '在屏幕相关位置上制作一条色带FOR i = 1 TO 10 DO: a$ = INKEY$: LOOP UNTIL a$ <> "" IF ASC(a$) = 27 THEN LOCATE , , 0: COLOR 7, 0: SYSTEM '若输入字符为ESC则关闭光标退出 IF ASC(a$) = 13 THEN EXIT FOR '若输入字符为回车则退出FOR循环 Password$ = Password$ + a$ '累加输入的字符 PRINT "*";NEXT iIF Password$ = "" THEN SYSTEM '若Password$为空串则退出COLOR 7, 0: LOCATE 13, 20: PRINT ">> 请确认密码:"; '重复输入密码,以防失误COLOR 15, 7: LOCATE 13, 34: PRINT " ": LOCATE 13, 34FOR i = 1 TO 10 DO: a$ = INKEY$: LOOP UNTIL a$ <> "" IF ASC(a$) = 27 THEN LOCATE , , 0: COLOR 7, 0: SYSTEM IF ASC(a$) = 13 THEN EXIT FOR PasswordB$ = PasswordB$ + a$ PRINT "*";NEXT iLOCATE , , 0 '关闭光标IF Password$ <> PasswordB$ THEN '若两次密码不一致则关闭光标后退出 COLOR 15, 0: LOCATE 15, 20, 0: PRINT "<错误> - 两次密码不一致" COLOR 7, 0: SYSTEMEND IFEND SUB
2005年08月16日 07点08分 17
level 1
笑乾坤 楼主
第七个:模拟copy命令。INPUT filename1$INPUT filename2$OPEN filename1$ FOR INPUT AS #1OPEN filename2$ FOR OUTPUT AS #2 a = 1 DO DO UNTIL EOF(1) LINE INPUT #1, n$ LOOP r = SEEK(1) - a: SEEK #1, a c$ = INPUT$(r,
#1) PRINT #
2, c$; IF SEEK(1) > LOF(1) THEN EXIT DO ELSE PRINT
#2, CHR$(26); END IF SEEK #
1, SEEK(1) + 1: a = SEEK(1) LOOPCLOSE
#1, #
2END
2005年08月16日 07点08分 18
level 2
我决的你的程序会不会大了一点呢?能能在缩小一点能?还有第一个程序用到了SUB子程序对不,能不能不用呢?因为子程序跳转很容易把人高混乱了谢谢你的程序
2005年08月19日 14点08分 23
level 0
谢谢,参考一下
2005年09月05日 04点09分 24
level 0
楼主一定是位编程序的高手吧?
2006年05月17日 12点05分 26
1 2 3 尾页