福岡だいの動画と、同人誌の販売

同人誌 動画 プログラム 情報処理 アート グラフィックス 有償 2018年創業

就業管理プログラム シスアド10 解法

2019-03-20 03:53:37 | 日記
***********************
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)でアクセスすることで参照します。雇用状況が全員のものが、一台でトラブル状況、作業効率、作業態度などを自主報告させ、また、新規の人は、オペレーターが入会を許可すれば、入れます。登録に登記すると、他の人と同じように、ストレス、人間関係、目標達成感など雇用を基本的に鑑定します。これを自主報告に基づくもので、何かがあれば即座に報告されることが出来ます。本プログラムは、比較的リスクの少ないプログラムですが、ソースコードが少し長いです。

コミニュケーションプログラム シスアド9

2019-03-20 03:52:40 | 日記
*************
TopicMaster

100 REM --------------------
110 REM Programing by Dai Fukuoka TopicMaster (C)2017.04.17-5.19(FRI)
120 REM Development Soft by Dennougumi(C)電脳組
130 REM --------------------
140 CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,0,1:WIDTH 80,25:CLS 3:PAGE=1
150 DIM CSV$(9999,11):DIM CSV(9999,11):DIM METHOD$(9999,11):DIM METHOD(9999,11)
160 DIM LOC1(80):DIM LOC2(25):DIM VUID$(9999):DIM CHECKLIST$(999)
170 DIM UPASS$(9999):DIM COMMENTLOG$(999):LET COUNT=1:DIM RESS$(999)
180 IF POINT(639,399)=POINT(639,479) THEN SHOWMODE=1:GOTO *SCREENSKIP
190 FOR I=1 TO 9999:VUID$(I)="":UPASS$(I)="":NEXT
200 FOR I=1 TO 999:CHECKLIST$(I)="United":NEXT
210 FOR T=1 TO 80:LOC1(T)=(T*8):NEXT:FOR I=1 TO 25:LOC2(I)=(I*16):NEXT
220 LINE(LOC1(0),LOC2(0))-(LOC1(80),LOC2(1)),1,BF
230 LINE(LOC1(0),LOC2(2))-(LOC1(80),LOC2(22)),1,BF
240 LINE(LOC1(0),LOC2(24))-(LOC1(80),LOC2(25)),1,BF
250 LINE(LOC1(7),LOC2(2))-(LOC1(7),LOC2(22)),6
260 LINE(LOC1(14),LOC2(2))-(LOC1(14),LOC2(22)),6
270 LINE(LOC1(19),LOC2(2))-(LOC1(19),LOC2(22)),6
280 GOTO *STANDBY
290 *SCREENSKIP
300 FOR T=1 TO 80:LOC1(T)=(T*8):NEXT:FOR I=1 TO 25:LOC2(I)=(I*19):NEXT
310 LINE(LOC1(0),LOC2(0))-(LOC1(80),LOC2(1)),1,BF
320 LINE(LOC1(0),LOC2(2))-(LOC1(80),LOC2(22)),1,BF
330 LINE(LOC1(0),LOC2(24))-(LOC1(80),LOC2(25)),1,BF
340 LINE(LOC1(7),LOC2(2))-(LOC1(7),LOC2(22)),6
350 LINE(LOC1(14),LOC2(2))-(LOC1(14),LOC2(22)),6
360 LINE(LOC1(19),LOC2(2))-(LOC1(19),LOC2(22)),6
370 GOTO *STANDBY
380 *SYSTEMUP
390 LOCATE 0,22:INPUT "Mode:1.Certifacation Account/2.Administrator Login/3.Registry(1-3) :",MODE1:CLS:IF MODE1<1 OR MODE1>3 THEN *SYSTEMUP
400 IF MODE1=1 THEN *M1 ELSE IF MODE1=2 THEN *M2 ELSE *M3
410 *M1 LOCATE 0,22:INPUT "User Account Identify (6 Count) :",UID$:CLS
420 FOR CHECK=1 TO 9999:IF UID$=VUID$(CHECK) THEN CHECKED=CHECK:CHECK=9999
430 NEXT CHECK:CLS:IF CHECKED=0 THEN *SYSTEMUP
440 IF MODE1=1 THEN LOCATE 0,22:INPUT "User's Pass Word (6 Count) :",IPASS$:CLS
450 IF LEN(IPASS$)=6 OR LEN(IPASS$)=5 THEN LFLAG=1 ELSE *SYSTEMUP
460 FOR CHECK=1 TO 9999:IF UID$=VUID$(CHECK) THEN CHECKED=CHECK
470 NEXT CHECK
480 IF IPASS$=UPASS$(CHECKED) THEN LOGON=1
490 IF LOGON=1 THEN LOCATE 0,22:INPUT "Your Enter Topic Accept Login :",A:COUNT=COUNT+1:CLS:GOTO *START ELSE LOCATE 0,22:MODE1=3:GOTO *M3
500 *M3 LOCATE 0,22:INPUT"Registry Mode:1.New Sign In/2.Delete Account/3.Support (1-3) :",REG:CLS:IF REG<1 OR REG>3 THEN *SYSTEMUP
510 IF REG=2 THEN LOCATE 0,22:INPUT "Thread Number (1-999) :",THREAD:CLS:IF THREAD<1 OR THREAD>999 THEN *SYSTEMUP
520 IF REG=2 AND NOT UID$=VUID$(THREAD) THEN LOCATE 0,22:INPUT "Missing Account ID Name's :",A:GOTO *SYSTEMUP
530 IF REG<1 OR REG>3 THEN *SYSTEMUP
540 IF REG=2 THEN LOCATE 0,22:INPUT "Usre's Pass Word (6 count) :",UPASS$(COUNT):IF NOT LEN(UPASS$)=6 THEN *SYSTEMUP
550 IF REG=1 THEN LOCATE 0,22:INPUT "Create Your Thread ID (6 Count ID Word) :",UID$:GOTO *PASSWORDREMIND ELSE *START
560 LOCATE 0,22:INPUT "Success :",A:GOTO *START
570 *M2 LOCATE 0,22:INPUT"Oparator Login:1.TopicMasterAccount/2.ChangeAccount/3.Threade Delete (1-3) :",ADAC:CLS
580 IF ADAC<1 OR ADAC>3 THEN *SYSTEMUP
590 IF ADAC=3 THEN LOCATE 0,22:INPUT "Thread Number (1-999) :",DT1:CLS:IF DT1<1 OR DT1>999 THEN *SYSTEMUP
600 IF ADAC=3 THEN LOCATE 0,22:INPUT "Administrator Pass Word :",ADPS$:CLS:IF NOT LEN(ADPS$)=19 THEN *SYSTEMUP
610 FOR CHECK=1 TO 9999:IF ADPS$=UPASS$(CHECK) THEN CHECKED=CHECK:UID$=VUID$(CHECKED)
620 NEXT CHECK
630 IF ADAC=2 THEN LOCATE 0,22:INPUT "Administrator Old PassWord :",OPASS$:CLS:IF NOT LEN(OPASS$)=19 THEN *SYSTEMUP
640 IF ADAC=2 THEN LOCATE 0,22:INPUT "New Changing Administorator PassWord (4-4-4-4) :",NCAP$:CLS
650 IF ADAC=2 THEN IF NOT LEN(NCAP$)=19 THEN *SYSTEMUP
660 IF ADAC=2 THEN LOCATE 0,22:INPUT "Changed Success :",A:IDFLAG=1:GOTO *START
670 IF ADAC=1 THEN LOCATE 0,22:INPUT "Topic Master Login :",LOGINTM$
680 IF ADAC=1 AND LEN(LOGINTM$)=19 THEN IF ADPS$=LOGINTM$ THEN *CERTIFIAD
690 END IF
700 *PASSWORDREMIND
710 FOR CHECK=1 TO 9999:IF NOT VUID$(CHECK)="" AND UPASS$(CHECK)="" THEN VUID$(CHECK)=""
720 NEXT CHECK:
730 AA$=MID$(TIME$,1,2):BB$=MID$(TIME$,4,2):CC$=MID$(TIME$,7,2)
740 AA=VAL(AA$):BB=VAL(BB$):CC=VAL(CC$):AA=AA*10000:BB=BB*100:CC=CC*1:
750 LOCATE 0,0:PRINT AA+BB+CC
760 IPASS$=MID$(STR$(AA+BB+CC),2,6):IF UPASS$(CHECKED)=IPASS$ THEN VUIDA$(CHECKED)="":GOTO *PASSWORDREMIND
770 IF CHECK>9999 THEN CLS:LOCATE 0,22:PRINT IPASS$;:INPUT " Check Remarks Your ID's PassWord :",A:UPASS$(COUNT)=IPASS$:CHECKLIST$(COUNT)=UID$:VUID$(COUNT)=UID$
780 FOR I=1 TO 9999:IF UPASS$(I)="" THEN VUID$(I)=""
790 NEXT I
800 IF COUNT<1000 THEN *START
810 FOR CHECK=2 TO 999:CHECKLIST$(CHECK-1)=CHECKLIST$(CHECK):COMMENTLOG$(CHECK-1)=COMMENTLOG$(CHECK)
820 CHECKLIST$(999)=UID$:COMMENTLOG$(999)="":NEXT CHECK:CLS:LOCATE 0,22:INPUT "That ID Inserted :",A:GOTO *SYSTEMUP
830 *START CLS
840 FOR I=1+SHOWCOUNT TO 20+SHOWCOUNT:LOCATE 0,I+1:PRINT VUID$(I):LOCATE 7,I+1:PRINT RESS$(I);:LOCATE 14,I+1:PRINT I;:LOCATE 20:PRINT COMMENTLOG$(I)
850 NEXT
860 LOCATE 0,22:PRINT "Your Enter Login":LET TC=1
870 *TIMEBK WHILE TC<2 :TIMED$=TIME$
880 IF NOT TIMED$=TIME$ THEN TC="TC+1
890" WEND:LOCATE 0,22:PRINT SPACE$(79)
900 *TIMESKIP
910 *SHOWDISPLAY
920 IF TURNPOINT="0" THEN TURNPOINT="1
930" FOR I="1" TO 20:LOCATE 0,I+1:PRINT VUID$(I+SHOWCOUNT):LOCATE 7,I+1:PRINT RESS$(I+SHOWCOUNT);:LOCATE 14,I+1:PRINT I+SHOWCOUNT;:LOCATE 20:PRINT COMMENTLOG$(I+SHOWCOUNT)
940 NEXT
950 IF TURNPOINT="1" THEN ELSE IF TURNPOINT="2" THEN ELSE *RESSLOOP
960 *RESSLOOP
970 LOCATE 0,0:PRINT "Write Your Comment :":LOCATE 0,1:INPUT "",COMM$
980 IF COMM$="" THEN *RESSLOOP
990 LOCATE 0,0:PRINT SPACE$(79):LOCATE 0,1:PRINT SPACE$(79)
1000 LOCATE 0,0:PRINT "Response Thread ID /Pass is My Thread :":LOCATE 0,1:INPUT "",RESST$
1010 LOCATE 0,0:PRINT SPACE$(79):LOCATE 0,1:PRINT SPACE$(79)
1020 LOCATE 0,0:PRINT "Log Out User 0:No/1:Yes :":LOCATE 0,1:INPUT "",LOGOUTIS$
1030 LOCATE 0,0:PRINT SPACE$(79):LOCATE 0,1:PRINT SPACE$(79)
1040 IF COMM$="" OR LEN(COMM$)>=59 THEN *RESSLOOP
1050 COMMENTLOG$(COUNT)=COMM$:RESS$(COUNT)=RESST$
1060 IF RESST$="" THEN RESST$=UID$
1070 IF RESS$(COUNT)="" THEN RESS$(COUNT)=UID$
1080 IF LOGOUTIS$="" THEN ELSE IF LOGOUTIS$="1" THEN TURNPOINT=2:GOTO *LOGOUT
1090 FOR CHECK=1 TO 999:IF RESST$=RESS$(CHECK) THEN CHECKED=CHECK:CHECK=999
1100 NEXT CHECK:IF NOT RESST$=RESS$(CHECKED) THEN *RESSLOOP
1110 VUID$(COUNT)=UID$:COMMENTLOG$(COUNT)=COMM$:RESS$(COUNT)=RESST$
1120 IF PAGECOUNT=0 THEN PAGECOUNT=1
1130 IF COUNT>20*PAGECOUNT THEN PAGECOUNT=PAGECOUNT+1:SHOWCOUNT=(PAGECOUNT*20)-20:CLS
1140 COUNT=COUNT+1:GOTO *SHOWDISPLAY
1150 *STANDBY
1160 IF ADPS$="" THEN ADPS$="7750-2310-9690-1255"
1170 OPEN "TMLOG" AS 1:LFLAG=EOF(1):CLOSE 1:IF LFLAG=0 THEN *SYSTEMUP
1180 OPEN "TMLOG" FOR INPUT AS #1:FOR I=1 TO 999:INPUT #1,COMMENTLOG$(I),CHECKLIST(I),RESS$(I):NEXT:CLOSE #1
1190 OPEN "TMDATA" FOR INPUT AS #1:FOR I=1 TO 9999:INPUT #1,VUID$(I),UPASS$(I):NEXT:CLOSE #1
1200 OPEN "TMSEC" FOR INPUT AS #1:INPUT #1,ADPS$,UID$,IPASS$,RESST$,SHOWCOUNT,PAGECOUNT:CLOSE #1
1210 IF ADPS$="" THEN ADPS$="7750-2310-9690-1255"
1220 GOTO *SYSTEMUP
1230 *LOGOUT
1240 COUNT=COUNT+1
1250 IF TURNPOINT=0 THEN *SYSTEMUP
1260 IF ADPS$="" THEN ADPS$="7750-2310-9690-1255"
1270 OPEN "TMLOG" AS 2:LFLAG=EOF(2):CLOSE 2
1280 OPEN "TMLOG" FOR OUTPUT AS #2:FOR I=1 TO 999:WRITE #2,COMMENTLOG$(I),CHECKLIST$(I),RESS$(I):NEXT:CLOSE #2
1290 OPEN "TMDATA" FOR OUTPUT AS #2:FOR I=1 TO 9999:WRITE #2,VUID$(I),UPASS$(I):NEXT:CLOSE #2
1300 OPEN "TMSEC" FOR OUTPUT AS #2:WRITE #2,ADPS$,UID$,IPASS$,RESST$,SHOWCOUNT,PAGECOUNT:CLOSE #2
1310 IF TURNPOINT=2 THEN *STANDBY ELSE END
1320 *CERTIFIAD
1330 LOCATE 0,22:INPUT "Menu 1.RestoreData 2.DocumentCopy 3.ReTurn :",AD01$:CLS
1340 IF AD01$="1" THEN *SHOWDISPLAY ELSE IF AD01$="2" THEN *DOCUMENTCOPY ELSE *SYSTEMUP
1350 *DOCUMENTCOPY LOCATE 0,22:INPUT "Type Txt Import Okay ?:",ASKIT1$:CLS
1360 LOCATE 0,22:INPUT "Change FileName / Pass is Accept :",ASKIT2$:CLS
1370 IF ASKIT2$="" THEN *OPERATOR ELSE *NEWFILENAMEADD1
1380 *OPERATOR
1390 OPEN "TMLOG.txt" AS 2:ENDOFFILES=EOF(2):CLOSE 2
1400 OPEN "TMLOG.txt" FOR OUTPUT AS #2:FOR I=1 TO 999:WRITE #2,COMMENTLOG$(I),CHECKLIST$(I),RESS$(I):NEXT:CLOSE #2
1410 OPEN "TMDATA.txt" FOR OUTPUT AS #2:FOR I=1 TO 9999:WRITE #2,VUID$(I),UPASS$(I):NEXT:CLOSE #2
1420 OPEN "TMSEC.txt" FOR OUTPUT AS #2:WRITE #2,ADPS$,UID$,IPASS$,RESST$,SHOWCOUNT,PAGECOUNT:CLOSE #2
1430 GOTO *SYSTEMUP
1440 *NEWFILENAMEADD1
1450 CFN$=ASKIT2$+"LOG.txt"
1460 OPEN CFN$ AS 2:ENDOFFILES=EOF(2):CLOSE 2
1470 OPEN CFN$ FOR OUTPUT AS #2:FOR I=1 TO 999:WRITE #2,COMMENTLOG$(I),CHECKLIST$(I),RESS$(I):NEXT:CLOSE #2
1480 CFN$=ASKIT2$+"DATA.txt"
1490 OPEN CFN$ FOR OUTPUT AS #2:FOR I=1 TO 9999:WRITE #2,VUID$(I),UPASS$(I):NEXT:CLOSE #2
1500 CFN$=ASKIT2$+"SEC.txt"
1510 OPEN CFN$ FOR OUTPUT AS #2:WRITE #2,ADPS$,UID$,IPASS$,RESST$,SHOWCOUNT,PAGECOUNT:CLOSE #2
1520 GOTO *SYSTEMUP

