***********************
dwage
100 REM --------------------
110 REM CopyRight Programing by.Dai Fukuoka 2017-10-11
120 REM RemainAndWage / PlatForm Service of Dennougumi
130 REM --------------------
140 CONSOLE 0,2,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,7,2:CLS 3
150 IF POINT(639,479)=POINT(639,399) THEN SHOWVIEW=1 ELSE SHOWVIEW=-1
160 DIM CSV(9999,13):DIM MASK(9999,13):DIM CSV$(9999,13):DIM FLAG(9999)
170 DIM METHODHORIZONTAL(80):DIM METHODVERTICAL(25):DIM FLAG$(9999)
180 DIM DEEPHORIZONTAL(80):DIM DEEPVERTICAL(25)
190 DIM CHANGESORT(9999,13):DIM CHANGESORT$(9999,13)
200 DIM MAPINGNOW(640,480):LET EXPARENT=0:LET I=0:LET T=0:LET X=0:LET Y=0
210 DIM JOBNUM(9999):DIM JOB$(999,370):DIM WAGE(999,370):DIM PAY(999,370)
220 DIM NAMENUM$(9999):DIM TIMEWAGE(999,370):DIM REMAIN(999,370)
230 DIM RESON$(999,370):DIM REPORT$(999,370):DIM RESULTLEVEL$(999,370)
240 DIM TOTALREMAIN(999,370):DIM TOTALWAGE(999,370):DIM TOTALDAY(999,370)
250 DIM DATEYY$(999,370):DIM YYCOUNT(999):DIM STARTYY(999)
260 DIM PROFILE$(999,10):DIM ISTATUS(999,10):DIM COMMENT$(999,10)
270 GOTO *STARTUP
280 *START
290 IF OPERATOR=1 THEN *EMPLOYED
300 *AVOID IF OPERATOR=1 THEN PRINT "面接の受付は複数同時に受付できません。最終のものから優先して受付を致します。"
310 PRINT "現在の電算機の時刻は次です。";DATE$;" ";TIME$
320 INPUT "被雇用者氏名番号を指定してください:",JOBNUM:IF NOT NAMENUM$(JOBNUM)="" THEN GETON=1
330 IF GETON=1 THEN GETON=0:GOTO *STARTSEC
340 *TOPICS GETNUM=0:FOR I=1 TO 999:IF NAMENUM$(I)=NAMENUM$(JOBNUM) AND NOT NAMENUM$(JOBNUM)="" THEN GETNUM=I:I=999
350 NEXT:IF NAMENUM$(JOBNUM)="" THEN INPUT "登録されていない従業情報です。(0:終了,1:登録):",SIGNINLOG
360 IF SIGNINLOG=1 THEN *ACCEPTINQUIRY ELSE *START
370 *STARTSEC
380 PRINT "使用者の雇用している氏名は";NAMENUM$(JOBNUM);"です。"
390 STARTYY=1
400 IF NOT DATEYY$(JOBNUM,TARM)=DATE$ THEN LET YY=VAL(LEFT$(DATE$,2))
410 IF VAL(LEFT$(DATE$,2))
420 TOTALWAGE(JOBNUM,1)=361:TARM=YYCOUNT(JOBMUM)
430 IF DATEYY$(JOBNUM,TARM)="" THEN DATEYY$(JOBNUM,TARM)=DATE$:PRINT "雇用開始年度は";DATEYY$(JOBNUM,TARM);"です。":STARTYY=VAL(LEFT$(DATE$,2))
440 INPUT "選択してください 0:出勤,1:早退,2:退勤,3:残業,4:休日出勤,5:有給休暇:",EVENTCONTROL
450 IF EVENTCONTROL=0 THEN *WORKSTART ELSE IF EVENTCONTROL=1 THEN *ESCAPEIS ELSE IF EVENTCONTROL=2 THEN *RETURNHOME
460 IF EVENTCONTROL=3 THEN *REMAIN ELSE IF EVENTCONTROL=4 THEN *VACATIONWORK ELSE IF EVENTCONTROL=5 THEN *PAYVACATION
470 END
480 *REMAIN
490 PRINT "残業の目安は、2週間土日休みで、週5日間、2週で、5日間時間外労働を2時間こなせます。残業理由には、人間関係や、職場の都合に左右されることがあります。"
500 PRINT "通常就業時間は、8時間のものと、6時間のものが通常です。"
510 INPUT "残業時間を入力してください。(0:1時間,1:2時間,2:3時間,3:4時間以上,4:協定外労働):",REMAINDUTY
520 IF NOT DATEYY$(JOBNUM,TARM)=DATE$ THEN TOTALREMAIN(JOBNUM,1)=0:TOTALWAGE(JOBNUM,1)=0:TOTALDAY(JOBNUM,1)=0:DATEYY$=DATE$
530 IF TOTALWAGE(JOBNUM,1)>360 THEN PRINT "被雇用者は、今年分雇用協定の残業時間が超えていて、やむ得ない場合を除き、残業できません。残業には理由状を添えてください。";TOTALWAGE(JOBNUM,1);"時間残業しました。"
540 IF TOTALWAGE(JOBNUM,1)>360 THEN INPUT "残業理由(半角255文字以内)",RESON$:IF LEN(RESON$)<255 THEN ELSE *REMAIN
550 COMMENT$(JOBNUM,1)=PLAN$:COMMENT$(JOBNUM,2)=ENDCOMM$:COMMENT$(JOBNUM,3)=RESON$
560 ISTATUS(JOBNUM,4)=SLEEP:ISTATUS(JOBNUM,5)=SICK
570 ISTATUS(JOBNUM,1)=LEVEL:ISTATUS(JOBNUM,2)=TROUBLE:ISTATUS(JOBNUM,3)=HEALTH
580 *LISTEN
590 INPUT "作業達成度を評価してください(0:未達成,1:滞る,2:普通,3:ある程度,4:良い):",LEVEL
600 INPUT "人間関係の評価をしてください(0:苛められた,1:叱られた,2:何もなかった,3:褒められた,4:完璧にこなした):",TROUBLE
610 INPUT "終業の反省文を半角255文字以内で入力してください:",ENDCOMM$
620 INPUT "健康状態の評価(0:とても優れない,1:悪い,2:普通,3:やや元気,4:良い):",HEALTH
630 INPUT "睡眠の質(0:かったるい,1:眠い,2:作業に差し支え無い,3:労働可,4:優れる):",SLEEP
640 INPUT "傷病について(0:出勤した,1:薬などを忘れた,2:特に傷病なし,3:介護した,4:治った):",SICK
650 ISTATUS(JOBNUM,1)=LEVEL:ISTATUS(JOBNUM,2)=TROUBLE:ISTATUS(JOBNUM,3)=HEALTH
660 ISTATUS(JOBNUM,4)=SLEEP:ISTATUS(JOBNUM,5)=SICK
670 COMMENT$(JOBNUM,1)=PLAN$:COMMENT$(JOBNUM,2)=ENDCOMM$:COMMENT$(JOBNUM,3)=RESON$
680 GOTO *LOOPOUT
690 *DUTY
700 INPUT "本日の業務目標を半角255文字以内で入力してください",PLAN$
710 INPUT "健康状態の評価(0:とても優れない,1:悪い,2:普通,3:やや元気,4:良い):",HEALTH
720 INPUT "睡眠の質(0:かったるい,1:眠い,2:作業に差し支え無い,3:労働可,4:優れる):",SLEEP
730 INPUT "傷病について(0:出勤した,1:薬などを忘れた,2:特に傷病なし,3:介護した,4:治った):",SICK
740 COMMENT$(GETNUM,1)=PLAN$:COMMENT$(GETNUM,2)=ENDCOMM$:COMMENT$(GETNUM,3)=RESON$
750 ISTATUS(GETNUM,1)=LEVEL:ISTATUS(GETNUM,2)=TROUBLE:ISTATUS(GETNUM,3)=HEALTH
760 ISTATUS(GETNUM,4)=SLEEP:ISTATUS(GETNUM,5)=SICK
770 GOTO *LOOPOUT
780 *ESCAPEIS
790 GOTO *LISTEN:END
800 *WORKSTART
810 GOTO *DUTY
820 *PAYVACATION
830 END
840 *RETURNHOME
850 GOTO *LISTEN:END
860 *VACATIONWORK
870 GOTO *DUTY
880 *ENDJOB
890 CLS 3:END
900 *LOOPOUT
910 IF EVENTCONTROL="0" THEN LOGIN="1:LOGOUT=0:STARTTIME$=TIME$:STARTTIME=VAL(LEFT$(TIME$,2)):INPUT" "受付しました。どうぞ気をつけて勤務してください",A:GOTO *WROTE
920 IF EVENTCONTROL="1" OR EVENTCONTROL="2" OR EVENTCONTROL="3" THEN LOGIN="0:LOGOUT=1:ENDTIME$=TIME$:ENDTIME=VAL(LEFT$(TIME$,2)):DUTYTIME=ENDTIME-STARTTIME:PRINT" "本日の就業時間は";DUTYTIME;"です。"
930 IF EVENTCONTROL="3" AND DUTYTIME>8 AND NOT STARTTIME=0 THEN PRINT "勤務時間外労働と確認しました。異なる場合は、時間を整してください。":PRINT "超過時間は";DUTYTIME-8;"です。"OK
940 GOTO *WROTE
950 *WROTE
960 OFN$="TagWage.txt":OPEN OFN$ AS 1
970 IF EOF(1)=0 THEN ENDOFFILE=-1
980 CLOSE 1
990 OPEN OFN$ FOR OUTPUT AS #1
1000 FOR I=1 TO 999
1010 WRITE #1,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1020 WRITE #1,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1030 WRITE #1,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1040 NEXT
1050 CLOSE #1
1060 OPEN LEFT$(DATE$,2)+MID$(DATE$,4,2)+RIGHT$(DATE$,2)+".txt" FOR OUTPUT AS #1
1070 FOR I=1 TO 999
1080 WRITE #1,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1090 WRITE #1,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1100 WRITE #1,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1110 NEXT
1120 CLOSE #1
1130 GOTO *START
1140 *SIGNUP
1150 *ACCEPTINQUIRY
1160 OPERATOR=1:PRINT "面接希望の申請を受け付けました。履歴を入力してください。"
1170 INPUT "名前:",NAMES$:INPUT "住所:",ADDRESS$:INPUT "電話番号:",TEL$
1180 INPUT "最終学歴(通信制を除く):",SCHOOL$:INPUT "卒業年度:",GURADUATION$
1190 INPUT "関係資格:",LISENCES$:INPUT "希望職位:",HOPE$:INQUIRYDATE$=DATE$
1200 NAMENUM$(JOBNUM)=NAMES$:PROFILE$(JOBNUM,1)=ADDRESS$:PROFILE$(JOBNUM,2)=TEL$:PROFILE$(JOBNUM,3)=SCHOOL$
1210 PROFILE$(JOBNUM,4)=GURADUATION$:PROFILE$(JOBNUM,5)=LISENCE$:PROFILE$(JOBNUM,6)=HOPE$:PROFILE$(JOBNUM,7)=INQUIRYDATE$
1220 OFN$="TagWage.txt"
1230 *WROTEINQUIRY
1240 *IDINPUT
1250 PRINT NAMES$;ADDRESS$;TEL$;SCHOOL$;GURADUATION$;LISENCES$;HOPE$;INQUIRYDATE$
1260 IF EMPLOYID=0 THEN *LOOKAT ELSE *START
1270 *LOOKAT
1280 FOR I=1 TO 999:IF NOT NAMES$=NAMENUM$(I) THEN PRINT "同じ名前があります。":GOTO *START
1290 NEXT
1300 NAMENUM$(GETNUM)=NAMES$:GOTO *START
1310 *EMPLOYED
1320 INPUT "0:人事以外,1:人事責任者:",REPLYEMPLOY
1330 IF REPLYEMPLOY=0 THEN *AVOID
1340 IF REPLYEMPLOY=1 THEN INPUT "オペレーターナンバー:",OPNUM$
1350 IF OPNUM$="1-1-1-1" THEN ELSE *EMP
1360 PRINT "面接申請の受付がありました。係員が確認します。"
1370 FOR I=2 TO 1000:IF NAMENUM$(I)="" THEN GETNUM=I-1:I=1000
1380 NEXT
1390 PRINT "申請日付は";INQUIRYDATE$;"です。確認するには、パスワードを入力してください。登録番号は、";GETNUM;"です。氏名は";NAMES$;"です。"
1400 *EMP
1410 INPUT "アイデンティティと、パスワードを付与を許可しますか?(0:許可,1:却下):",EMPLOYID
1420 IF EMPLOYID=1 THEN *START
1430 IF EMPLOYID=0 THEN OPERATOR=0:NAMENUM$(GETNUM)=NAMES$:GOTO *LOOKAT
1440 *ENTERGROUP
1450 GOTO *START
1460 *STARTUP
1470 OPEN "TagWage.txt" FOR INPUT AS #2
1480 FOR I=1 TO 999
1490 INPUT #2,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1500 INPUT #2,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1510 INPUT #2,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1520 NEXT
1530 CLOSE #2
1540 GOTO *START
少し長めのソースのコードのソフトです。ホストコンピュータに、全社員が一斉に、雇用状況を一つのコンピュータにアクセスし、就業状態のデーターベースを一括してまとめます。98ベーシックが一つしか必要ないなど利点があり、NEC PC-9801でも互換しますが、一台の状況があれば、不特定多数が、データーベースに集約され、機能をするほか、結果をCSV形式で出力します。CSVをメモ帳(NotePad)でアクセスすることで参照します。雇用状況が全員のものが、一台でトラブル状況、作業効率、作業態度などを自主報告させ、また、新規の人は、オペレーターが入会を許可すれば、入れます。登録に登記すると、他の人と同じように、ストレス、人間関係、目標達成感など雇用を基本的に鑑定します。これを自主報告に基づくもので、何かがあれば即座に報告されることが出来ます。本プログラムは、比較的リスクの少ないプログラムですが、ソースコードが少し長いです。
dwage
100 REM --------------------
110 REM CopyRight Programing by.Dai Fukuoka 2017-10-11
120 REM RemainAndWage / PlatForm Service of Dennougumi
130 REM --------------------
140 CONSOLE 0,2,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,7,2:CLS 3
150 IF POINT(639,479)=POINT(639,399) THEN SHOWVIEW=1 ELSE SHOWVIEW=-1
160 DIM CSV(9999,13):DIM MASK(9999,13):DIM CSV$(9999,13):DIM FLAG(9999)
170 DIM METHODHORIZONTAL(80):DIM METHODVERTICAL(25):DIM FLAG$(9999)
180 DIM DEEPHORIZONTAL(80):DIM DEEPVERTICAL(25)
190 DIM CHANGESORT(9999,13):DIM CHANGESORT$(9999,13)
200 DIM MAPINGNOW(640,480):LET EXPARENT=0:LET I=0:LET T=0:LET X=0:LET Y=0
210 DIM JOBNUM(9999):DIM JOB$(999,370):DIM WAGE(999,370):DIM PAY(999,370)
220 DIM NAMENUM$(9999):DIM TIMEWAGE(999,370):DIM REMAIN(999,370)
230 DIM RESON$(999,370):DIM REPORT$(999,370):DIM RESULTLEVEL$(999,370)
240 DIM TOTALREMAIN(999,370):DIM TOTALWAGE(999,370):DIM TOTALDAY(999,370)
250 DIM DATEYY$(999,370):DIM YYCOUNT(999):DIM STARTYY(999)
260 DIM PROFILE$(999,10):DIM ISTATUS(999,10):DIM COMMENT$(999,10)
270 GOTO *STARTUP
280 *START
290 IF OPERATOR=1 THEN *EMPLOYED
300 *AVOID IF OPERATOR=1 THEN PRINT "面接の受付は複数同時に受付できません。最終のものから優先して受付を致します。"
310 PRINT "現在の電算機の時刻は次です。";DATE$;" ";TIME$
320 INPUT "被雇用者氏名番号を指定してください:",JOBNUM:IF NOT NAMENUM$(JOBNUM)="" THEN GETON=1
330 IF GETON=1 THEN GETON=0:GOTO *STARTSEC
340 *TOPICS GETNUM=0:FOR I=1 TO 999:IF NAMENUM$(I)=NAMENUM$(JOBNUM) AND NOT NAMENUM$(JOBNUM)="" THEN GETNUM=I:I=999
350 NEXT:IF NAMENUM$(JOBNUM)="" THEN INPUT "登録されていない従業情報です。(0:終了,1:登録):",SIGNINLOG
360 IF SIGNINLOG=1 THEN *ACCEPTINQUIRY ELSE *START
370 *STARTSEC
380 PRINT "使用者の雇用している氏名は";NAMENUM$(JOBNUM);"です。"
390 STARTYY=1
400 IF NOT DATEYY$(JOBNUM,TARM)=DATE$ THEN LET YY=VAL(LEFT$(DATE$,2))
410 IF VAL(LEFT$(DATE$,2))
430 IF DATEYY$(JOBNUM,TARM)="" THEN DATEYY$(JOBNUM,TARM)=DATE$:PRINT "雇用開始年度は";DATEYY$(JOBNUM,TARM);"です。":STARTYY=VAL(LEFT$(DATE$,2))
440 INPUT "選択してください 0:出勤,1:早退,2:退勤,3:残業,4:休日出勤,5:有給休暇:",EVENTCONTROL
450 IF EVENTCONTROL=0 THEN *WORKSTART ELSE IF EVENTCONTROL=1 THEN *ESCAPEIS ELSE IF EVENTCONTROL=2 THEN *RETURNHOME
460 IF EVENTCONTROL=3 THEN *REMAIN ELSE IF EVENTCONTROL=4 THEN *VACATIONWORK ELSE IF EVENTCONTROL=5 THEN *PAYVACATION
470 END
480 *REMAIN
490 PRINT "残業の目安は、2週間土日休みで、週5日間、2週で、5日間時間外労働を2時間こなせます。残業理由には、人間関係や、職場の都合に左右されることがあります。"
500 PRINT "通常就業時間は、8時間のものと、6時間のものが通常です。"
510 INPUT "残業時間を入力してください。(0:1時間,1:2時間,2:3時間,3:4時間以上,4:協定外労働):",REMAINDUTY
520 IF NOT DATEYY$(JOBNUM,TARM)=DATE$ THEN TOTALREMAIN(JOBNUM,1)=0:TOTALWAGE(JOBNUM,1)=0:TOTALDAY(JOBNUM,1)=0:DATEYY$=DATE$
530 IF TOTALWAGE(JOBNUM,1)>360 THEN PRINT "被雇用者は、今年分雇用協定の残業時間が超えていて、やむ得ない場合を除き、残業できません。残業には理由状を添えてください。";TOTALWAGE(JOBNUM,1);"時間残業しました。"
540 IF TOTALWAGE(JOBNUM,1)>360 THEN INPUT "残業理由(半角255文字以内)",RESON$:IF LEN(RESON$)<255 THEN ELSE *REMAIN
550 COMMENT$(JOBNUM,1)=PLAN$:COMMENT$(JOBNUM,2)=ENDCOMM$:COMMENT$(JOBNUM,3)=RESON$
560 ISTATUS(JOBNUM,4)=SLEEP:ISTATUS(JOBNUM,5)=SICK
570 ISTATUS(JOBNUM,1)=LEVEL:ISTATUS(JOBNUM,2)=TROUBLE:ISTATUS(JOBNUM,3)=HEALTH
580 *LISTEN
590 INPUT "作業達成度を評価してください(0:未達成,1:滞る,2:普通,3:ある程度,4:良い):",LEVEL
600 INPUT "人間関係の評価をしてください(0:苛められた,1:叱られた,2:何もなかった,3:褒められた,4:完璧にこなした):",TROUBLE
610 INPUT "終業の反省文を半角255文字以内で入力してください:",ENDCOMM$
620 INPUT "健康状態の評価(0:とても優れない,1:悪い,2:普通,3:やや元気,4:良い):",HEALTH
630 INPUT "睡眠の質(0:かったるい,1:眠い,2:作業に差し支え無い,3:労働可,4:優れる):",SLEEP
640 INPUT "傷病について(0:出勤した,1:薬などを忘れた,2:特に傷病なし,3:介護した,4:治った):",SICK
650 ISTATUS(JOBNUM,1)=LEVEL:ISTATUS(JOBNUM,2)=TROUBLE:ISTATUS(JOBNUM,3)=HEALTH
660 ISTATUS(JOBNUM,4)=SLEEP:ISTATUS(JOBNUM,5)=SICK
670 COMMENT$(JOBNUM,1)=PLAN$:COMMENT$(JOBNUM,2)=ENDCOMM$:COMMENT$(JOBNUM,3)=RESON$
680 GOTO *LOOPOUT
690 *DUTY
700 INPUT "本日の業務目標を半角255文字以内で入力してください",PLAN$
710 INPUT "健康状態の評価(0:とても優れない,1:悪い,2:普通,3:やや元気,4:良い):",HEALTH
720 INPUT "睡眠の質(0:かったるい,1:眠い,2:作業に差し支え無い,3:労働可,4:優れる):",SLEEP
730 INPUT "傷病について(0:出勤した,1:薬などを忘れた,2:特に傷病なし,3:介護した,4:治った):",SICK
740 COMMENT$(GETNUM,1)=PLAN$:COMMENT$(GETNUM,2)=ENDCOMM$:COMMENT$(GETNUM,3)=RESON$
750 ISTATUS(GETNUM,1)=LEVEL:ISTATUS(GETNUM,2)=TROUBLE:ISTATUS(GETNUM,3)=HEALTH
760 ISTATUS(GETNUM,4)=SLEEP:ISTATUS(GETNUM,5)=SICK
770 GOTO *LOOPOUT
780 *ESCAPEIS
790 GOTO *LISTEN:END
800 *WORKSTART
810 GOTO *DUTY
820 *PAYVACATION
830 END
840 *RETURNHOME
850 GOTO *LISTEN:END
860 *VACATIONWORK
870 GOTO *DUTY
880 *ENDJOB
890 CLS 3:END
900 *LOOPOUT
910 IF EVENTCONTROL="0" THEN LOGIN="1:LOGOUT=0:STARTTIME$=TIME$:STARTTIME=VAL(LEFT$(TIME$,2)):INPUT" "受付しました。どうぞ気をつけて勤務してください",A:GOTO *WROTE
920 IF EVENTCONTROL="1" OR EVENTCONTROL="2" OR EVENTCONTROL="3" THEN LOGIN="0:LOGOUT=1:ENDTIME$=TIME$:ENDTIME=VAL(LEFT$(TIME$,2)):DUTYTIME=ENDTIME-STARTTIME:PRINT" "本日の就業時間は";DUTYTIME;"です。"
930 IF EVENTCONTROL="3" AND DUTYTIME>8 AND NOT STARTTIME=0 THEN PRINT "勤務時間外労働と確認しました。異なる場合は、時間を整してください。":PRINT "超過時間は";DUTYTIME-8;"です。"OK
940 GOTO *WROTE
950 *WROTE
960 OFN$="TagWage.txt":OPEN OFN$ AS 1
970 IF EOF(1)=0 THEN ENDOFFILE=-1
980 CLOSE 1
990 OPEN OFN$ FOR OUTPUT AS #1
1000 FOR I=1 TO 999
1010 WRITE #1,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1020 WRITE #1,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1030 WRITE #1,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1040 NEXT
1050 CLOSE #1
1060 OPEN LEFT$(DATE$,2)+MID$(DATE$,4,2)+RIGHT$(DATE$,2)+".txt" FOR OUTPUT AS #1
1070 FOR I=1 TO 999
1080 WRITE #1,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1090 WRITE #1,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1100 WRITE #1,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1110 NEXT
1120 CLOSE #1
1130 GOTO *START
1140 *SIGNUP
1150 *ACCEPTINQUIRY
1160 OPERATOR=1:PRINT "面接希望の申請を受け付けました。履歴を入力してください。"
1170 INPUT "名前:",NAMES$:INPUT "住所:",ADDRESS$:INPUT "電話番号:",TEL$
1180 INPUT "最終学歴(通信制を除く):",SCHOOL$:INPUT "卒業年度:",GURADUATION$
1190 INPUT "関係資格:",LISENCES$:INPUT "希望職位:",HOPE$:INQUIRYDATE$=DATE$
1200 NAMENUM$(JOBNUM)=NAMES$:PROFILE$(JOBNUM,1)=ADDRESS$:PROFILE$(JOBNUM,2)=TEL$:PROFILE$(JOBNUM,3)=SCHOOL$
1210 PROFILE$(JOBNUM,4)=GURADUATION$:PROFILE$(JOBNUM,5)=LISENCE$:PROFILE$(JOBNUM,6)=HOPE$:PROFILE$(JOBNUM,7)=INQUIRYDATE$
1220 OFN$="TagWage.txt"
1230 *WROTEINQUIRY
1240 *IDINPUT
1250 PRINT NAMES$;ADDRESS$;TEL$;SCHOOL$;GURADUATION$;LISENCES$;HOPE$;INQUIRYDATE$
1260 IF EMPLOYID=0 THEN *LOOKAT ELSE *START
1270 *LOOKAT
1280 FOR I=1 TO 999:IF NOT NAMES$=NAMENUM$(I) THEN PRINT "同じ名前があります。":GOTO *START
1290 NEXT
1300 NAMENUM$(GETNUM)=NAMES$:GOTO *START
1310 *EMPLOYED
1320 INPUT "0:人事以外,1:人事責任者:",REPLYEMPLOY
1330 IF REPLYEMPLOY=0 THEN *AVOID
1340 IF REPLYEMPLOY=1 THEN INPUT "オペレーターナンバー:",OPNUM$
1350 IF OPNUM$="1-1-1-1" THEN ELSE *EMP
1360 PRINT "面接申請の受付がありました。係員が確認します。"
1370 FOR I=2 TO 1000:IF NAMENUM$(I)="" THEN GETNUM=I-1:I=1000
1380 NEXT
1390 PRINT "申請日付は";INQUIRYDATE$;"です。確認するには、パスワードを入力してください。登録番号は、";GETNUM;"です。氏名は";NAMES$;"です。"
1400 *EMP
1410 INPUT "アイデンティティと、パスワードを付与を許可しますか?(0:許可,1:却下):",EMPLOYID
1420 IF EMPLOYID=1 THEN *START
1430 IF EMPLOYID=0 THEN OPERATOR=0:NAMENUM$(GETNUM)=NAMES$:GOTO *LOOKAT
1440 *ENTERGROUP
1450 GOTO *START
1460 *STARTUP
1470 OPEN "TagWage.txt" FOR INPUT AS #2
1480 FOR I=1 TO 999
1490 INPUT #2,NAMENUM$(I),PROFILE$(I,1),PROFILE$(I,2),PROFILE$(I,3),PROFILE$(I,4),PROFILE$(I,5),PROFILE$(I,6),PROFILE$(I,7)
1500 INPUT #2,ISTATUS(I,1),ISTATUS(I,2),ISTATUS(I,3),ISTATUS(I,4),ISTATUS(I,5)
1510 INPUT #2,COMMENT$(I,1),COMMENT$(I,2),COMMENT$(I,3)
1520 NEXT
1530 CLOSE #2
1540 GOTO *START
少し長めのソースのコードのソフトです。ホストコンピュータに、全社員が一斉に、雇用状況を一つのコンピュータにアクセスし、就業状態のデーターベースを一括してまとめます。98ベーシックが一つしか必要ないなど利点があり、NEC PC-9801でも互換しますが、一台の状況があれば、不特定多数が、データーベースに集約され、機能をするほか、結果をCSV形式で出力します。CSVをメモ帳(NotePad)でアクセスすることで参照します。雇用状況が全員のものが、一台でトラブル状況、作業効率、作業態度などを自主報告させ、また、新規の人は、オペレーターが入会を許可すれば、入れます。登録に登記すると、他の人と同じように、ストレス、人間関係、目標達成感など雇用を基本的に鑑定します。これを自主報告に基づくもので、何かがあれば即座に報告されることが出来ます。本プログラムは、比較的リスクの少ないプログラムですが、ソースコードが少し長いです。