in BASIC. Might still be useful if you run an old CRT monitor on your shiny new X16....lol
SUN, MAY 7th 2023. Made some minor changes and additions.
Code: Select all
REM CODE TO COUNT MY DATA STATEMENTS
REM 1 RESTORE:I=0
REM 2 READ X$:I=I+1
REM 3 LOCATE 2,2:PRINT I
REM 5 GOTO 2
10 DIM CL$(50):DD = 281 : REM UPDATE DD IF ADDING MORE DATA
15 BL$=" ":FOR X = 1 TO 77:BL$=BL$+" ":NEXT X
20 UP$=CHR$(145)
40 SCREEN 0:COLOR 5, 0:CLS
50 FMINIT:FMINST 2, 133
60 GOSUB 6000
65 COLOR 5, 0
70 L= INT(RND(1)*30)+1
75 LOCATE L:FOR X = 1 TO 50:PRINT BL$:NEXT X
76 LOCATE L
100 FOR X = 1 TO 50
105 COLOR 5:J=INT(RND(1)*10)
106 IF J > 8 THEN COLOR 1
107 IF J < 4 THEN COLOR 15
108 IF J < 1 THEN COLOR 13
110 IF INT(RND(1)*20) > 16 THEN GOTO 150
120 PRINT CL$(X):SLEEP 6
130 GOTO 200
150 MG$=CL$(X):GOSUB 7000
200 NEXT X
205 SLEEP 60
210 IF INT(RND(1)*10) > 6 THEN GOSUB 7500
220 IF INT(RND(1)*100) < 32 THEN GOSUB 10000
230 GOTO 60
5999 REM LOAD IN THE CODE BLOCK: DD IS THE NUMBER OF DATA STATEMENTS
6000 RESTORE
6010 ID=INT(RND(1)*DD)+1
6015 IF ID > DD-50 THEN ID=DD-50
6100 IF ID < 5 THEN ID=0
6199 REM READ IN THE STRINGS HERE
6200 IF ID=0 THEN GOTO 6220
6210 FOR I=1 TO ID:READ X$:NEXT I
6220 FOR I= 1 TO 50
6230 READ CL$(I)
6240 NEXT I
6250 RETURN
6999 REM PRINT A MSG ONE CHAR AT A TIME
7000 C = LEN(MG$)
7010 DE = INT(RND(1)*14)+1
7040 FMVOL 2, INT(RND(1)*30)+33
7050 FOR I = 1 TO C
7060 PRINT MID$(MG$,I,1);
7065 FMDRUM 2, 26:SLEEP INT(RND(1)*DE)+2
7080 NEXT I
7085 FMVOL 2, 63
7090 PRINT:RETURN
7499 REM SCROLL THE SCREEN DOWN
7500 L = INT(RND(1)*50)+1
7510 FOR I = 1 TO L
7520 LOCATE 1,1
7530 PRINT UP$;:SLEEP 7
7540 NEXT I
7550 RETURN
9999 REM BSOD ROUTINES
10000 SCREEN $01
10010 COLOR 1, 6:CLS
10020 B1$ = HEX$(INT(RND(1)*64000)+1)
10030 B2$ = HEX$(INT(RND(1)*64000)+1)
10040 C = INT(RND(1)*5)+1
10050 IF C = 1 THEN M1$="COMMANDERX16.BIN"
10060 IF C = 2 THEN M1$="ROM.BIN"
10070 IF C = 3 THEN M1$="KERNAL.BIN"
10080 IF C = 4 THEN M1$="SYSTEM.BIN"
10085 IF C = 5 THEN M1$="BASIC.BIN"
10090 C = INT(RND(1)*8)+1
10100 IF C = 1 THEN M2$="CORRUPTED MEMORY"
10110 IF C = 2 THEN M2$="INVALID INSTRUCTION"
10120 IF C = 3 THEN M2$="FATAL HARDWARE FAULT"
10125 IF C = 4 THEN M2$="BROKEN CUP HOLDER"
10130 IF C = 5 THEN M2$="IQ FAILURE: COMPUTER OPERATOR"
10135 IF C = 6 THEN M2$="P.B.K. INTELLIGENCE FAILURE"
10140 IF C = 7 THEN M2$="STACK OVERFLOW"
10145 IF C = 8 THEN M2$="OUT OF MEMORY"
10150 COLOR 6, 15
10160 FOR C = 5 TO 9
10165 LOCATE C, 12
10170 PRINT " ";
10180 NEXT C
10260 LOCATE 6, 14
10270 PRINT "UNRECOVERABLE ERROR: * ";M2$;" *";
10280 LOCATE 7, 14
10290 PRINT "ERROR OCCURED IN : '";M1$;"' ";
10300 LOCATE 8, 14: PRINT "AT: $";B1$;":$";B2$;
10310 COLOR 1, 6
10315 C = INT(RND(1)* 5) + 1
10316 REM PICK SPECIFIC BSOD FOR TESTING C = 3
10320 IF C = 1 THEN GOTO 10500
10325 IF C = 2 THEN GOTO 10400
10326 IF C = 3 THEN GOTO 10460
10327 IF C = 4 THEN GOTO 10800
10335 LOCATE 13, 18
10340 PRINT "THERE WAS A COMPUTER THAT BROKE"
10345 LOCATE 15, 18
10350 PRINT "THEY THOUGHT IT WAS A PRACTICAL JOKE"
10355 LOCATE 17, 18
10360 PRINT "TO FIX IT THEY TRIED"
10365 LOCATE 19, 18
10370 PRINT "BUT THE CIRCUIT WAS FRIED"
10375 LOCATE 21, 18
10380 PRINT "THE CASE WAS ALL FILLED UP WITH SMOKE. "
10385 GOTO 20000
10400 LOCATE 13, 18
10405 PRINT "THERE WAS A COMPUTER SO GREAT"
10410 LOCATE 15, 18
10415 PRINT "COULDN'T WAIT TO GET IT OUT OF THE CRATE"
10420 LOCATE 17, 18
10425 PRINT "BUT WHEN I SAW IT I SIGHED"
10430 LOCATE 19, 18
10435 PRINT "AND THEN HOWLED AND CRIED"
10440 LOCATE 21, 18
10445 PRINT "IT HAD PRE-INSTALLED WINDOWS 8"
10450 GOTO 20000
10460 LOCATE 16, 27
10465 PRINT "COMMANDER X16 CRASHED"
10470 LOCATE 18, 24
10475 PRINT "SEE THE BLUE SCREEN OF DEATH"
10480 LOCATE 20, 25
10485 PRINT "YOUR SCREAMS, NO ONE HEARS"
10490 GOTO 20000
10499 REM MICKEY MOUSE BSOD
10500 C = INT(RND(1)*5)+1
10505 IF C = 1 THEN M3$="ZYKLON-B GAS"
10510 IF C = 2 THEN M3$="NEUROTOXIN-XBX"
10515 IF C = 3 THEN M3$="SULFUR ENHANCED RAW EFFLUENT"
10520 IF C = 4 THEN M3$="RIPE COW MANURE"
10525 IF C = 5 THEN M3$="JALEPENO PEPPER SPRAY"
10530 C = INT(RND(1)*6)+1
10535 IF C = 1 THEN M4$="J. CRCKIT"
10540 IF C = 2 THEN M4$="S. MCDUCK"
10545 IF C = 3 THEN M4$="GOOFY"
10550 IF C = 4 THEN M4$="MS MINNIE"
10555 IF C = 5 THEN M4$="ARIEL"
10560 IF C = 6 THEN M4$="I.C. MICKY"
10575 LOCATE 12, 10
10580 PRINT "OUR OMNIPOTENT OVERLORDS FROM THE WALT DISNEY CORP.";
10590 LOCATE 13, 10
10600 PRINT "HAVE INITIATED COPYRIGHT VIOLATION PROCEDURE. ..!..";
10610 LOCATE 14, 10
10620 PRINT "PER TOTAL MOUSE OWNERSHIP OF ALL MEDIA ! (USC 666.26 CHAP 666)";
10630 LOCATE 15, 10
10640 PRINT "THE MOUSE RESPONSE TEAM ";CHR$($81);"SPC AGENT ";M4$;
10650 PRINT CHR$($05);" IS CURRENTLY LOCKING";
10660 LOCATE 16, 10
10670 PRINT "ALL SOCIAL MEDIA AND CLOUD STORAGE ATTACHED TO THIS COMPUTER";
10680 LOCATE 18, 10
10690 PRINT "WHEN ALL MOUSE RIGHTS ARE VALIDATED AND SECURED";
10700 PRINT " AREA TO BE FLOODED ";
10710 LOCATE 19, 10
10720 PRINT "FLOOD AGENT --> : ";CHR$($81);M3$;CHR$($05);
10730 LOCATE 21, 10
10740 PRINT "ALL HAIL THE MOUSE !, ALL HAIL THE MOUSE !, ALL HAIL THE MOUSE !";
10750 GOTO 20000
10800 LOCATE 13, 18
10810 PRINT "WAS THAT THE CLICK OF A HARD DRIVE DYING?"
10815 LOCATE 14, 18
10820 PRINT "WAS THAT THE SOUND I HEARD FROM NIE."
10825 LOCATE 15, 18
10830 PRINT "FIXING THESE OLD COMPUTERS IS TRYING."
10835 LOCATE 16, 18
10840 PRINT "I YET HAVE TWO MORE DRIVES TO TRY."
10845 LOCATE 18, 18
10850 PRINT "THIS OLD TECH IT MOCKS ME."
10855 LOCATE 19, 18
10890 PRINT "TIME IS CRUEL TO TECH AND US."
10895 LOCATE 20, 18
10900 PRINT "BUT STILL WE DO THIS FOR THE CHALLENGE."
10905 LOCATE 21, 18
10910 PRINT "AS LONG AS WORKS THE SYSTEM BUS !"
10920 GOTO 20000
20000 GOSUB 30000
20010 SCREEN 0:COLOR 5,0:CLS:RETURN
30000 IF INT(RND(1)*100) < 38 THEN GOTO 30120
30004 LOCATE 29, 1
30005 X = INT(RND(1)*3)+1
30020 IF X = 1 THEN X$ = CHR$($C6)
30025 IF X = 2 THEN X$ = "."
30030 IF X = 3 THEN X$="#"
30040 FOR X = 1 TO 160
30050 COLOR 1
30060 IF INT(X/2) = X/2 THEN COLOR INT(RND(1)*3)
30070 PRINT X$;
30080 SLEEP 12
30090 NEXT X
30100 RETURN
30120 LOCATE 29, 2:COLOR 1
30150 FOR MC = 3 TO 0 STEP -1
30160 LOCATE 29, 5:PRINT " ";
30170 LOCATE 29, 5:COLOR 1:PRINT "MINS:";
30175 GOSUB 30320:PRINT MC;
30176 FMVOL 2, 63:FMDRUM 2, 33:SLEEP 5:FMDRUM 2, 56
30180 FOR SC = 60 TO 0 STEP -1
30190 LOCATE 29, 14:PRINT " ";
30195 LOCATE 29,14:COLOR 1:PRINT "SECS:";
30196 FMVOL 2, INT(RND(1)*40)+24:FMDRUM 2, 76
30200 GOSUB 30320:PRINT SC;
30220 FOR JC = 60 TO 0 STEP -1 : REM COUNT JIFFIES
30230 LOCATE 29, 24:COLOR 1:PRINT "JIFFIES: ";
30235 GOSUB 30320:LOCATE 29,32:PRINT JC;
30240 FMVOL 2, INT(RND(1)*40) + 1
30250 IF JC/10 = INT(JC/10) THEN FMDRUM 2, 56:SLEEP 1
30270 NEXT JC
30280 NEXT SC
30290 NEXT MC
30300 SLEEP 90
30310 GOTO 30400
30320 C = INT(RND(1)*15)+1:IF C = 6 THEN GOTO 30320
30330 COLOR C
30400 RETURN
50000 DATA "#INCLUDE <STDLIB.H>"
50010 DATA "#INCLUDE <COMMANDER.H>"
50020 DATA "#INCLUDE <QUANTUMLIB.H>"
50030 DATA "#INCLUDE <8-BIT_CRAY.H>"
50040 DATA " ", " ", " "
50050 DATA "PROC HIDDENSTEAL();
50060 DATA " ["
50070 DATA " CONNECTFED_RSRV('STEALTH');"
50075 DATA " QUANTUM.HACK('ALL PASSWORDS');"
50080 DATA " WHILE('MORE_USERS')["
50085 DATA " IF USER_ACCT(HASMONEY)"
50090 DATA " STEALTH_TRANS('00.05') --> MY_SWISS_ACCT;"
50095 DATA " ];"
50100 DATA " ];"
50110 DATA "RELEASE_FED;"," ","]."
50200 DATA "PROGRAM GET_DIRT_ON();"
50205 DATA " ", " "," "
50210 DATA "USES YOUTUBE, TWITTER, INSTAGRAM, IRS, DARKNET;"
50214 DATA "BEGIN"
50215 DATA " VICTIM = 'THE 8-BIT GUY'"
50217 DATA " DO"
50220 DATA " SNOOP_ON_WEB('VICTIM');"
50225 DATA " CHECK_PERSONAL_STUFF('VICTIM');"
50235 DATA " IF NOT PAID DO"
50240 DATA " PUBLISH_VICTIM_DATA('ALL SITES')"
50245 DATA " ELSE"
50250 DATA " TAKE_TROPICAL_VACAY();"
50260 DATA " "
50265 DATA " VICTIM = SELECT_NEXT_VICTIM();"," "
50270 DATA " LOOP;","END."
50300 DATA "SCREEN $01:CLS"
50305 DATA "GOSUB 2000"
50310 DATA "GOSUB 3000"
50315 DATA "GOSUB 4000"
50320 DATA " PRINT '8-BIT BATTLE ROYAL'"
50325 DATA " IF NOT DONE THEN "
50330 DATA " INPUT 'VOTE PET ';V1"
50335 DATA " INPUT 'VOTE VIC20';V2"
50340 DATA " INPUT 'VOTE C64 ';V3"
50345 DATA " INPUT 'VOTE C128 ';V4"
50350 DATA " INPUT 'VOTE TRS80';V5"
50355 DATA " INPUT 'CX16 !!! ';V6"
50360 DATA "GOSUB 5250"
50370 DATA "GOSUB 5300","CLS"
50380 DATA "PRINT 'THE WINNER IS !!!!!'; :COLOR 7,0"
50385 DATA "PRINT 'OF COURSE IT IS THE :"
50390 DATA "PRINT","PRINT"
50395 DATA "PRINT 'THE ULTIMATE COMMANDER...... X16'"," ","END"
50410 DATA "#INCLUDE <STDIO.H>"
50420 DATA "#INCLUDE <CX16.H>"
50425 DATA "#INCLUDE <EINSTEIN.H>"
50430 DATA "#INCLUDE <8-BIT.H>"
50435 DATA " ", " ", " "
50440 DATA "PROC COMMANDER();
50445 DATA " "," ",
50448 DATA " ["
50450 DATA " PCB-DESIGN('MAKE_8_BIT');"
50455 DATA " ADD-SCARCE_SOUNDCHIP('YM2151');"
50460 DATA " WHILE('ENTICE USERS WITH FUN')"
50462 DATA " ["
50465 DATA " IF USER_(HAS_FUN)"
50470 DATA " BE_NICE_TO --> 8_BIT_GUY;"
50475 DATA " ];"
50480 DATA " ];"
50520 DATA "PUBLIC VOID QUICKSORT(INT ARR[], INT BEGIN, INT END) ["
50530 DATA " IF (BEGIN < END) ["
50540 DATA " INT PARTITIONINDEX = PARTITION(ARR, BEGIN, END);"
50550 DATA " QUICKSORT(ARR, BEGIN, PARTITIONINDEX-1);"
50560 DATA " QUICKSORT(ARR, PARTITIONINDEX+1, END); ]]"
50570 DATA "PRIVATE INT PARTITION(INT ARR[], INT BEGIN, INT END) ["
50580 DATA " INT PIVOT = ARR[END];"
50590 DATA " INT I = (BEGIN-1);"
50600 DATA " FOR (INT J = BEGIN; J < END; J++) ["
50610 DATA " IF (ARR[J] <= PIVOT) ["
50620 DATA " I++;"
50630 DATA " INT SWAPTEMP = ARR[I];"
50640 DATA " ARR[I] = ARR[J];"
50650 DATA " ARR[J] = SWAPTEMP; ]"
50660 DATA " INT SWAPTEMP = ARR[I+1];"
50670 DATA " ARR[I+1] = ARR[END];"
50680 DATA " ARR[END] = SWAPTEMP;"
50690 DATA " "," RETURN I+1;","]"," "," "," END."
50710 DATA " LW 1,0,A # R1 <- A"
50715 DATA " LW 2,0,B # R2 <- B"
50720 DATA " BNE 1,2,NEXT # IF (A != B) SKIP TO NEXT"
50725 DATA " SW 1,0,C # C = A"
50730 DATA " SW 2,0,D # D = B"
50735 DATA " LW 1,0,A # R1 <- A"
50740 DATA " LW 2,0,B # R2 <- B"
50745 DATA " BNE 1,2,THEN # IF (A != B) SKIP TO THEN"
50750 DATA " JUMP NEXT # REQUIRES UNCONDITIONAL JUMP"
50755 DATA " SW 1,0,C # C = A"
50760 DATA " SW 2,0,D"
50765 DATA " LW 1,0,A # R1 <- A"
50770 DATA " LUI 2,$8000 # R2 <- 1000 0000"
50775 DATA " NAND 3,1,2 # R3 <- A NAND 10000000"
50780 DATA " ADDI 2,0,-1 # R2 <- 1111 1111"
50785 DATA " BNE 3,2, NEXT # IF (A < 0) SKIP TO NEXT"
50790 DATA " NAND 1,1,1 # R1 <- A NAND A (FLIPS BITS)"
50795 DATA " ADDI 1,1,1 # R1 <- A (ADDS ONE TO THE COMPLEMENT)"
50800 DATA " SW 1,0,B # B = -A"
50805 DATA " LW 1,0,A # R1 <- A"
50810 DATA " LUI 2, $8000 # R2 <- 1000 0000"
50815 DATA " NAND 3,1,2 # R3 <- A NAND 10000000"
50820 DATA " ADDI 2,0,-1 # R2 <- 1111 1111"
50825 DATA " BNE 3,2,NEXT # IF (A < 0) SKIP TO NEXT"
50830 DATA " SW 1,0,B # B = A"
50835 DATA " LW 1,0,A # R1 <- A"
50840 DATA " LW 2,0,B # R2 <- B"
50845 DATA " BNE 1,2,ANEB # IF (A != B) SKIP TO ANEB"
50850 DATA "AEQB: LW 1,0,C # R1 <- C"
50855 DATA " ADDI 1,1,1 # C += 1"
50860 DATA " SW 1,0,C # STORE C"
50865 DATA " JUMP NEXT # (ASSUMES UNCONDITIONAL JUMP)"
50870 DATA "ANEB: ADD 1,1,2 # R1 <- A + B"
50875 DATA " SW 1,0,D # D = A + B"
50880 DATA " LW 1,0,A # R1 <- A"
50885 DATA " LW 2,0,B # R2 <- B"
50890 DATA " BNE 1,2,NOTEQL # IF (A == B) SKIP TO EQUAL"
50895 DATA "EQUAL: LW 1,0,C # R1 <- C"
50900 DATA " ADDI 1,1,1 # C += 1"
50905 DATA " SW 1,0,C # STORE C"
50910 DATA " JUMP NEXT"
50915 DATA "NOTEQL: NAND 2,2,2 # R2 <- B NAND B (FLIPS BITS)"
50920 DATA " ADDI 2,2,1 # R2 <- -B"
50925 DATA " ADD 3,1,2 # R3 <- A - B"
50930 DATA " LUI 4, $8000 # R4 <- 1000 0000"
50935 DATA " NAND 3,3,4 # R3 <- (A - B) NAND 10000000"
50940 DATA " ADDI 4,0,-1 # R4 <- 1111 1111"
50945 DATA " BNE 3,4,ALTB # IF (A - B) < 0 SKIP TO ALTB"
50950 DATA "AGTB: SW 2,0,A # A = -B"
50995 DATA " JUMP NEXT # GOTO NEXT "
51000 DATA "ALTB: NAND 1,1,1 # R1 <- A NAND A (FLIPS BITS)"
51005 DATA " ADDI 1,1,1 # R1 <- -A"
51010 DATA " SW 1,0,B # B = -A"
51015 DATA " LW 1,0,A # R1 <- A"
51020 DATA " LW 2,0,JADDR # R2 <- ADDR OF SUBR"
51025 DATA " BNE 1,0,ANEZ # IF (A == 0) SKIP TO AEQZ"
51030 DATA "AEQZ: LW 5,0,D # R5 <- D"
51035 DATA " JALR 2,7 # JUMP TO SUBR, LINK IN R7"
51040 DATA " SW 5,0,D # D++;"
51045 DATA " JUMP NEXT # SKIP TO NEXT"
51050 DATA "ANEZ: LUI 3, $8000 # R3 <- 1000 0000"
51055 DATA " NAND 4,1,3 # R4 <- A NAND 10000000"
51060 DATA " ADDI 3,0,-1 # R3 <- 1111 1111"
51065 DATA " BNE 4,3,ALTZ # IF (A < 0) SKIP TO ALTZ"
51070 DATA "AGTZ: LW 5,0,C # R5 <- C"
51075 DATA " JALR 2,7 # JUMP TO SUBR, LINK IN R7"
51080 DATA " SW 5,0,C # C++;"
51090 DATA " JUMP NEXT # SKIP TO NEXT"
51095 DATA "ALTZ: LW 5,0,B # R5 <- B"
51100 DATA " JALR 2,7 # JUMP TO SUBR, LINK IN R7"
51105 DATA " SW 5,0,B # B++;"
51110 DATA " JUMP NEXT # SKIP TO NEXT"
51115 DATA "SUBR: ADD 6,5,5 # R6 = R5 * 2"
51120 DATA " ADD 6,6,6 # R6 *= 2 (NOW R6 = R5 * 4)"
51125 DATA " ADDI 6,6,-1 # R6 = R6 - 1"
51130 DATA " ADD 1,1,6 # A += ( X * 4 ) - 1"
51135 DATA " SW 1,0,A # STORE A"
51140 DATA " ADDI 5,5,1 # R5++"
51145 DATA " JALR 7,0 # RETURN FROM SUBROUTINE"
51150 DATA "NEXT: ..."
51155 DATA " JADDR: .FILL SUBR"," "," "
51200 DATA " ", "PROGRAM MADD();"
51205 DATA " "," "," "
51210 DATA "USES COLDWAR, NATO, FISSION, FUSION, BLITZ;"
51215 DATA " "," "," "
51220 DATA "BEGIN"
51225 DATA " EVALUATE-THREAT('CHINA');"
51230 DATA " EVALUATE-THREAT('IRAN');"
51235 DATA " EVALUATE-THREAT('NORTH KOREA');"
51240 DATA " EVALUATE-THREAT('RUSSIA');
51245 DATA " EVALUATE-THREAT('NON STATE ACTORS AND MINOR POWERS');
51250 DATA " "," "
51255 DATA " IF THREAT >= TO HIGH"
51260 DATA " BEGIN"
51265 DATA " DEPLOY-ALL-SSBNS;"
51270 DATA " IF MINOR-POWER THREAT"
51275 DATA " DEPLOY-SPEC-FORCES(KILL-THREAT, NO-MERCY)"
51280 DATA " ELSE"
51285 DATA " EMPLOY-DIPLOMACY-WITH-THREAT;
51290 DATA " IF NOT THREAT-ABATED"
51295 DATA " DO"
51300 DATA " CHECK-THREAT-STATUS();"
51305 DATA " EMPLOY-COUNTER-MEASURES();"
51310 DATA " IF NUKED
51311 DATA " BEGIN"
51315 DATA " LAUNCH-RESPONSE();
51320 DATA " GOTO ENDGAME;
51325 DATA " END;"
51330 DATA " LOOP UNTIL THREAT-ABATED();
51335 DATA " ELSE"
51340 DATA " MAINTAIN-ALERT-STATUS(THREATS);
51345 DATA "END.", " "
51355 DATA "IMPORT JAVAX.SWING.*;"
51360 DATA "IMPORT JAVA.AWT.*;"
51365 DATA "IMPORT JAVA.AWT.EVENT.*;"
51370 DATA "IMPORT JAVA.IO.*;"
51375 DATA "IMPORT JAVAX.SWING.TEXT.*;"
51380 DATA "IMPORT JAVA.TEXT.*;"
51385 DATA "IMPORT JAVA.UTIL.*;"
51390 DATA "IMPORT JAVAX.SWING.UNDO.*;"
51395 DATA "IMPORT JAVAX.SWING.EVENT.*;"
51400 DATA "IMPORT JAVA.NET.*;"," "
51430 DATA "<?XML VERSION='1.0' ENCODING='UTF-8'?>"
51440 DATA "<PROJECT VERSION='4'>"
51450 DATA " <COMPONENT NAME='PROJECTMODULEMANAGER'>"
51460 DATA " <MODULES>"
51470 DATA " <MODULE FILEURL='FILE://$PRJECT_DIR$/PASSWORD-GENERATOR.IML'/"
51480 DATA " </MODULES>"
51490 DATA " </COMPONENT>"
51500 DATA "</PROJECT>", " "
51510 DATA " //ACTION FOR NEW FILE ON THE TOOLBAR"
51515 DATA " NEWFILE.ADDACTIONLISTENER( NEW ACTIONLISTENER()"
51520 DATA " ["
51525 DATA " PUBLIC VOID ACTIONPERFORMED(ACTIONEVENT E)"
51530 DATA " ["
51535 DATA " OPENED = FALSE;"
51540 DATA " IF(AREA.GETTEXT().EQUALS(''))"
51545 DATA " ["
51550 DATA " SYSTEM.OUT.PRINT('TEXT IS EMPTY');"
51555 DATA " ]"
51560 DATA " ELSE"
51565 DATA " ["
51570 DATA " INT CONFIRM = JOPTIONPANE.SHOWCONFIRMDIALOG(NULL,"
51575 DATA " 'WOULD YOU LIKE TO SAVE?',"
51580 DATA " 'NEW FILE',"
51585 DATA " JOPTIONPANE.YES_NO_CANCEL_OPTION);"," "
51590 DATA " IF( CONFIRM == JOPTIONPANE.YES_OPTION )"
51595 DATA " ["
51600 DATA " SAVEFILE();"
51610 DATA " AREA.SETTEXT(NULL);"
51615 DATA " STATUSPANEL.REMOVEALL();"
51620 DATA " STATUSPANEL.VALIDATE();"
51625 DATA " ]"
51630 DATA " ELSE"
51635 DATA " IF( CONFIRM == JOPTIONPANE.CANCEL_OPTION )"
51640 DATA " []"
51645 DATA " ELSE IF( CONFIRM == JOPTIONPANE.NO_OPTION )"
51650 DATA " ["
51655 DATA " AREA.SETTEXT(NULL);"
51660 DATA " STATUSPANEL.REMOVEALL();"
51665 DATA " STATUSPANEL.VALIDATE();"
51670 DATA " ]"
51675 DATA " ]"
51680 DATA " ]"
51685 DATA " ]);"," "," "