ロケーション関数をグラフィック座標で、カラムとラインの位置を、調整します。それによって、変数に文字幅が格納され、仮想関数を実現します。おもに、罫線の作成に使われる仮想関数です。その後の物も、時刻から自働でパスワードを振り分けたり、シンクロ座標から、空白のパスワードのIDを詰めて、ログインした回数で自働名簿を行います。また、番号を指定して該当順のメッセージレスポンスに対して、パスワードの入力と、記事の削除の機能の付加や、同じパスワードにログインする機能、ログイン時に、2秒経過すると、エントリー出来るように改良したりしました。主にこのソフトは、基本的なシーケンシャルを備えている他、メッセージログを溜めることと出力することが出来ます。主に食指を、サービス機関に設置されたコンピュータ上で、98Basicで動作します。空港等に配置することにより、インターネット感覚でオフラインコミュニケーションを実現します。

This is Useing Virtual Function " LOC1 " And "LOC2 " is Automation A Justment Coordination at Cloumn And Line Inputing.Line-Out with on Drawing Virtual Function of Location Program,Next ITEM is Time-Pass-Word-Remind with No Synchronize List,This List is Delete Spacing Login Information,Slead Number Appointment Pass-Word Check It,Inquiry Same Pass-Word Gatein Delete Execution.This Program is Entery Same Time Wait 2 Second Times,Type Log is Entry Start.This Interface CSV Data Base is Standard 98 Basic Activity,Target User Service Area Examin Air Port and Install With 98Basic,This Program is Feeling of Internet Communication Compleate Offline BBS.


専売証券 不動産会社 シスアド8 解法

2019-03-20 03:51:23 | 日記
********************
Estate Stock Market


100 REM --------------------
110 REM Programing by Dai Fukuoka Estate Stock Market
120 REM (C)2017.03.24-04.12 Rev.2017-04-24
130 REM Development Soft by Dennougumi(C)電脳組
140 REM --------------------
150 CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,0,1:WIDTH 80,25:CLS 3:PAGE=1
160 DIM CSV$(999,12):DIM CSV(999,12):DIM METHOD$(999,12):DIM METHOD(999,12)
170 DIM ACCOUNTIT(12,99):DIM CLOSEYEAR(99):LET PAGE=1:YEARS=1
180 IF POINT(639,399)=POINT(639,479) THEN SHOWMODE=1
190 LOCATE 0,0:PRINT "Estate Stock Market,User Must Reply Item in Method Case."
200 LOCATE 0,1:PRINT "不動産証券に計算式の場合、使用者は、項目を返答しなければなりません"
210 LOCATE 0,2:PRINT "User Must Total Estate Account Reply Exist Now"
220 LOCATE 0,3:PRINT "使用者は、不動産経理の今の合算を答えなければなりません"
230 LOCATE 0,4:PRINT "User Need Key Board Typing with on Reply Ask it."
240 LOCATE 0,5:PRINT "返事を尋ねるそれの使用者は、キーボード入力を必要とします"
250 LOCATE 0,6:PRINT "User Plan is 2 Type Category on 30 Exparent Type (\6,000,000) or 50 Exparent Type (\100,000,000) Choicen It."
260 LOCATE 0,8:PRINT "使用者の計画は2種類あり、30指数6千万円と、50指数1億円あります、これを選択します"
270 LOCATE 0,10:PRINT "All Alloment is Exchange Estate Fix Tax After Some Tax by Issue StockMarket."
280 LOCATE 0,11:PRINT"全部の配当は、固定不動産税のあと、同じ税によって証券発行をします"
290 LOCATE 0,12:PRINT "User Account is Decision Mounth Sale in 1 Year Total Tax Credit Debt."
300 LOCATE 0,13:PRINT "使用者の経理の結論は、月の売り上げを1年の合算税として、売掛します"
310 LOCATE 0,14:PRINT "This Stock Market is Target Estate Insurance Tax With Control."
320 LOCATE 0,15:PRINT "この証券は、不動産保険税を対象としています、また一緒に調整します"
330 LOCATE 0,16:PRINT "This Contents have 30 Exparent Category is First Park,Farm,Security, Secound FirePlace Last City Office Use Insurance."
340 LOCATE 0,18:INPUT "Next Clause Pages:",PAGE$:CLS
350 LOCATE 0,0:PRINT "この内容は、30指数の種類は、公園、農園、証券のものと、次に防火区域権、最後に、市役所が使う保険があります"
360 LOCATE 0,2:PRINT "This Contents have 50 Exparent Category is First Cigarette,Secound Alcoholic Tax Third Low-Justice Tax Force Order-Gudge Tax Last Safe Poket Cargo Tax."
370 LOCATE 0,4:PRINT "この内容は50指数の種類は、初めに煙草税、次に酒税、次に、弁護税、次に裁判税、最後に安全小包税"
380 LOCATE 0,6:PRINT "This StockMarket Account Sale is 100PerCapital Body,Addit 100PerCapital is Contract Accessment"
390 LOCATE 0,11:PRINT "20割の経理収入は20割中2割、所得税2割、固定資産税1割、雇用3割、雇用枠最大人数指数"
400 LOCATE 0,9:PRINT "This 200Per Account is Incoming 20Per and Income Tax 20Per and Estate Fix Tax is 10Per Empolyment 30Per Tax and Low Line is 6Member High Line is Exparent."
410 LOCATE 0,11:PRINT "20割の経理は収入は20割中2割、所得税2割、固定資産税1割、雇用3割、雇用枠最大指数人数"
420 LOCATE 0,13:PRINT "煙草税は、精機、半導体に対応する、高い資材コスト、酒税は、総務と、販売士だけの一般市場、安全小包税は、主に、運輸業に充てられる"
430 LOCATE 0,15:PRINT "Cigarette is Worker Unit Cost Low Plan with HighIncoming,Alcoholic is Target Sale Plan with General,Sefe Pocket Post Office is TransPort Tax."
440 LOCATE 0,17:PRINT "このプログラムは、期間を月で開始し、その間、同じペースで増え、売上猶予を付け、不動産保険税証明書のかかる金額を、30と、50指数とします"
450 LOCATE 0,19:PRINT "This Program is Terms in Begin Mounth Between Some Timming Addit Sale Delay and Since Insurance Tax Cost All Count Total Exparent 30,50"
460 LOCATE 0,21:INPUT "Next Clause Pages:",PAGE$:CLS
470 *START
480 LOCATE 0,0:INPUT "12ヶ月間始める月を答えてください/Between 12 Mounth Reply Begin Mounth :",CSV(PAGE,1)
490 IF CSV(PAGE,1)=0 THEN *START
500 LOCATE 0,1:INPUT "売掛をする年数を答てください/Reply Credit Debit Close Year Mounth :",CSV(PAGE,2)
510 IF CSV(PAGE,2)=0 THEN *START
520 LOCATE 0,2:INPUT "日本円と比較する通貨の単価を答えてください/Reply Amount Ratio Exchange Compare Japan Yen to It:",CSV(PAGE,3)
530 IF CSV(PAGE,3)=0 THEN *START
540 LOCATE 0,4:INPUT "地方圏の最大個数を答えてください/Reply to Region Place and Estate Insurance Tax StockMarket Target Count It:",CSV(PAGE,4)
550 LOCATE 0,6:INPUT "借地権区域の最大個数を答えてください/Reply to High Density City Place and Estate Insurance Tax StockMarket Target Count It:",CSV(PAGE,5)
560 LOCATE 0,8:INPUT "剰余される税を残すか、期間を途中で停止するか0:途中停止と1:剰余加算で答えてください/Reply (0:Stop Terms) or (1:Exist Surplus Addit Amount):",CSV(PAGE,6)
570 LOCATE 0,10:INPUT "土地を不当に売却すると、禁錮3か月以上に問われる事があります、売却土地代金で税金に投資することは合法ですが、税は都市間を移動できません/Place No Buy,But Arrest 3 Mounth,Place Buy Cost Exchange Tax Not Illegal,Tax No Move City(0:Yes/1:No):",CSV(PAGE,7)
580 LOCATE 0,13:INPUT "最初の予算金額を答えてください、日本単価を換算値で換算します/Reply Start Bigin Plan Cost Unit,Japan Yen less Than to Kind Multiply Ratio(0:Yes/1:Simple) :",CSV(PAGE,8)
590 IF CSV(PAGE,8)=<0 THEN *START
600 LOCATE 0,16:INPUT "登録される市区町村を答えてください/Reply Regist Section Name:",CSV$(PAGE,9)
610 LOCATE 0,17:INPUT "オペレータの名前を答えてください/Reply Naming Operator:",CSV$(PAGE,10)
620 LOCATE 0,18:INPUT "生年月日の情報を答えてください/Reply Birth infomation Year-Mounth-Day:",CSV$(PAGE,11)
630 LOCATE 0,19:INPUT "Next Clause Pages:",PAGE$:CLS
640 SP$=" ":CSV$(PAGE,12)=DATE$+TIME$
650 *PROGRESS1
660 *STARTYEAR
670 MAXREGION=CSV(PAGE,4):MAXCITY=CSV(PAGE,5):COSTREGION=60000000:COSTHIGHCITY=100000000:BOOLIANT=0:FIRSTYEAR=STARTMOUNTH:ANUITY=59999999/CSV(PAGE,3)
680 IF CSV(PAGE,1)=>1 AND CSV(PAGE,1)=<12 THEN ELSE *START
690 IF CSV(PAGE,3)=<0 OR CSV(PAGE,8)=<0 OR CSV(PAGE,2)=<0 THEN *START
700 IF (CSV(PAGE,1)*(CSV(PAGE,8)/10)/CSV(PAGE,3))<(CSV(PAGE,4)*COSTREGION/CSV(PAGE,3))+(CSV(PAGE,5)*COSTHIGHCITY/CSV(PAGE,3)) THEN IRESULT="1" ELSE IRESULT="2
710" STARTMOUNTH="CSV(PAGE,8)*(13-CSV(PAGE,1))/10/CSV(PAGE,3)
720" PRINT "FirstYearAccount with Ratio:";CSV(PAGE,8)/10
730 FOR I="CSV(PAGE,1)" TO 12:ADD1=(CSV(PAGE,8)/10/CSV(PAGE,3)):PRINT I;"Mounth Income";ADD1;"total";CSV(PAGE,8)+(ADD1*(I+1-CSV(PAGE,1)));"Result";CSV(PAGE,8)+(ADD1*(I+1-CSV(PAGE,1)))-(COSTHIGHCITY*COUNTCITY)-(COSTREGION*COUNTREGION):NEXT
740 BEGINTOTAL="CSV(PAGE,8)+(ADD1*(13-CSV(PAGE,1)))
750" IF SUBTOTAL="<999999" THEN ERESULT="0:PRINT" "Out of Account" ELSE IF SUBTOTAL="<20000000" THEN ERESULT="1:PRINT" "Charge Enterprise Annuity and ";BEGINTOTAL
760 PRINT "Accessment Estate Insurance Place Tax is ";ADD1;"on Year.";BEGINTOTAL:PRINT " Between Term: 1"
770 COUNTIT="0:FOR" I="CSV(PAGE,1)" TO 12:COUNTIT=COUNTIT+1:ACCOUNTIT(I,YEARS)=CSV(PAGE,8)+(CSV(PAGE,8)/10*COUNTIT):NEXT
780 CLOSEYEAR(YEARS)=BEGINTOTAL
790 *RESTARTYEAR
800 IF YEARS<CSV(PAGE,2) THEN YEARS="YEARS+1" ELSE *SKIP1
810 MAXREGIONEXPARENT="(CSV(PAGE,4)*30):MAXCITYEXPARENT=(CSV(PAGE,5)*50)
820" ENTERPRISECOST="20000000:EXPARENTCOST=1D-006:REGIONEXPARENT=COSTREGION*EXPARENTCOST:HIGHCITYEXPARENT=COSTHIGHCITY*EXPARENTCOST
830" IF BEGINTOTAL>COSTREGION THEN COUNTREGION=INT(BEGINTOTAL/COSTREGION)
840 IF BEGINTOTAL>MAXREGION*COSTREGION THEN COUNTREGION=MAXREGION
850 IF BEGINTOTAL>(MAXREGION*COSTREGION)+(MAXHIGHCITY*COSTHIGHCITY) THEN COUNTCITY=MAXHIGHCITY:COUNTREGION=MAXREGION
860 IF BEGINTOTAL>(MAXREGION*COSTREGION) THEN COUNTCITY=INT(BEGINTOTAL-(COSTREGION*MAXREGION)/COSTHIGHCITY)
870 IF COUNTCITY>MAXCITY THEN COUNTCITY=MAXCITY
880 IF ((MAXREGION*COSTREGION)+(COSTHIGHCITY*MAXCITY))<BEGINTOTAL THEN SURPLUS="BEGINTOTAL-((MAXREGION*COSTREGION)+(MAXCITY*COSTHIGHCITY))
890" PRINT "Exparent";(COUNTREGION*30)+(COUNTCITY*50)
900 INPUT "Close Plan Enter Continue:",LISTEN$:ADDMOUNTH=CSV(PAGE,1)
910 IF BEGINTOTAL>=20000000 THEN OVERENTERPRISE=1 ELSE OVERENTERPRISE=0
920 PRINT "ESTATE REGION:";COUNTREGION;"/HIGH CITY:";COUNTCITY
930 IF BEGINTOTAL<COSTREGION THEN ENTERPRISE="BEGINTOTAL/10" ELSE ENTERPRISE="0
940" FOR I="1" TO 12:ADD1=(COUNTREGION*COSTREGION/20)+(COUNTCITY*COSTHIGHCITY/20)+ENTERPRISE:ACCOUNTIT(I,YEARS)=BEGINTOTAL+(ADD1*I)
950 PRINT I;"Mounth Income";ADD1;"total";BEGINTOTAL+(ADD1*I);"Result";BEGINTOTAL+(ADD1*(I+1-ADDMOUNTH))-(COSTHIGHCITY*COUNTCITY)-(COSTREGION*COUNTREGION):NEXT
960 PRINT "NextYearTotal Addition 12 Month:";BEGINTOTAL+(ADD1*12);"Income:";ADD1;"Result";BEGINTOTAL+(ADD1*(I-ADDMOUNTH))-(COSTHIGHCITY*COUNTCITY)-(COSTREGION*COUNTREGION):PRINT "Between Term:";YEARS
970 BEGINTOTAL="BEGINTOTAL+(ADD1*12):CLOSEYEAR(YEARS)=BEGINTOTAL
980" IF YEARS<=CSV(PAGE,2) THEN *RESTARTYEAR ELSE *LOADOPENFILE
990 *SKIP1
1000 *LOADOPENFILE
1010 OFN$="ESM"+MID$(DATE$,1,2)+MID$(DATE$,4,2)+MID$(DATE$,7,2)
1020 OFN2$="ESMTAG"+MID$(DATE$,1,2)+MID$(DATE$,4,2)+MID$(DATE$,7,2)
1030 OPEN OFN$ AS 1:IDENTIFY=EOF(1):CLOSE
1040 IF IDENTIFY="-1" THEN *NEWOPENFILE ELSE *SKIPOUT
1050 *NEWOPENFILE
1060 OPEN OFN$ FOR OUTPUT AS #1:T=1:FOR I="1" TO 12:WRITE #1,ACCOUNTIT(I,T):NEXT I:WRITE #1,CLOSEYEAR(T):IF YEARS=>2 THEN ELSE *LOADOPENFILE
1070 FOR T=2 TO YEARS:FOR I=1 TO 12:WRITE #1,ACCOUNTIT(I,T):NEXT I:WRITE #1,CLOSEYEAR(T):NEXT T:CLOSE #1
1080 OPEN OFN2$ AS 2:IDENTIFY=EOF(2):CLOSE #2
1090 IF IDENTIFY=-1 THEN *NEWOPENTAG ELSE *LOADFILENAME
1100 *NEWOPENTAG OPEN OFN2$ FOR OUTPUT AS #2:FOR I=1 TO 8:WRITE #2,CSV(PAGE,I):NEXT:FOR I=9 TO 12:WRITE #2,CSV$(PAGE,I):NEXT:CLOSE #2
1110 *LOADFILENAME OPEN OFN$ AS 1:LCHECK=EOF(1):CLOSE 1
1120 IF LCHECK=-1 THEN *FORWARD ELSE *SKIPOUT
1130 *FORWARD OPEN OFN2$ FOR INPUT AS #2:FOR I=1 TO 8:INPUT #2,CSV(PAGE,I):NEXT I:FOR I=9 TO 12:INPUT CSV$(PAGE,I):CLOSE #2
1140 OPEN OFN$ FOR INPUT AS #1:T=1:FOR I=CSV(PAGE,1) TO 12:INPUT #1,ACCOUNTIT(I,T):NEXT I:INPUT #1,CLOSEYEAR(T)
1150 FOR T=2 TO YEARS:FOR I=1 TO 12:INPUT #1,ACCOUNTIT(I,T):NEXT I:INPUT #1,CLOSEYEAR(T):NEXT T:CLOSE #1
1160 *SKIPOUT






パラメーターをラベル化することにより、よりオブジェクト指向に近い形でプログラミングをベーシックに実現します。完全な形でクラスは実現できませんが、全ての実数は、変数に置き換えられ、番号、、数値を使わないで、関数の各項目を入力する実践の試供は別の項目、「Dai's C Laboratory」に解説してあります。関数定義で、複数のパラメーターを、数値以外で指定することにより、ビジュアル化を図ります。これに少なくとも近い形の思想をベーシックにも実現できます。データベースの作成法等、Cとの差は有りますが、CSV規格で記録されています。特に、変数を関数化することに役に立ち、グラフィックスのインターフェイスでなくても、キャラクターベースで有っても、数値は、置き換えられます。また、変数ラベルを比較することで、入力状況を調査管理しています。概約は、一年間は、株でないかたちで剰余を運営し、2年目から倍の契約料の株に置き換えられるので、一年目の10ヶ月と、二年目の10ヶ月は、同額の収入となります。配当金の1割で資産を投資するので、追加土地証券は、5分の資産が加算されます。よって、20分の一づつのマーケットプレースを追加する約款のソフトとなっております。

Directional Object with Visual Parameter and Actural Cover Variable This Labeling to Basic Programing Compleate Exsitance,No Perfect Calss After This Character Base Interface Extanal Control No Acturalism.Class ExSample is Difference This Basic Standard Discuttion " Dai's C Laboratory ".This Original Make Function is Variable Base Method Value.This Image Directional by Basic Standard's,Differnce Sequence Archive Input Output to Visual C by Basic CSV Data Base Programing,This Make Function Variable Value is Standard JavaScript Function Like This Scripting,This Archive Basic is No Graohic Interface,No Open Actural with Virtual Function,Relational Make Function and Result to Operating Find and Control Input Output.This Agree First Year is Double Incomming 10/1 After Year by Pass Market Place Security Trading by Incomming 20/1 This Standard SoftWare.

行番号100から140は、プログラムの創作者氏名と、日付と、開発環境提供者の署名です。
Command Line 100 to 140,Signature Author By Dai Fukuoka And Date With Development Soft Ware House of Dennougumi.
行番号150は、必要な初期設定です。di
Command Line 150,System is Needed Start Settings.
行番号160、170は、配列変数(二次元配列変数)の宣言です。
Command Line 160 and 170,System is Declaration 2 Demention Two Dimensional Variable Value.
行番号180は、画面端の色彩の採取です。スクリーン画面は、白色なので、画面をはみ出しているときは、式の結果が「0:黒」、画面内の場合は、結果が「&HFFF:白」と成ります。採取位置は、639,399 or 639,479です。
Command Line 180,This View Screen Deep in Capture Color,If case No White is Value 0 Then Else 4096,Capture Point Location is Trams Horizontal of 639 with Vertical of 399(Hi-zore Display) or 479(Standard Display Settings) By Location.
行番号190から340まで、画面スクリーンに一杯に日、英表記の規定文書画面を表示します。また、340で、空変数”Page$”に、エンターの入力を受付、入力内容を検査しません。
Command Line 190 to 340,Full Fill up at View Screen,Desplay Language is Japanese and English Standard,System is Free Pass Enter Key,No Check out it on Variable Value of Pages$ by Pass.
行番号350から460は、190から340までのものの次項です。同じように”Page$”でエンターで同意して進みます。
Command Line 350 to 460 is 190 to 340 to Next Clause,Same Accept Enter Page$ on Start.
行番号470は、ラベル”Start”によってプログラムの開始が宣言されます。
Command Line 470,By Start is Declaration Program Starter.
行番号480は配列CSV(”項”,”一条”)に数値の形式で入力した数値をCSV配列に格納します。ここでは、12ヶ月内、開始月を聞いています。
Command Line 480,Arrangement Variable Value by CSV(Clause,Article) DataBase Type Number on Input Container After On Ward Start Mounth at Listen.
行番号490は、配列CSVの前行にて入力された数値の結果が「0」と等しく空の場合、その時スタートにスキップして、入力を始めからやり直します。一回も入力ミスできません。
Command Line 490,Then Front Arragement Value CSV is Result Equivalent If Case Zero,Then Skip and Back Start,Re Try and No Mistake No Get Onece.
行番号500から570までは、内容をチェックしないで日本語と英語で入力を進められます。
Command Line 500 to 570,No Check Out with Language Japanese and English to Enter.
売り掛けする年数、円単価に対するレート、地方ストック、借地ストックの上限、剰余金の額、無資格土地売買の禁止などを質問されます。其れによりCSV”(Page$,Article-6)”迄を格納します。
Allotment Dividend on Investment Program,Year,Yen Rate,Region Stock,Leased Land Stock with Highest,Surplus Account,Stop No Lisence Land Buyer,About Input Container Arragement Variable CSV Standard on CSV(Page$,Article) Save in Keeps.
行番号570からは、2尺択一で「0」と「1」で答えます。
Command Line 570 to For,User is Choice One by Two,Then 0:False 1:True Selected.
行番号630にて、空のエンターキーを、”Page$”に得ます。
Command Line by 630,This is Push Enter Key Get Empty of Page$.
システムは、回答項目が11条迄でも、12条項に日付と時間を自働で挿入します。”SP$”に空白の文字を格納します。
System is Reply to Full with Eleven Then Case Twelve Automation Insert Time Date Now.SP$ Value is Character Spacing Input Container Fill up.
行番号650、進行過程1がラベルで”Progress1”が宣言されます。
Command Line 650,Progress Step by One Label in Declare Progress1.
行番号660は、ここから年を始めます。よってラベル”STARTYEAR”を宣言します。
Command Line 660,This Point is Start Year,About by Declare Label STARTYEAR.
行番号670からは、実数のラベリングを行い、ウインドウプロシージャ(ウインドウ構造体変数)の設定例をもとに、ラベルばかりで、比較をしたり、変数のラベルを、クラス関数の代わりに使ったりする目的で、実数を覆い隠した形で、Basicにオブジェクト対策をします。実際に、本物のクラスや、定義関数と、仮想的にまったく同じには出来ませんが、最先端の技術を採用することにより、それに極限まで近づける目的があります。是により、掛けたり割ったりすることを、方程式のX,Y方程式のように比較の調査と、加算減算、割り算掛け算をします。ユーザー側は、入力された情報が覆い隠されるので、操作上は、シームレス(無階層)の平たい設定入力が出来ます。
Command Line 670 For,Actual Labeling Executed,Model Source Window Proceed Use Model Settings,Relation Static Label Method,Exchange Variable Label as Virtual Function,This is Highest Step Out Useing Technology Change Target,Private Actual Typing Objective Counter-Measurement by 98 Basic.Model Actual is Pure Class or Defintion Function No Same Virtual,Get Plan Technology is Approach Visual C to Purpose.This Case is Multiply or Divide or Addtion or Subtract Execute Method,Model Math X,Y Near Analyze.Side User is Accept Type Infomation on Hidden Private by User Can Oparation on Flat Seamles Selected Inputing.
行番号670は、地方証書上限と、借地証書上限、またその2つの価格が設定されます。
Command Line 670 is Peak Region Stock and Peak Capital Stock,And Too Setting Price.
行番号680と、690は、CSV(項、条項)を月日と、絶対値を比較します。「0」以上であるか、「0」以下であるか、また、1から12の範囲内であるかを調べて、異なる場合に、ラベル”Start”に逆戻りします。この点で、入力は、初期の地点に戻りやり直しです。前は、そのまま進めましたが、不正な値の格納を検査し、合格は00通過できます。
行番号700は、地方上限以下の判定の場合、CSV(単価)で割り、CSV(最初の予算額の1割)最初の1年目のCSV(開始月)の回数で掛け、結果を比較します。2月から始まれば、等倍の予算高を10割となります。比較は、今の結果に対して、借地上限に、借地費用を掛け、利率で割ります。それに加え、地方上限に借地費用を掛け、利率で割った場合、その時、真であればiResultは「1」と等しい、偽であればiResultは「2」と等しい。

行番号700は、インプット(入力と格納)によって、に動的に変動する入力(タイプ)に於いて、CSVが何時変更されても、数値を求めることが出来るCSV二次元配列から計算式を使っていくことは、CUIのビジュアル化に於いて、静的変数(コンストラクションバリアブル)のラベリングを行うことが重要であり、あるソースコードの位置から採取される固定式の変数データ(静的変数)の定義がオブジェクト指向に最も重要であり、動的変数を使った、CSVは、オブジェクト指向化にはあまり重要ではない。また、参照を行わないので、リンクバリアブル(アッパー記号などで扱われる連動リンキング変数)とも異なる。主に、静的にする利点は、最初の入力情報が固定化されて、いつも同じ数値を引き出せる利点が在る。この点をオブジェクト指向の課題と捉えよう。これからオブジェクト指向で求められていく要点は、方程式のように実数を持たない組織系列であり、全ての数値の位、全ての文字列の位を静的変数に変更していくことを求められていく。
行番号700は、CSV(最初の予算額)÷10÷CSV(レーティング)それのCSV(結果)<( CSV(地方券上限個数)×地方券価格÷為替レート+(借地券最大個数×借地券価格÷10÷CSV(為替レート)) )と成れば、地方、借地、レート=<CSV(結果)であれば、比較は、真となり、iResult=1とし、CSV(結果)=<地方、借地、レートであれば結果は偽となり終了する、iResult=2とする。
行番号710は、この点で開始月を定義します。静的変数(STARTMOUNTH)に始めの値を格納します。CSV(最初の予算額)×13月-CSV(開始月)>=1、CSV(開始月)<=12ならば、CSV(最初の予算額)×(13月-CSV(開始月)÷10(一月分とする)÷CSV(レーティング)の結果をSTARTMOUNTHの静的変数とする。
行番号720は、CSV(最初の予算額)÷10(初期入力した資産の一月を求めるため、1割とする)をCSV(結果)を初年度経理と利率として、画面に表示します。
行番号730は、For(ステートメント)により、積算をします。動的変数「i」にCSV(初年月)から「i」年末のファーストイアーを、結果「1」静的変数ADD1==(CSV(初期予算)÷10÷CSV(利率))とし、結果「2」は、CSV(初期予算)+(結果「1」×(動的変数「i」+1-CSV(開始月))とする。NEXTをもってI++(I=I+1)を次の条件I=<12と、I=>1を満たすものとする。
番号750は、740の「BeginTotal」再定義します。BeginTotal==CSV(初期予算)+(変数ADD1{730行を参照}×(13月-CSV(開始月))と変更する。此の更新で先の代入を不要済みとする。
行番号760は、SubTotal=<999999の比較として此の条件は、満たす場合は、eResult==0とする。その場合、画面に「Out of Account」と表示する。100万未満を無効とし、ELSEにて分岐し、
SubTotal=<20000000と比較し、真であればeResult==1とし、画面にBeginTotalの結果と、中小企業年金と、BeginTotalは、補充されたという画面に表示します。
行番号760は、一月の収入変数ADD1と、開始年合算変数BEGINTOALを表示します。
行番号770は、汎用カウンタCOUNTITが0から始まり、一年目のCSV(開始月)までをForステートメントで積算します。一月あがる毎にCOUNTITが繰り上がります。汎用配列変数2ACOUNTIT(期間,年)==CSV(最初の予算額)+CSV(最初の予算額)÷10×汎用変数COUNTITと公式となり、一月あがる毎に、最初の予算額の10分の一が加算される。NEXTステートメントで、Forステートメントを閉じます。
行番号780は、ここでは、終期の年変数CLOSEYEAR(期間年)==最初の合算として始めます。
行番号790は、飛び越すラベル*RESTARTYEARです。
行番号800は、カウンタYEARS<CSV(売り掛けする年数)を満たすとき(年のカウンタが、推定期間を超えないとき)、またその時0だったYEARSをYEARS++==YEARS=0+YEARS+1となり、YEARSが1づつ一年で増えます。ELSEステートメントにて、指定した推定期間を新規カウンタYEARSが上回る場合は、次のラベル*SKIP1に移動します。
行番号810静的変数 最大の地方指数MAXREGIONEXPARENTは、CSV(地方最大値)を、静的変数 最大の都市指数はMAXCITYEXPARENT、CSV(借地最大値)とし、静的変数に登録します。それによって、いつもCSV(指定番号)を使わないで、4条項と、5条項を使用できます。また、新しい代入を受け入れないことで、保護化を図ります。
行番号820は、中小企業年金費用 EnterPriseCost==20000000とし、60000000以上あれば、地方指数を清算します。ENTERPRISECOSTは、2千万と等しい。静的変数 指数費用は、EXPARENTCOST÷1000000とし、1D-006とは、1桁から、更に6桁差し引くので即ち百万で1指数 静的変数 EXPARENTCOSTとする。因って指数は、20となる。
行番号830は、地方費用<初期予算の場合(正しくは、初期予算>地方費用も同じ)、カウンタ地方指数==小数点切捨て(開始予算÷地方費用)と成る。この点で、開始予算が、地方予算を優越している分の整数値の静的変数 初期予算において、幾つ地方費用を払えるかを求めます。これを、カウンタCOUNTREGIONに格納します。初期予算から最初から購入できる上限まで差し引いたカウンタの数を求めます。
行番号840は、静的変数 開始予算BIGINTOTALを、上限地方費用×地方費用が初期予算<(上限値×地方費用)である公式の場合、決済可能額の範囲内であれば、カウンタ COUNTREGION==MAXREGION、つまり、地方費用のカウンタ指数は、上限と等しい。
行番号850は、BEGINTOTAL>(MAXREGION×COSTREGION)+(MAXHIGHCITY×COSTHIGHCITY)の静的変数の関係演算と、比較は、開始費用>地方指数費用合算+都市指数費用合算となり、全ての土地株指数が初期予算が上回る場合、その時、カウンタ COUNTCITY==MAXHIGHCITY,COUNTREGION==MAXREGIONとなり、差し引いても、余りがあれば、始めに宣言した静的変数 MAXREGIONとMAXHIGHCITYと同等として、超える場合は、最大値を詰めます。
行番号860は、初期予算>(地方指数×費用)を満たしている場合、地方支払いは無いものとし、カウンタ COUNTCITY==小数点切捨て(初期予算-(上限指数×費用)÷費用都市として此の公式は、COUNTCITY==(COSTREGION×MAXREGION)÷COSTHIGHCITYの静的変数による求めです。この点で、初期費用が、地方を上回る場合にカウンタCOUNTCITYに地方費用に追加した形で、都市指数を、上限を下回る形でカウンタにその指数の合算を格納します。
行番号870は、今現在のカウンタ 地方指数>上限都市として、静的変数は、 COUNTCITY>MAXCITY とし、その条件が満たすとき、またその時、カウンタ COUNTCITY==MAXCITY、カウンタ格納指数は、都市上限指数に等しいとする。
行番号880は、初期合算>((上限地方×費用)+(上限都市×費用))を二回満たす場合、その時、剰余資産==初期費用-((上限地方×費用)+(上限都市×費用))として、剰余資産の余りを求める。SURPLUS==BIGINTOTAL-(MAXREGION×COSTREGION)+(MAXCITY×COSTHIGHCITY)と静的変数の保護値同士を求める。
行番号890は、地方、都市の合算の指数を表示する。地方は、30倍、都市は50倍である。カウンタのないものは0とする。
行番号900は、空文字列 LISTEN$にキー入力を格納します。いかなる値も問いません。また後段に、ADDMOUNTH==CSV(Page,1)をして静的変数として主に呼び出しを目的とした形で代入します。
行番号910は、初期予算が、20指数以上である場合のフラグ OVERENTERPRISE==1とし、20以下を0とします。
行番号920は、地方証書の数と、都市証書の数をカウンタで個別に数字ランクを表示します。都市は、1億のコスト、地方は、6千万のコストで、今現在、採算より得られた、枚数を表示します。


住所録 解法 シスアド7

2019-03-20 03:50:42 | 日記
***************
Master Address

100 REM ---------------------
110 REM Programming by Dai Fukuoka
120 REM (C)電脳組 2016.07.06-07.15
130 REM ---------------------
140 CONSOLE 0,25,0,1:SCREEN 3,0,0,1:COLOR 0,7,0,0,1:WIDTH 80,25:CLS 3
150 DIM CSV$(10000,11):DIM CHECK$(11):DIM TITLE$(12)
160 DIM LOC1(80):DIM LOC2(25)
170 *SETSCREEN IF POINT(639,479)=POINT(639,399) THEN *RESTART
180 FOR T=1 TO 80:LOC1(T)=(T*8):NEXT:FOR I=1 TO 25:LOC2(I)=(I*16):NEXT
190 LINE(LOC1(0),LOC2(0))-(LOC1(80),LOC2(1)),5,BF
200 LINE(LOC1(0),LOC2(2))-(LOC1(80),LOC2(3)),5,BF
210 LINE(LOC1(0),LOC2(6))-(LOC1(80),LOC2(7)),5,BF
220 LINE(LOC1(0),LOC2(13))-(LOC1(80),LOC2(14)),5,BF:GOTO *TEXTBASE
230 *RESTART LINE(0,0)-(640,19),5,BF:LINE(0,57)-(640,76),5,BF
240 LINE(0,115)-(640,134),5,BF:LINE(0,172)-(640,192),5,BF
250 LINE(0,229)-(640,248),5,BF:LINE(0,286)-(640,305),5,BF
260 *TEXTBASE
270 TITLE$(1)="Card ID :":TITLE$(2)="Secure ID:":TITLE$(3)="E-Mail Address :"
280 TITLE$(4)="TelePhone :":TITLE$(5)="Name : ":TITLE$(6)="2Byte Name :"
290 TITLE$(7)="ZIP Code :":TITLE$(8)="Country,Continental,City : ":TITLE$(9)="Section,Street,Address Number :"
300 TITLE$(10)="Birth Year,Mounth,Day :":TITLE$(11)="Card Use Time Cycle Limid :"
310 *OPENFILENAME
320 CLS
330 LOCATE 0,0:PRINT "Open file Name :";:INPUT "",OFN$:IF OFN$="" THEN OFN$="StandardMA":GOTO *START
340 OPEN OFN$ AS 1
350 IF EOF(1)=-1 THEN MAKE=-1 ELSE IF EOF(1)=0 THEN MAKE=1
360 CLOSE 1
370 IF MAKE=-1 THEN *MAKEFILE ELSE IF MAKE=1 THEN *INPUTFILE
380 *INPUTFILE
390 OPEN OFN$ FOR INPUT AS #1
400 FOR I=1 TO 10000:INPUT #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(I,4),CSV$(I,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT I
410 CLOSE #1
420 *START
430 CLS : LOCATE 0,0:PRINT "Page:";:INPUT "",PAGE:LOCATE 40,0:PRINT "Lot Number:";:INPUT "",LOT
440 IF PAGE=0 OR LOT=0 THEN *OPENFILENAME
450 IF LOT=1 THEN *TRYBLOCK ELSE IF LOT=2 THEN *TRYBLOCK1
460 IF LOT=3 THEN *TRYBLOCK2
470 IF LOT=4 THEN *TRYBLOCK3 ELSE IF LOT=5 THEN *TRYBLOCK4
480 IF LOT=5 THEN *TRYBLOCK4 ELSE IF LOT=6 THEN *TRYBLOCK5
490 IF LOT=7 THEN *TRYBLOCK5 ELSE IF LOT=8 THEN *TRYBLOCK6
500 IF LOT=9 THEN *TRYBLOCK8 ELSE IF LOT=10 THEN *TRYBLOCK9
510 IF LOT=11 THEN *TRYBLOCK10
520 *TRYBLOCK LOCATE 0,1:PRINT CSV$(PAGE,1):LOCATE 0,2:INPUT "Card ID Number:(19 Count):",A$
530 ALEN=LEN(A$)
540 IF ALEN=0 THEN IF NOT CSV$(PAGE,1)="" THEN *TRYBLOCK1
550 IF NOT ALEN=19 THEN *START
560 FOR I=1 TO PAGE-1
570 IF A$=CSV$(PAGE,1) THEN *START
580 NEXT
590 FOR I=PAGE+1 TO 10000
600 IF A$=CSV$(I,1) THEN *START
610 NEXT
620 IF CSV$(PAGE,1)="" THEN CSV$(PAGE,1)=A$:GOTO *TRYBLOCK1
630 GOTO *SKIPTO
640 *MAKEFILE
650 FOR I=1 TO 11:CSV$(1,I)="":NEXT
660 FOR I=1 TO 10000:FOR T=1 TO 11:CSV$(I,T)="":NEXT T,I
670 OPEN OFN$ FOR OUTPUT AS #1
680 FOR I=1 TO 10000
690 WRITE #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(I,4),CSV$(I,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11)
700 NEXT I:CLOSE #1
710 GOTO *START
720 *SKIPTO
730 *TRYBLOCK1 LOCATE 0,4:PRINT CSV$(PAGE,2);
740 LOCATE 0,5:PRINT "Secure ID (001-9999) : ";:INPUT "",SID$
750 IF VAL(SID$)<1 AND VAL(SID$)>9999 THEN *TRYBLOCK1 ELSE *TRYBLOCK2
760 IF CSV$(PAGE,2)="" THEN CSV$(PAGE,2)=SID$:GOTO *TRYBLOCK2
770 *TRYBLOCK2 LOCATE 0,7:PRINT CSV$(PAGE,3);
780 LOCATE 0,8:PRINT "E-Mail Address : ";:INPUT "",EMA$
790 IF LEN(EMA$)=0 THEN IF NOT CSV$(PAGE,3)="" THEN *TRYBLOCK3
800 TB2$="false"
810 FOR I=1 TO LEN(EMA$):IF MID$(EMA$,I,1)="@" THEN TB2$="True"
820 NEXT I
830 IF CSV$(PAGE,3)="" THEN CSV$(PAGE,3)=EMA$
840 IF TB2$="True" THEN *TRYBLOCK3 ELSE IF TB2$="false" THEN *TRYBLOCK2
850 *TRYBLOCK3 LOCATE 0,10:PRINT CSV$(PAGE,4);
860 LOCATE 0,11:PRINT "TelePhone : ";:INPUT "",TEL$
870 IF LEN(TEL$)=0 THEN IF NOT CSV$(PAGE,4)="" THEN *TRYBLOCK4
880 IF TB3$="True" THEN *TRYBLOCK4 ELSE IF TB3$="false" THEN *TRYBLOCK3
890 IF CSV$(PAGE,4)="" THEN CSV$(PAGE,4)=TEL$
900 *TRYBLOCK4 LOCATE 0,13:PRINT CSV$(PAGE,5);
910 LOCATE 0,14:PRINT "Name English : ";:INPUT "",NAMEENG$
920 IF LEN(NAMEENG$)=0 THEN IF NOT CSV$(PAGE,5)="" THEN *TRYBLOCK5
930 IF NAMEENG$="" OR NAMEENG$=" " OR NAMEENG$="-" THEN *TRYBLOCK4
940 IF CSV$(PAGE,5)="" THEN CSV$(PAGE,5)=NAMEENFG$
950 *TRYBLOCK5 LOCATE 0,16:PRINT CSV$(PAGE,6);
960 LOCATE 0,17:PRINT "Name Japan Kanji : ";:KINPUT KANJINAME$
970 IF LEN(KANJINAME$)=0 THEN IF NOT CSV$(PAGE,6)="" THEN *TRYBLOCK6
980 IF KLEN(KANJINAME$,3)>0 THEN ELSE *TRYBLOCK5
990 IF KANJINAME$="" OR KANJINAME$=" " OR KANJINAME$="-" THEN *TRYBLOCK5
1000 IF CSV$(PAGE,6)="" THEN CSV$(PAGE,6)=KANJINAME$
1010 CLS
1020 *TRYBLOCK6 CLS:LOCATE 0,4:PRINT CSV$(PAGE,7);
1030 LOCATE 0,5:PRINT "ZIP Code : ";:INPUT "",ZIP$
1040 TB6$="false":FOR I=1 TO 79:IF MID$(ZIP$,I,1)="-" THEN TB6$="True"
1050 IF LEN(ZIP$)=0 THEN IF NOT CSV$(PAGE,7)="" THEN *TRYBLOCK7
1060 NEXT I:IF TB6$="True" THEN *TRYBLOCK7 ELSE IF TB6$="false" THEN *TRYBLOCK6
1070 IF CSV$(PAGE,7)="" THEN CSV$(PAGE,7)=ZIP$
1080 *TRYBLOCK7 LOCATE 0,7:PRINT CSV$(PAGE,8);
1090 LOCATE 0,8:PRINT "Contry And Continental and City : ";:INPUT "",ADR1$
1100 IF LEN(ADR1$)=0 THEN IF NOT CSV$(PAGE,8)="" THEN *TRYBLOCK8
1110 IF ADR1$="" OR ADR1$=" " OR ARD1$="-" THEN *TRYBLOCK7
1120 IF CSV$(PAGE,8)="" THEN CSV$(PAGE,8)=ADR1$
1130 *TRYBLOCK8 LOCATE 0,10:PRINT CSV$(PAGE,9);
1140 LOCATE 0,11:PRINT "Section and Street Number Address : ";:INPUT "",ADR2$
1150 IF LEN(ADR2$)=0 THEN IF NOT CSV$(PAGE,9)="" THEN *TRYBLOCK9
1160 IF ADR2$="" OR ADR2$=" " OR ARD2$="-" THEN *TRYBLOCK8
1170 IF CSV$(PAGE,9)="" THEN CSV$(PAGE,9)=ADR2$
1180 *TRYBLOCK9 LOCATE 0,13:PRINT CSV$(PAGE,10);
1190 LOCATE 0,14:PRINT "Birth Year-BirthMounth-BirthDay : ";:INPUT "",BIRTH$
1200 IF LEN(BIRTH$)=0 THEN IF NOT CSV$(PAGE,10)="" THEN *TRYBLOCK10
1210 IF BIRTH$="" OR BIRTH$=" " OR BIRTH$="-" THEN *TRYBLOCK9
1220 *TRYBLOCK10 LOCATE 0,16:PRINT CSV$(PAGE,11);
1230 LOCATE 0,17:PRINT "Limid MM/YY And Renewal Card : ";:INPUT "",LIMID$
1240 IF LEN(LIMID$)=0 THEN IF NOT CSV$(PAGE,11)="" THEN *CHECK
1250 TB3$="false":FOR I=1 TO LEN(LIMID$):IF MID$(LIMID$,I,1)="/" THEN TB3$="True"
1260 NEXT I
1270 IF CSV$(PAGE,11)="" THEN CSV$(PAGE,11)=LIMID$
1280 IF LEN(LIMID$)=5 OR LEN(LIMID$)=7 THEN ELSE *TRYBLOCK10
1290 *CHECK
1300 IF NOT A$="" THEN LET CSV$(PAGE,1)=A$
1310 IF NOT SID$="" THEN LET CSV$(PAGE,2)=SID$
1320 IF NOT EMA$="" THEN LET CSV$(PAGE,3)=EMA$
1330 IF NOT TEL$="" THEN LET CSV$(PAGE,4)=TEL$
1340 IF NOT NAMEENG$="" THEN LET CSV$(PAGE,5)=NAMEENG$
1350 IF NOT NAMEKANJI$="" THEN LET CSV$(PAGE,6)=NAMEKANJI$
1360 IF NOT ZIP$="" THEN LET CSV$(PAGE,7)=ZIP$
1370 IF NOT ADR1$="" THEN LET CSV$(PAGE,8)=ADR1$
1380 IF NOT ADR2$="" THEN LET CSV$(PAGE,9)=ADR2$
1390 IF NOT BIRTH$="" THEN LET CSV$(PAGE,10)=BIRTH$
1400 IF NOT LIMID$="" THEN LET CSV$(PAGE,11)=LIMID$
1410 OPEN OFN$ AS 1:OFLAG=EOF(1):CLOSE:OPEN OFN$ FOR OUTPUT AS #1
1420 FOR I=1 TO 10000:WRITE #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(I,4),CSV$(I,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT I
1430 CLOSE #1
1440 LOCATE 0,18:PRINT "0:SKIP 1:Print Mode ?:";:INPUT "",PRINTER
1450 IF PRINTER=0 THEN GOTO *START
1460 IF PRINTER=1 THEN *PRINTSCREEN
1470 *PRINTSCREEN CLS:CLS 3
1480 OPEN OFN$ FOR INPUT AS #1
1490 FOR I=1 TO 10000:INPUT #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(I,4),CSV$(I,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT I
1500 CLOSE #1
1510 COUNT=0:LC=1:FOR COUNT=1 TO 11
1520 LOCATE 0,LC:PRINT CSV$(PAGE,COUNT)
1530 LC=LC+2
1540 NEXT
1550 LOCATE 0,0:PRINT TITLE$(1)
1560 COUNT=0:LC=2:FOR COUNT=2 TO 11
1570 LOCATE 0,LC:PRINT TITLE$(COUNT)
1580 LC=LC+2
1590 NEXT:LOCATE 70,0:INPUT "",Q$
1600 GOTO *SETSCREEN
1610 *LOOPOUT



行番号100と110と120と130は、マスターアドレスの著作者とBASIC/98の開発法人名をサインインしています。
Command Line 100,110,120,130, This Caption is Master Addrfess into Author by Dai Fukuoka with Development Coopration "Dennougumi" Wrote .
行番号170から開始する事ができません、必ず配列変数の定義を先に行っておき、プログラムの始めからDIM関数の配列定義を行番号150と160を通しておきます。
Command Line 170 User with Developer This is Can Not Start Program ,Surely Go Start Filter Passager Command Line 150 with 160 .
行番号150と、160の”DIM”この関数の定義と配列変数値と、形式は”CSV”規格と、確認の11こ、キャプションの12個、文字の幅と、文字の高さの定義を実行します。
Command Line 150,160, This "DIM" Function is Difintion Arragement Variable Value, Type is "CSV" Standard and System "Check" with Caption "Title" and Charactor width "Loc1" and Charactor Height "Loc2" executive Difintion .
行番号180は、2次元の座標を”LOC1”と、”LOC2”に分けて文字の画像座標を割り出します、80を指定すると、640ピクセルを8で割った80行目(システムは79で0を1)端まで描画されます。
Command Line 180, This is 2 Dimension Variable Arragement on "LOC1" is Charactor change to Graphics 80count width and "LOC2" is Charactor change to Graphics 25count height Coordination .This is Screen View Deep and Deep with on Charactor Coordinate .
行番号190から220は、”LINE”関数にて、範囲を定義し”BF”背景を塗ります。座標位置を”LOC1”と”LOC2”を呼び出し、目標の位置を参照します。これは、400ラインモードの場合実行されます。
Command Line 190,200,210,220, This View Control Function "Line" by Range on Difintion with "BF" Parameter on Paint , coordinate Now Location Call "Loc1" with "Loc2" Target Reference, This is Screen Mode is 400 Line Standard Mode case by execution . Go to Skip Label "Restart" with Go on Label "Textbase" .
行番号230と240と250は、480ラインモードにて、高さが16ではなく19になります、座標の自動入力が困難のため、任意の位置を電卓から求めた座標を”レクトペイント”に入力します。
Command Line 230,240,250, This System Case is Height 480 Line Screen Mode execute Method coordinate Charactor Height 19Px-20Px , Screen View is Difficlut No Automation Type Out, Calculator Method Measure coordinate View Point Box Fill Paint BackGround Color execute "Line" Paint1 .
行番号250から300は、配列文字列”TITLE”に11個の要因を入力します。1にはカードID、2にはセキュリティID、3には、電子手紙、4には電話、5には名前、6には2Byte、7には郵便番号、8には、住所の先頭、9には住所の後、10には、誕生日、11にはカードの有効期限。
Command Line 250,260,270,280,290,300, "TITLE" Variable Arragement Strings is 11 Factor with chaption in put 11 infomation, Case 1 Card ID, Case 2 Security ID, Case 3 Electrics Mails, Case 4 Tele Phone, Case 5 Names, Case 6 2Byte Names, Case 7 Postal Card Number, Case 8 Address Top, Case 9 Address Bottom, Case 10 Birth Day , Case 11 Card Limited Day .
行番号320は、テキストの範囲を消去します。
Command Line 320, Clear Text String Field on Erased .
行番号330は、テキストの座標1、1に”OPEN FILE NAME”を表示し、”OFN”の変数に任意の入力を待ちます。また空の場合を想定して空の場合はラベル”START”に戻ります。
Command Line 330, Text Area 1,1 Locate to Wait Accept Type Variable "OPN" Case About Conteiner Empty is Return Label "START" .
行番号340と、350と360は、新しいCSV形式のファイルを作成します、その時、”#”シーケンスを指定しません。開いている間 EOFがー1か調べることができます、CLOSEまでに”MAKE”変数は、状態を情報によって始めることができます。
Command Line 340,350,360, New CSV Standard Make File, Then Not Sequence Type and "For" Option. Open File Timming is Between Abstraction EndOfFile Value Search Count -1 or 0 Find Value Then Close File and Variable "MAKE" Status Stand by Infomation .
行番号370と380は、”MAKE”変数がー1か1の時-1終端に達していてファイルが空の場合ー1が指定され、新しくランダムファイルを作成するラベル”MAKEFILE”へ移動し書き込みます。0で返ることで1とフィルタし、ファイルが終端に達しない状態でファイルが空でない場合に読み込みます。
Commnad Line 370,380, "MAKE" Variable is -1 or 1 then -1 with Reach EndOfFile Case Empty File to Open New File Now, IF "MAKE" is -1 Value Go to Label "MAKEFILE" and Open New File, Return 0 Case Equivalent 1 with Filter No EndOfFIle and Open Rambom File Now then Read File "OFN" File Name .
行番号390と400と410は、ファイル名”OFN”に対して読み込みモードの”INPUT”付属を指定します。また、その間、ネストで、カウンタの値1から1万回数えて読み込みます。ファイルモードは、#1番です。CSV(カウンタ、1~11種類)によって、この規格に、どこのカウンタの階でも、11個の情報が取り出せるようにします。
Command Line 390,400,410, Target "OFN" File Name Read Mode Nest Option "INPUT" AndToo, Then Value Counter 1 to 10000 Between by Nest, FIle Mode is #1 Count and CSV Standard "CSV(counter,11 Article Infomation) by This Standard is When Floor Because Get Infomation 11 Article .
行番号430は、”PAGE:”と”LOTNUMBER:”を表示しています。ユーザーは必要項目に入力する必要があります。入力することによって、参照点を変えることができます。
Command Line 430, Show Display "PAGE:" and "LOTNUMBER:" It, User is Must Need Typing Many Item, User Can Type Change Reference Locate Point .
行番号440は、”PAGE”と”LOT”変数が”0”で空の時ラベル”OPENFILENAME”に移動します。
Command Line 440, "Page" Variable and "Lot" Variable is "0" Value Case Go to Label "OPENFILENAME" Move It .
行番号450から510のステートメント関数によるルーチンの振り分けを”LOT”変数を参考値に分岐します。
Command Line First 450 to Last 510, This Statement Function by Brunch Case Routine Reference "LOT" Variable Exsample Values, Brunch is Label "TRYBLOCK" Plus (1-11) Section .
行番号520は、2行目に”CSV”規格の配列(PAGE,1条)、19桁の空白文字を含む番号が19桁に合致していなければ、再入力を求めます。
Command Line 520, 2Line Standard "CSV" Arragement (Page,"1 Article") contein Space Word with Number 19 Column, Checking 19 Column Length, Not Equivalent Case ReTyping Purchase .
行番号530と540と550は、変数”ALEN”に先に入力した変数”A”文字列に対して長さを求めます、長さを求め”0”で通り越せないように”IF”ステートメント関数にて”0”の場合”CSV”(PAGE,1)が空の場合は、ラベル”TRYBLOCK1”に進めます。行番号550番は、変数”ALEN”の長さが19を否定した場合”IF”ステートメント関数は最初辺りのラベル”START”に移動します。
Command Line 530,540,550, "ALEN" Variable is RearWard Result "A" String Variable PurChase Word Length, No Skip "0" Value, No Type is Skip to Start, Empty Variable "CSV" Standard at Go to Label "TRYBLOCK1" Can Progress, Command Line 550, Word Length Variable String "ALEN" Not 19 Column Case is by Statement Function "IF" to Jump "Start" Move It .
行番号560,570,580は、同じカード番号が既存している場合にラベル”START”へ移動します。最大値まで一つ一つ調べます。式は、文字列変数”A”=”CSV(回数,1条)”。
Command Line 560,570,580, Exisiting Checking Card Number, Equivalent Exisiting Value is Return Label "START" Move It, Count is Maximum Matter-Affeir by 1 Count , Method False is String Variable "A" Equivalent String Arragement Variable "CSV" (Counter,Article 1) Find Check out .
行番号590と600と610は、”PAGE”に0から1に足した形で1万件文字列”A”と、”CSV”規格(数える変数,1条)に照会が一致する場合にラベル”START”に移動します。
Command Line 590,600,610, Variable Value of "I" Start Page Variable Plus 1 to 10Thousand Counter Count Check It, Standard "CSV" Type (Count,Article 1) Equivalent String text Variable "A" Then Go to Label "Start" Move it .
行番号620と630は、現在位置の規格の”CSV”が(PAGE変数,1条)の配列が空の時同じ位置の規格”CSV”にテキスト変数”A”を代入します。規格”CSV”が指定の空の場合にラベル”TRYBLOCK1”に移動します、空ではない場合はラベル”SKIPTO”に移動して行程を省略します。
Command Line 620,630, Standard "CSV" Arragement Variable is Sequence Location Now Then Case Empty to Substitute "CSV" to "A" After Equivalent "CSV" is String Text "A" Variable,Target to Standard "CSV" Case is Empty Go to Label "TRYBLOCK1" Move It, Then Not Empty is Skip Method and Goto Label "SKIPTO" Move It .
行番号640と650と660は、ラベル“MAKEFILE”の行程です。650は、変数”I”に一万項、変数”T”に十一条を初期化します。一条から十一条まで空を入力して残存記憶を消去し設定します。
Command Line 640,650,660, Label "MAKEFILE" Plan Routine Command Line 640,650,660, Count Variable "I" is Count 1 to Count 10Thousand with 11 Article Standard "CSV" 2 Dimension Arragement Variable This "MAKEFILE" is All Format Setting and Memory Flush Value Equivalent Empty .
行番号670と680と690と700は、変数文字列”OFN”に書き込みモードで開きます。規格”CSV”の1項から10千項まで1から11条までの項目をWRITE関数にて、書き込み設定します。
Command Line 670,680,690,700,710 Generic Write Mode is Fuction Open Mode, String Text Variable "OFN" Open File Name Clause 1 to 10Thousand with 1 to 11 Article Write It, Step End at Jump to Label "Start" turn loop .
行番号720と730は、ラベル”MAKEFILE”を行程を省略してキーボードカーソルの位置を4行に揃えその時の規格”CSV”(項,2条)を表示します。
Command Line 720,730, Step Skip to Label "MAKEFILE" Not Work, KeyBorad Cusor Line 4 with Standard "CSV" Variable (PageCount,Article 2) Show Display It .
行番号740はクレジットカードの裏にある認証番号をVISAは1から999、MasterCardは1から9999までで、入力を必要としています。入力したユーザ情報は鍵番号と確認します。変数”SID”に情報が格納されます。
Command Line 740,Passenger User Need Credit Card BeHind Look at Accept Number Typing is Case Visa equivalent 1 to 999(3 Column), Case MasterCard 1 to 9999(4 Column) Type In Put Secure ID Number,User Typed Infomation is Checking PassWord Number, "SID" Variable Value in Conteiner Variable Infomation .
行番号750は、”SID”変数に文字列から算数値にVAL関数で変換して1以下と、9999以上にならないようにします。その時例外が入力された場合に730行にある最も近いラベル”TRYBLOCK1”に移動します。
Command Line 750, "SID" Variable Text Comvert Function "VAL" to Exchange Number,Exception 1Under with 9999Over Then No Pass and ReStart Most Near Label "TRYBLOCK1" Move and Jump It .
行番号760は、”CSV”規格の次の条を2に設定して空の場合に先程の変数”SID”を置き換えます。
Command Line 760,IF "CSV" Arrangement Variable Standard Case Empty by Next Value Article "2" Replacement Exchange RearWard Variable "SID" .
行番号770と780と790は、”CSV”規格の3条を表示します。表示の後、E-mailを入力し、変数”EMA”を格納する。EMAが関数LENによって1文字以下で確認している場合に”CSV”規格がなおかつ空でない場合、ラベル”TRYBLOCK3”まで工程を省略します。
Command Line 770,780,790, "CSV" Standard and Article "3" Show Display After User Word Type "E-MAIL" Variable "EMA" Conteiner In Put Case Function "LEN" by Variable "EMA" Word Length Under "1" and "CSV" (PAGE,3) Equivalent Empty Then Skip Command Line Jump to Label "TRYBLOCK3"
800は、省略しなかった場合に、変数”TB2”に”false”を自動で入力します。
Command Line 800, User Type Infomation Case No Skip Then Variable "TB2" In Put Conteiner Word "false" by Automation Typing .
行番号810と820は、変数”I”を1から始まりLEN関数で文字数の間を実行します。もし、文字列解析”MID”関数で、特定の”@”が見つかれば変数”TB2”を”True”に置換します。その際の式はMID(”EMA“,回数,1文字づつ)です。
Command Line 810,820, "I" Valible Start Value "1" to Function "LEN" and Variable "EMA" Word Length Between Execute Command Line,IF Word Analiysis Function "MID" execute Find "@" Mark by Serch in Look and RePlacement "false" change "True" by Method is MID Function (Variable "EMA" , Counter , 1Length Word) .
行番号830は、規格”CSV”が項と、3条が空の時、“CSV"に変数”EMA”を置換します。
Command Line 830, "CSV" Standard is Clause with Article 3 is Empty Then RePlacement "CSV" to "EMA" .
行番号840は、変数”TB2"の結果が”True”の場合次のラベル”TRYBLOCK3”に移動します、変数”TB2”の結果が”false”の場合”True”の後のラベル”TRYBLOCK2”に戻ります。
Command Line 840, "TB2" Variable is Result "True" Case Jump to "TRYBLOCK3" Next Stage Else "TB2" Variable is Result "false" Case Jump to Return Behind Block "TRYBLOCK2" .
行番号850と860と870と880と890は、”CSV”規格(項,条4)を表示し、変数”TEL”の置き換わる変数を入力します。文字列”TEL”の文字数が0の場合その条件は、”CSV”規格が、空で有る事を否定系である事で次のラベル”TRYBLOCK4”に進みます。次に変数”TB3”の結果が”True”の場合ラベル”TRYBLOCK4”に移動します。その結果が”false”の場合後ろのラベル”TRYBLOCK3”に戻り入力をやり直します。次は”CSV”規格が(項,条4)が空の時、別の変数”TEL”を置き換えます。
Command Line First 850 to Last 890, "CSV" Standard is Show Display "CSV(Page,Article4)" Typing This System Can Variable "TEL" Replacement Nothing Infomation "CSV" Arragement Variable Value,User Typing Case Equivalent Word Length 0 This Terms "CSV" Standard Arragement Variable Value of Result Not Nothing Jump to Label "TRYBLOCK4" Move It,Next Terms "TB3" Variable Value Result "True" Case Jump to Label "TRYBLOCK4" Move It, Else "TB3" Variable Value Result "false" Case Return to BeHind Label "TRYBLOCK3" Move It,"CSV" Standard is (Page,Article4) Case is Empty Then Distinction By "TEL" Variable Value Replacement "CSV" Standard Empty Clause Change It .
行番号900と910と920と930と940は、関数”LOCATE”によって14行に位置し”CSV”規格の”(項、条5)”を表示します。そのあと、行番号900と940の間、関数”LEN”にて、文字列変数”NAMEENG”の文字数が0のとき且つ”CSV”規格が空でない時次のラベル”TRYBLOCK5"に移動します。変数”NAMEENG”が無効な文字列の場合ラベル”TRYBLOCK4”に戻り同じ質問を繰り返します。”CSV”規格が空の時、”CSV”規格が変数”NAMEENG”に置換されます。
Command Line First 900 to Last 940, Function "LOCATE" by Place 14 word Line Pottision, Show Display "CSV" Standard by "(PAGE,ARTICLE5)" After Forward First 900 to Last 940 Between Then "LEN" Function "NAMEENG" Variable Value Count word by "0" with "CSV" Standard is Not Empty Then Go to "TRYBLOCK5" Move It, IF Key Board Typing is In Put From by Invalidity String word Case Return Go to Label "TRYBLOCK4" Looping Type, Out Follow Same Answer ReQuesting,Else and Value Empty by "CSV" Standard in Replacement Arragement Variable Value "(Page,Article5)" to "NAMEENG" Variable .
行番号950と960と970と980と990と1000と1010は、関数”LOCATE”にて、文字位置が16行に移動し、規格”CSV”と配列”(項,条6)”の結果の値を表示します。また文字位置が17に移動し、日本名前の漢字モードで答えなければなりません、外国の場合不要です。関数”KLEN”にて、”KANJINAME”の変数の漢字文字数の値を返します。結果が”0”(空)で、”CSV”規格も空で有れば、次のラベル”TRYBLOCK6”に進歩します。”KLEN”関数にて、”3”のパラメーターが指定され、変数”KANJINAME”が”0”で空の場合、何もしません、その他は、ラベル”TRYBLOCK5”に戻って同じ質問をします。無効な文字列が入力された時もラベル”TRYBLOCK5”に戻ります。”CSV”規格が”(項,条6)”の条件で空の時、変数”KANJINAME”に、”CSV”規格が置き換わるように置換されます。そのあと、画面を文字列を全て消去して、次のステージに進歩します。
Command Line First 950 to Last 1010, Function "LOCATE" by Move Jump to KeyBorad Coursol Posittion Line 16 Move It, Result on Show Display "CSV" Standard and Parameter "(Page,Article6)" Value And User Must Answer Typing Kanji in Japanese, KeyBoard Coursol Move to 17 Line Pottision,This Answer "KANJINAME" Variable Touch Typing by Other Country is Need less, Function "KLEN" is Parameter "3" Localize "KANJINAME" Variable is Empty and ZeroWord to Return Label Move to "TRYBLOCK5" This Answer is Same, Invalidity String Text Touch Typing is 1 Count RearWard Label "TRYBLOCK5" and Question isSame Answer, "CSV" Standard is Parameter "(Page,Article6)" Tarms in Decision by Empty at Replace "CSV" Arragement Variable Value Change to "KANJINAME" Variable From In Put Continer by Japan After ForWard Clear Screen and Next Stage Answer Progress .
行番号1020と1030と1040と1050と1060と1070は、画面を消去したあとの、最初の入力です。”LOCATE”関数で、キーボードカーソルの位置を4行目から開始します。 4行目は、次の項だったバックステージより項目数が少ないので、4行目から開始します。4行目に”CSV”規格の”(項,条7)を表示し、空で有れば、表示されない4行です。5行に移動して、アイテム(項目)を表示します。郵便番号を聞いています。入力情報は、変数”ZIP”に入れられます。5行目に項目と照会が一致する情報を入力しなければなりません。変数”TB6”に”false”を自動入力します。次の工程に”FOR”関数にて、79列カウントを変数”I”にします。間隔は、1列づつです。”MID”関数にて先程入力した”ZIP”変数に文字列”-”がある場合、郵便番号が成立し、変数”TB6”を”True”に変更します。”IF”関数と、文字列の数を数える”LEN”関数が実行され空の時、”0”を示し、”CSV”規格の”(項,条7)の結果が空を否定の時、ラベル”TRYBLOCK7”に移動します。”NEXT”関数で条件が終わりを迎えた時、関数”IF”によって変数”TB6”に”True”が一致する場合、ラベル”TRYBLOCK7”に移動します。他は、変数”TB6”を”false”に自動で入力します。その時、ラベル”TRYBLOCK6”に質問を戻る事ができます。”CSV”規格の”(項,条7)が空の時、変数”ZIP”に置き換わります。
Command Line First 1020 to Last 1070, User Typed to Screen Clear After Begin KeyBorad Type, Function "LOCATE" by Move to Key Coursol Possition Line 4 with In Put "ZIP" Variable Conteiner Start on, Line 4 is Less Than Back Stage ITEM and Start Line 4,This 4 Line is "CSV" Standard and "(Page,Article7)" Show Display Then "CSV" Standard is Value of Case Empty is Show Nothing, Move to Line 5 by Function "LOCATE" at Show ITEM Display,Type and Request "ZIP Code" Typing Infomation in Conteiner "ZIP" Variable, That Line 5 is Must Type Infomation with Identity Check It,"TB6" Variable Value Automation in Replace "false", Next Process Statement Function "FOR" by Cloumn 79 Count Setting "I" Variable in Value and Step 1 Cloumn to Between and "MID" Function to From Back Typed "ZIP" Variable Contein "-" String Text Value is Complate "ZIP Code" and "TB6" Variable Change "True" It,"IF" Statement Function and Word Count "LEN" Function Execute Then Tell Empty and Zero Value, Result of "CSV" Standard with "(Page,Article7)" Case is Not Empty Jump to Label "TRYBLOCK7" Go It,"NEXT" Function Looped at Tarms is End Then "IF" Statement Function by "TB6" Variable Checking of "True" Case by Check Each Agree Go to Label "TRYBLOCK7" Step by Skip Sorce Code Move It,Else Other "TB6" Variable "false" on Automation Input THen Label "TRYBLOCK6" to Back Answer Return Thing,"CSV" Standard and "(Page,Article7)" Case is Empty Then Replacement "ZIP" Variable Change It .
行番号1080と、1090と、1100と1110と1120は、関数”LOCATE”にて文字座標を7行として、規格”CSV”があれば表示します。使用者は入力しなければなりません。最初の住所、区画(国名、県州省、都市の名前)にそれぞれ分けられます。使用者が無効な文字列を入力していないか、自動で調べる事ができます。規格”CSV”が空の時、セルフで入力したIDを持つ変数”ADR1”に置き換わります。
Command Line First 1080 to Last 1120 with Between, Function "LOCATE" by Word Line 7 by User Self Typing Have Infomation "CSV" Standard Show Display,User Must Typing In Put "ADR1" Variable Conteiner Value,Begin Start Address and Section (Country , Continent, City Name) Difficult Each It,User is Case by Invalidity Typing Character Word at Checking Contents After Automation System Self Checking,"CSV" Standard is by Empty Case is User Have Self Identify Typing "ADR" Variable Value Replace to "CSV" Standard .
行番号1130と1140と1150と1160と1170は、次までの間、住所の市と県省州と国籍のそれ以外の住所を使用者は必要な情報を入力しなければなりません、無効な文字列は無視され位置が動かず質問を繰り返します。空等であれば元のラベル”TRYBLOCK8”に帰ります。すでに規格”CSV”が空でない場合は、変数”ADR2”に置き替えます。次にあるラベル”TRYBLOCK9”に進歩します。
Command Line First 1130 to Last 1170, At Next Behind Between Address by User Must KeyBoard Typing Skip Inter National or Continent or CIty Other is Need Infomation , Invalidity Word Character at Ignore with on No Move Repeat Answer, Case by Empty are Send Return Label " TRYBLOCK8", Already "CSV1" Standard is Have a Infomation by Change Replace Variable "ADR2", Progress Next Label "TRYBLOCK9" Go on .
行番号1180と、1190と、1200と、1210は、関数”LOCATION”にて13行目に既に有った場合”CSV”規格の”(項,条10)”によって中身を表示します。14行で、誕生日の年、月、日を使用者は、入力しなければなりません。無効な文字列を入力することはできません。そしてその時元のラベル”TRYBLOCK8”に帰ります。
Command Line 1180,1190,1200,1210, Function "LOCATION" Parameter Have Line 13 and Show Display Arragement Variable "CSV" Standard "(Page,Article10)" by Contents Conteiner, User By Line 14 Typing Number as "Birth" with Year,Mounth,Day, User Can Not Invalidity Character KeyBoard Typing, Through Then Back Label "TRYBLOCK8" Go Returns .
行番号1120と1230と1240は、初頭から”LOCATE”関数で16行に移動を実行します。その時規格”CSV”が空でなければ表示します。17行に移動し、使用者はクレジットカードの更新期限を入力しなければなりません。必要な情報の一つとしています。もしも長さが0のその時規格”CSV”が空でなければラベル”CHECK”に移動して、個人情報の質問の全ては終わります。変数”TB3”を”false”に設定して、入力文字の全部に”/”を含めば変数”TB3”に”True”に変えます。文字数まで繰り返しします。規格”CSV”が空で有れば、今入力していた変数”LIMID”を規格”CSV”に置き換えます。もしも文字数が5他7の場合何もしません、その他、元の質問のラベル”TRYBLOCK10”に使用者は、再入力しなければなりません。
Command Line Fist 1180 Between Last 1280, Operation Oder Next Topics by Function "LOCATE" is Move To Line17 Cursol on Execute, Then "CSV" Standard Show Display if Not Empty Case on Show, Move To Line 17 After Typing User Must Cad Limid End Tarm on Year/Mounth, This is Need Infomation Many One, If String Text Length Case Equivalent "0" Then "CSV" Standard is bu Not Empty at Label "Check" Go it,Type All Conteiner In Put Infomation Only Person Data on End, "TB3" Variable to Input Conteiner Value Equivalent "false" Variable Set on, User Typing Find Check up Contein Character Word of Use "/" at Change on "True", Repeat Count String Text Length, "CSV" Standard is Not Empty in Case Pass Execute,RearWard "LIMID" Variable Value After Replace to "CSV" Standard,If Character Length in Case is 5 or 7 by Nothing, Else Back Answer Go to Label "TRYBLOCK10" Repate and ReTyping by Self User .
行番号1300と1310と1320と1330と1340と1350と1360と1370と1380と1390と1400は、11項目の変数”A”、”SID”、”EMA”、”TEL”、”NAMEENG”、”NAMEKANJI”、”ZIP”、”ADR1”、”ADR2、”BIRTH”、”LIMID”の全てが、情報を持っていれば、規格”CSV”に置き換えます。”(項,条1~11)”から、11項目の変数に対して11項目の変数を置き換えます。
Command Line First 1300 to Last 1400, This Section is 11 ITEM Variable Value with "A" and "SID" and "EMA" and "TEL" and "NAMEENG" and "NAMEKANJI" and "ZIP" and "ADR1" and "ADR2" and "BIRTH" ans "LIMID" all 11ITEM Variable Value is IF Not Empty at "CSV" Standard Arragement Variable Value Replace Change to Variable 11ITEM .
行番号1410と1420と1430は、先ず”OFN”シーケンシャルを仮開きした時に得た関数”EOF”の値を変数”OFLAG”を置き換えます。ファイル”OFN”が空で有れば”OFLAG”は、”-1”の値を示します。閉じたあと、新しいファイルが作られ、開くことができます。1から1万件まで管理し、1件につき11項目を同時に書き込み閉じます。
Command Line 1410,1420,1430, First Pre Open "OFN" Sequencial File Then Execute Function "EOF" Parameter is "1" with Get Value,IF This Get Value is "-1" in Case is End of FIle by Empty,"OFLAG" Variable Replace to Function "EOF" on Result,Close After Make New File,User Can Open File in Suggetion, FIrst "1" to "10000" count Arragement Variable "CSV" Standard After Write File of "OFN" Sometime Wrote by Close .
行番号1440は書き込んだ後、印刷するか尋ねます。その場合、”0”は、いいえ、”1”は、はい。はいの場合、変数を整列します。
Command Line 1440, Write Open File Was After Ask Printing It,This Case is "0" No, Case is "1" Yes, That Case is Align Variable All on Time .
行番号1450と1460と1470は、先程変数”PRINTER”に入力された値が、”0”の場合最初に、”1”の場合、ラベル”PRINTSCREEN”に移動します。”1”の場合、移動後文字列を”CLS”関数、画像を”CLS 3”関数で消去します。
Command Line 1450,1460,1470, Behind of Varible on "PRINTER" to User Typing Input Value with in Result is Case by "0" is Begin Status and Starting,Behind Variable in Result is Case by "1" to After "CLS" Function with "CLS 3" Function Execute in Erased Screen of String Text and Graphics .
行番号1480と1490と1500は、書き込んだ後”FLUSH”によって失った変数記憶を、書き戻ります。”1”から”10000”まで書き戻します。そのあと、”OFN”のファイルを閉じます。
Command Line 1480,1490,1500,Lost Memory by Flush at Open Write File was Return Memory of "1" Start "10000" End of File to Close Open FIle Name "OFN" Variable .
行番号1510と1520と1530と1540は、変数”COUNT”と”LC”を”0”と”1”の数を設定します。ステートメント関数”FOR”にて、変数”COUNT”が”1”から”11”までを、繰り返します。”LOCATE”関数で文字座標を列を”0”、行を変数値”LC”にて、規格”CSV"の”(項,条=COUNT)”の条件にて印刷の情報表示します。変数”LC”は、”1行”の間隔を経て一回で”2”の数を追加します。”NEXT”にて繰り返し点です。
Command Line FIrst 1510 to Last 1540, Set Variable "COUNT" and "LC" Equivalent "0" or "1", Statement Function "FOR" by Repeat Value "1" to "11" Loop up, Function "LOCATE" Move to Coordinate X and Y Character Size with Cloumn "0" and Line "LC" Variable, Show Display "CSV" Standard "(Page,Count)" Terms Case by Print Out Mode Infomation, "LC" Variable is "1" Line Between Pass One More Addition "2" Value, Repeat Point Break Turn by "NEXT" Function .
行番号1550と、1560と1570と1580と1590と1600と1610は、初めの状態が横”0”縦”0”に配列変数”TITLE”を”1”の因数の結果を表示します。次に、変数”COUNT”を0に、変数”LC”を”2”から始めます。関数”FOR”にて変数”COUNT”は、”2”の値から始まり、”11”で終わります。関数”LOCATE”にて横は”0”縦は変数値”LC”に配列変数”TITLE”を”COUNT”の回数を因数に結果を表示します。変数”LC”は、”2”づつ加算されます。”NEXT”で閉じたあと、”LOCATE”関数で、”70”の横で、”0”の縦でキーボードカーソルを移動します。その時、変数”Q”を使用者は、入力したあと、ラベル”SETSCREEN”に移動し、繰り返し作業の現在の”PAGE”を終えます。
Command Line First 1550 to Last 1610, Starting Status is KeyBord Cursol is Horizontal "0" and Vertical "0" to Arragement Variable "TITLE" in Factor Show Result,Next is "COUNT" Variable Equivalent "0" and "LC" Equivalent "2" Begine, Statement Function "FOR" by "COUNT" Variable Start "2" to "11" End, Function "LOCATE" by Horizontal "0" and Vertical "LC" Variable Show Display Arragement Variable "TITLE" Value at "COUNT" on Factor Parameter Show Result, "LC" Variable is Addtion "2" Count Plus, Close Function "NEXT" After by "LOCATE" Function of Hrizontal "70" Column Vertical Line "0" Move to Keyboard Coursol, Then User is Typing "ENTER" After Screen Format, Repate Work is End "PAGE" Now .

日銀プログラ厶 シスアド6

2019-03-20 03:49:13 | 日記
*************
dissue

100 REM ---------------------
110 REM rating Program by Dai Fukuoka 2016.07.26-2016.07.29
120 REM (C)電脳組
130 REM ---------------------
140 CONSOLE 0,25,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,0,1:CLS 3
150 *START
160 PRINT "Property account Type Account Capital of Hieghest :"
170 INPUT "資産料(一番大きい株郡)を入力してください:",CAPITAL
180 PRINT "Audit Delay Dispit Issue Reduce 2 Account Member Count is :"
190 INPUT "監査会(猶予の回数人数)の審査の回数を乗算で求めます",DELAY
200 LET ISSUE=CAPITAL : LET COUNT=0
210 IF CAPITAL<1 THEN *START
220 FOR I="0" TO DELAY STEP 1
230 ISSUE="ISSUE*2:COUNT=COUNT+1
240" NEXT
250 PRINT ISSUE:
260 IF ISSUE>10000 THEN PRINT "万:man/d5-tenThousand"
270 IF ISSUE>100000000 THEN PRINT "億:oku/d9-oneHandletMilion"
280 IF ISSUE>1000000000000 THEN PRINT "兆:chou/d13-oneThousandBilion"
290 IF ISSUE>1D+017 THEN PRINT "京:kyou/d17-oneHandletTousandTrilion"
300 IF ISSUE>1D+021 THEN PRINT "亥:gai/d21-oneBilionTrilion"
310 IF ISSUE>1D+025 THEN PRINT "序:jo/d25-tenThousandBilionTrilion"
320 IF ISSUE>1D+029 THEN PRINT "襄:jou/d29-oneHandletMilionBilionTrilion"
330 IF ISSUE>1D+036 THEN PRINT "溝:kou/d36-TenHandletThousandMillionBilionTrilion"
340 IF ISSUE>1D+040 THEN PRINT "間:kan/d40"
350 IF ISSUE>1D+044 THEN PRINT "正:sei/d44"
360 IF ISSUE>1D+048 THEN PRINT "載:sai/d48"
370 IF ISSUE>1D+052 THEN PRINT "極:goku/d52"
380 IF ISSUE>1D+056 THEN PRINT "黄河沙:kougasya/d56"
390 IF ISSUE>1D+060 THEN PRINT "阿僧紙:asousi/d60"
400 IF ISSUE>1D+064 THEN PRINT "那由他:nayuta/d64"
410 IF ISSUE>1D+068 THEN PRINT "不可思議:fukasigi/d68"
420 IF ISSUE>1D+072 THEN PRINT "無量大数:muryoutaisuu/d72"
430 GOTO *START

行番号100,110,120,130は、キャプション"レーティングプログラム”に著者の名前、福岡 大と日付を記入しています、また、法人団体を、有限会社電脳組は、漢字で記載されています。
Command Line 100,110,120,130 , Coopration Limited , Dennougumi Wrote "KANJI" Top Title with This Caption is Copyright Program by Dai Fukuoka and Sign Term First and Last and Between Development Day .
行番号140は、初期化関数を実行しています、しかし、スクリーンラインモードは、セットアッププログラムに分けられており、無視されます。スクリーンは、変更を加えることができません。
Command Line 140 , Setting Fomat Founction Executive , Though But Screen Line Mode is No Addition Modify withon Use Setup Program .
行番号160,170は、2ヶ国語です、いまから漢数字をローマ字読みします。残り残高が最も大きいものが有効です。例えば、剰余金と、資本額を比較して剰余金の方が多きれば剰余金を用います。CAPITAL変数に等しい値を代入します。
Command Line 160,170 , Duble Language , Now Starting "KAN SUJI" Show Change Roman , Compare More than Surpuls or Chapital , Equivalent Variable "CAPITAL" Type Value Count , Take Over Count IF Over Case is Surplus Issue Use It .
行番号180、190は、監査委員の定員を回答を入力します、一人につき、2倍に資産額は、発行され、監査員は、資本金を払わないで会計出来る資本空間を作ります。
Command Line 190,190 , Audit Member on Key Borad Type Ask and Answer Member Count , Property of Means 2 Multiply on One Member Example , This Example Member In Put Variable "DELAY" Type Count 2 Member is 4 Multiply Method Value , Audit Member is Self Account and Issue Space Use It .
行番号200は、新規変数”ISSUE”に”CAPITAL”から代入式を行います、”COUNT”は”0”にセットされます。
Command Line 200 , New Variable "Issue" Equivalent "capital" Method with "count" Equivalent "0" Settings .
行番号210の関数は、変数”CAPITAL”が1よりも下回る場合、ラベル”START”に戻ります。”START”は150行にあります。
Command Line 210 , This Founction is 1 Less Than Case Turn Go To "Start" Label Jump in , More Than 1 Case Next Step . "Start" is Command Line 150 Location .
行番号220,230,240は、監査委員の数の回答を予め入力したので。それを使って、その人数の回数だけ、更に、予め回答を入力した、資産額を一人につき2にかけるのを繰り返します。
Command Line 220,230,240 , Just Advance Notice is Audit Member Count And Property of Means Count Step of Audit Count Loop with Decision Property of Means 2 Multiply Many Count on Audit Member Count , Loop Out Dcision is Over "DELAY" and Between Looping Less Than "DELAY" and Start Count of Zero After Plus and Plus .
行番号250は、演算の結果を表示します。
Command Line 250 , Result Show Process and Method "ISSUE" .
行番号260から420は、4カラムごとに、漢数字のローマ字が繰り上がります。
Command Line First 250 to Last 420 , 4colmn Every Match Carry Over ForWard "KAN" Mathmetic Roman .
行番号430は、初期化が済んだラベル”START”に移動します。行番号150にあります。使用者は初めに戻れます。
Command Line 430 , Label is Formated "START" Move to Label Looping , Command Line 150 Go on , User Can ReStart it Again .

dfxchange
**************
18:39 2018/01/16100 REM ---------------------
110 REM exchange rate Programming by Dai Fukuoka
120 REM (C)電脳組
130 REM ---------------------
140 CONSOLE 0,25,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,0,1:CLS 3
150 *START
160 INPUT "元利の単価-1:フラン、2:USAドル、3:オーストラリアドル、4:欧州ユーロ、5:人民元、6:円?: ",A
170 INPUT "幣替の単価-1:フラン、2:USAドル、3:オーストラリアドル、4:欧州ユーロ、5:人民元、6:円?:",B
180 IF A=1 THEN PRINT "元利の単価は、1フラン100円です":A2=100
190 IF A=2 THEN PRINT "元利の単価は、1米国ドル133円です":A2=133.3#
200 IF A=3 THEN PRINT "元利の単価は、1オーストラリアドル150円です":A2=150
210 IF A=4 THEN PRINT "元利の単価は、1ユーロは180円です":A2=180
220 IF A=5 THEN PRINT "元利の単価は、1人民元は200円です":A2=200
230 IF A=6 THEN PRINT "元利の単価は、1円です":A2=1
240 IF B=1 THEN PRINT "幣替の単価は、1フラン100円です":B2=100
250 IF B=2 THEN PRINT "幣替の単価は、1米国ドル133円です":B2=133.3#
260 IF B=3 THEN PRINT "幣替の単価は、1オーストラリアドル150円です":B2=150
270 IF B=4 THEN PRINT "幣替の単価は、1ユーロは180円です":B2=180
280 IF B=5 THEN PRINT "幣替の単価は、1人民元は200円です":B2=200
290 IF B=6 THEN PRINT "幣替の単価は、1円です":B2=1
300 IF A2 310 IF B2 320 C=(A2/B2):PRINT C,RESULT
330 INPUT "幣替する量を指定してください?",COST
340 COSTRESULT=C*COST
350 PRINT COSTRESULT
360 INPUT "手数料の割合を指定してください?",D
370 E=COSTRESULT/10*D
380 PRINT "幣替の手数料は";E;"です。"
390 PRINT "合算は";E+COSTRESULT;"です"
400 GOTO *START


行番号100から130まで、プログラムの名前と、著者の名前と、開発環境の作成法人の情報が記録されています。
Command Line 100 to 130,On Record in Infomation is Program Name and CopyRight User by Name(Dai Fukuoka) and PlatForm Coopration (Dennogumi)
フラン、アメリカドル紙幣、オーストラリアドル紙幣、ヨーロッパユーロ連合共通貨幣、中国人民元を、相互に比較します。
Compare Cross Over 100\ France Fran, 133\ United States America Doll , 150\ Austraria Doll , 180\ Europa United Euro , 200\ Chaina Human People Gen.
行番号180 フランと、円の取引が書かれています、* A=パラメーターは、*Startラベルから始めた入力情報をもとにして数値を変換します。
Command Line 180, France Fran Exchange to Japan Yen Wote 1:1 Cross Exchange,Parameter A From By *Start Labels,Input Foundation Infometion on Value Changes.
行番号190 USAドルと、日本円との取引が書かれています。* A=のパラメーターは、1ドルにつき133円をA2=パラメーターに設定します。
Command Line 190 , Setting Parameter A2 in Exchange Ratin , USA Doll Exchange Japan Yen to Value is 133\ to 1 Doll .
行番号200~290 その他の貨幣と別の貨幣の取引価格が書かれています、日本円を表示していて、日本国外と、日本国外とも取引可能です。式は合算=A2÷B2(どちらも円で価格を掲示し、比率が分かるようにしています。
Command Line 200 to 290 , Input on A2 Parameter and B2 Parameter with Each Exchange,Display Exivition Yen Rating A2 and B2,Method Total=A2 Divition B2,Cost Show Display Yen to Yen Start Compare Other Contry Plan on UnderStand.
行番号300と310は、結果1の判定と、結果2の判定を出すため、比較関数(IF)と(THEN)を使いA2と、B2のどちらが大きいか判定します。
Command Line 300 to 310 , Lees Than Method A2 or B2 , Compare Using IF AND THEN Hit it Large Parameter A2 or B2 .
行番号320は、Cに代入して式を実行します、またCの結果と、リザルトの結果を回答を表示します。
Command Line 300 and 310 , Executive Method Value C,Result C with Value of "Result",Ask Typing Input Anser From Method with Display .
行番号330は、貨幣と貨幣を取引することに、更に単価の量を求めます。
Command Line 320 , MultiPly Parameter C by Unit Cost, Money to Money Exchange by it .
行番号340は、合算したレーティングを数でかけます、”COSTRESULT”値に格納されます。
Command Line 340 , Put Total Rating to "COST RESULT" , Method Multiply Count And Count Rating Number .
行番号350は、合算を格納した結果の数値を表示します。
Command Line 350 , Show Display Values , Get Result and Total .
行番号360は、手数料の割合を入力します。手数料は、10分の1にしたものを整数で掛けたものです。
Command Line 360 , Divition Commition Exchange Payed Type Input And Method Multiply Commition Matrix .
行番号370は、E=の値に340で演算した計算に対して、手数料を1わりづつに計算するように、10で割って掛けます。
Command Line 370 , Method Process Target Command Line 340 Value , Divide of Ten Multiply Commition of Count .
行番号380は、先程の行番号370の結果を表示します。
Command Line 380 , RearWard Progress Result Show Display .
行番号390は、手数料を含めた最終値を求め、次の行には、スタートとループし、ゼロからくり返します。
Command Line 390 , That Last Value Purchase , ForWard Next Command Line 400 is Loop up Start and Result Zero .