4 Season Stock
**************************
100 REM ---------------------
110 REM Program by Dai Fukuoka 2016.08.01-08.05
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 DIM SUM(99):DIM AGREE(20)
160 *START
170 *Q1 PRINT "What many Mounth at Start Incoming"
180 PRINT "何月から収入の始めですか:";:INPUT "",MOUNTH
190 IF MOUNTH>0 AND MOUNTH<13 THEN ELSE *Q1
200 *Q2 PRINT "Is Society Insurance Contract Exparent for much"
210 PRINT "社会保険の契約指数はいくつですか:";:INPUT "",SI
220 IF SI>-1 AND SI<11 THEN ELSE *Q2
230 *Q3 PRINT "Is many at Stock Holder's Fine"
240 PRINT "証券罰金料の指数はいくつですか";:INPUT "",SHF
250 IF SHF="0" AND SI="0" THEN *Q2
260 IF SHF>-1 AND SHF<10000 THEN ELSE *Q2
270 *Q4 PRINT "Select is Money Rate for (0)Euro(1)Yen(2)UsaDoll"
280 PRINT "通貨のレーティングを選択してください(0)Euro(1)Yen(2)UsaDoll";:INPUT "",RATE
290 IF RATE=0 THEN RATING=180 ELSE IF RATE=1 THEN RATING=1 ELSE IF RATE=2 THEN RATING=133 ELSE *Q4
300 *Q5 PRINT "What is Incoming for Payed Type Account(0)Cooprate Tax and Allotment Plus(1)Cooprate Tax Only(2)Allotment Only(3)Full Income"
310 PRINT "収入の支払形式は何ですか(0)法人税と配当(1)法人税のみ(2)配当金のみ(3)全部の収入";:INPUT "",PAY
320 IF PAY>-1 AND PAY<4 THEN ELSE *Q5
330 *Q6 PRINT "Is many Exparent of Stock Market Investment Payed Plan for Plan Total"
340 PRINT "合算は、支払い計画にて幾つの証券指数にしますか";:INPUT "",TOTAL
350 IF TOTAL<0 THEN TOTAL="ABS(TOTAL)" ELSE IF TOTAL="0" THEN *Q6
360 *Q7 PRINT "Stock Market Holder do not Mine(0)Yes(1)No"
370 PRINT "自分が保有しない株ですか(0)はい(1)いいえ";:INPUT "",MINE
380 IF MINE="0" OR MINE="1" THEN ELSE *Q7
390 *Q8 PRINT "Is Year Range of Stock Market Holder for many (0)1Year(1)2Year(2)4Year"
400 PRINT "証券期間を幾つのためにしますか:";:INPUT "",SR
410 IF SR>-1 AND SR<3 THEN ELSE *Q8
420 AGREE(1)=MOUNTH:AGREE(2)=SI:AGREE(3)=SHF:AGREE(4)=RATE:AGREE(5)=PAY
430 AGREE(6)=TOTAL:AGREE(7)=MINE:AGREE(8)=SR
440 IF SR="0" THEN SR2=1 ELSE IF SR="1" THEN SR2=2 ELSE IF SR="2" THEN SR2=4
450 FOR T="1" TO SR2:FOR I="MOUNTH" TO 12:COUNT=COUNT+1
460 INCOME1=SI*30000:INCOME2=SHF*30000:INCOME=INT(INCOME1+INCOME2)/RATING
470 IF PAY="0" THEN INCOME="INCOME/3" ELSE IF PAY="1" OR PAY="2" THEN INCOME="INCOME/3*2
480" SUM="INT(SUM+INCOME)
490" REM
500 SUM(I)=SUM
510 IF I="1" THEN PRINT "First Winter Season Count 1";SUM(I);INT(INCOME)
520 IF I="2" THEN PRINT "First Winter Season Count 2";SUM(I);INT(INCOME)
530 IF I="3" THEN PRINT "First Winter Season Count 3";SUM(I);INT(INCOME)
540 IF I="4" THEN PRINT "Splinter Season Count 1";SUM(I);INT(INCOME)
550 IF I="5" THEN PRINT "Splinter Season Count 2";SUM(I);INT(INCOME)
560 IF I="6" THEN PRINT "Splinter Season Count 3";SUM(I);INT(INCOME)
570 IF I="7" THEN PRINT "Summer Season Count 1";SUM(I);INT(INCOME)
580 IF I="8" THEN PRINT "Summer Season Count 2";SUM(I);INT(INCOME)
590 IF I="9" THEN PRINT "Summer Season Count 3";SUM(I);INT(INCOME)
600 IF I="10" THEN PRINT "Last Fall Season Count 1";SUM(I);INT(INCOME)
610 IF I="11" THEN PRINT "Last Fall Season Count 2";SUM(I);INT(INCOME)
620 IF I="12" THEN PRINT "Last Fall Season Count 3";SUM(I);INT(INCOME)
630 NEXT:MOUNTH=1:INPUT "",PASS:NEXT
640 IF INCOME1+INCOME2>TOTAL THEN PER=(INCOME1+INCOME2)*COUNT*100/(TOTAL*1000000)/RATING
650 IF INCOME1+INCOME2 660 PRINT "share of";PER:PRINT
700 GOTO *START
行番号100,110,120,130は、このプログラムが、福岡 大の製作したソフトである事が書かれています。また、開発環境を電脳組であると明記しています。
Command Line 100,110,120,130, This Program is Programming By Dai Fukuoka Maked with Development "Dennougumi" Coopration Limited Sign Signal .
行番号140は、配列変数の格納個数を”SUM”99個”AGREE”20個定義します。
Command Line 140 , Arrangement Valiable Conteiner Kind of "SUM" 99 Unit and "AGREE" 20 Unit Formated it .
行番号170と180は現在の月を入力します。年末決算までの収入を計算します。
Command Line 170,180 , User Must Just Now Mounth Typing After Incomming Close The Year Sales on Start Line Now .
行番号190は、意志表示の関数を実行します。0より大きく、13より小さい場合は何もしません、その代わり例外が起こった時に、ラベル”Q1”に戻りますから、1から12までしか、変数に格納できません。 Command Line 190 , This Function is Statement Execution 0 More Than 13 Less Than Case in Not Execute , Exception Case is Return Go to "Q1" Label .
行番号200と210は社会保険の指数を入力を必要とします。社会保険がない場合は投資売上を計算する事ができません。
Command Line 200,210, Society Insurance Exparent is Must Need Typing , IF Society Insurance Case Nothing is No Total .
行番号220は、-1より大きく11より小さい場合は何もしません、例外はラベル”Q2”に一段階戻ります。
Command Line 220 , Type Result -1 More Than and 11 Less Than Case is Nothing Else Exception Jump to "Q2" Label Back One Step Type Work .
行番号230と240は、証券罰金の金額を指数で入力します、株から投資の還元が出来ない、ファイナンシャルプランに対して付くファイナンシャルです。”SHF”変数に格納されます。 Command Line 230,240 , Stock Market Fine Must Type Exparent , No Chapital Incomming Case is Financial Plan Use It , This In Puted Infomation is Variable "SHF" Conteiner In . 行番号250と260は、社会保険指数を入力した”SI"と、証券罰金の指数の”SHF”no両方が空で有れば、社会保険の質問の”Q2"ラベルに移動します。
Command Line 250,260 , Typed "SI" and "SHF" Variable with In Puted Exparent Society Insurance and Stock Market Fine , IF Case is Both Nothing Answer Question Label "Q2" Jump . 行番号270と280は、変数”RATE”に通貨換算値を入力します。
Command Line 270,280 , User Must Typing Variable "RATE" In put Money Exchange Rating Value .
行番号290は、前回の入力に0は、180分の1、1は等倍、2は、133分の1とユーロ、円、米ドルに対応します。実際のFXは、もっと日本の通貨が高い数値で取引されていますが、ストックマーケットはこの値です。
Command Line 290 , RearWard Typed Method Exchange Value Case "0" 180 Divide, Case "1" Equivalent ,Case "2" Divide 133 Supprot Change Value 3 Type ,Reality Fx A Mount Japan Yen Height Rating Exchange ,Else Exist Stock Market Standard Value .
行番号300と310は、収入方式を、支払責任を設定します。”0”法人税と配当金を社会保険、罰金に払う、給料は決済される(1)法人税のみ、投資責任を証券会社のみに任せる(2)配当金のみ、投資家責任を負う(3)全部の資本責任を自分で負う。
Command Line 300,310,Setting Incomming Type Payed Responsibility Type In put Valiable "PAY" Value of "(0) Cooprate Tax with Allotment Society Insurance and Fine , Payed Incomming ,(1) Only Cooprate Tax Pay Security with Stock Market (2) Only Allotment Responsibility Investor (3) All Incomming Responsibility" 行番号320は、変数”PAY”がー1より大きく、4より小さい場合に何もしません、その他の実在されるのは、ラベル”Q5”行番号300にある所に移動する。
Command Line 320 Valiable "PAY" More Than -1 Less Than 4 Case Nothing ,Else Exist Jump Label "Q5" Command Line 300 .
行番号330と340は、入力を必要とし、通り越すことができません、社会保険と、証券罰金の合算について聞いています。それを上回る場合は、株と解釈されます。
Command Line 330,340 , User Need Type with on No Skip , hear Society Insurance Addition Fine Total , Case Over is Addit Chapital Understand .
行番号350は、合算の結果が0より小さい場合、ABS関数で符号を反転します。
Command Line 350 , Resualt Case Valiable "TOTAL" Value Less Than "0" is Reverse Sign ABS Founction .
行番号360と370は、署名について自分自身の管轄であるか、預かっているのかを聞きます。
Command Line 360,370 , This Since About User Proxy or My Found Else Undecided hear It , Valiable "MINE" Value Type In Put True (0) Did User No Have Use It , False (1) DId User Have Use It . 行番号380は、変数”MINE”が”0”か”1”であれば何もしません、その他の実在は、元の質問のラベル”Q7”に戻ります。
Command Line 380 , Valiable "MINE" Value is Case "0" or Case "1" Than Nothing ,Else Exist Return Answer Jump Label "Q7" .
行番号390と400は、証券を運用する年数を聞いています、変数”SR”に格納されます、(0)1年(1)2年(2)4年。
Command Line 390,400 , Plactical Use Term Year Type Count Valiable "SR" In Put , Tarm is Next (0)1 Year Between (1) 2 Year Between (2) 4 Year Between .
行番号410は、-1より大きく3より小さい場合は何もしません、その他の実在はラベル”Q8"に戻ります。
Command Line 410 , More Than "-1" Less Than "3" Case Nating , Else Exist Go to Label "Q8" .
行番号420と430は、配列”AGREE”に対して各変数を代入していきます。
Command Line 420,430 , Arragement Valiable "AGREE" Target EquiValent Case "(1):Mounth", Case "(2):SI", Case "(3):SHF" , Case "(4):RATE" , Case "(5):PAY" , Case "(6):TOTAL" , Case "(7):MINE" , Case (8):SR" Input Many Value Equivalent . 行番号440は、”SR”を期間の年数に変換します。”SR2”に代入されます。
Command Line 440 , Valiable "SR" Change Tram "SR2" Min 1Year Max 4 Year Type In put Loop Count Valiable .
行番号450は、関数”FOR”は変数”T”に”1”の開始を定義して、変数”SR2”に終了します。、また、その間“FOR”関数は、変数”I”に対して開始月を変数”MOUNTH”から始まり、12月に統計を終了します。年が繰り越されたら、月は冬の”1月”にもどります。
Command Line 450 , Statement Function "FOR" is Valiable "T" in "1" to "SR2"(SR2 Tarm Season Monthly) and End of "SR2" , Through Also Between Statement Function "FOR" is Valiable "I" in Start Mounth with Valiable "Mounth" to December 31 Close Year ,Over Take Year is Start Mounth Change Junylary 1 Turn And Loop with "SR2" Year End Year with Season .
行番号460は収入変数”INCOME1”に社会保険料変数”SI”に30千に掛け算します。収入変数”INCOME2”には、証券罰金を30千で掛け算します、収入変数”INCOME”は、”INCOME1”と”INCOME2”を合算し通貨換算値で割ります。日本通貨を通常と想定しているので、日本円は、換算値で割りません。
Command Line 460, Recieve Payed Valiable "INCOME1" in Society Insurance Valiable "SI" Method Multiply 30Thousand Resolution Exparent ,With Recieve Pauyed Valiable "INCOME2" in Stock Market Fine Method Multiply 30 Thousand With Method "INCOME1" Addition "INCOME2" Equivalent "INCOME" TOTAL Divition Contry Money Rating Exchange ,Japan Yen Money is Standard Accounting with Defualt .
行番号470は、条件関数にて変数”PAY1”が”0”の場合、”1”の場合、そして”2”の時、3で割り算するのか、3で割って10分の1を求めて2で掛け、20PerMoneyを計算します。雇用計画の二つになる。
Command Line 470, Desision Statement Founction "IF" by 2 Type Brunch Case "0" by Method "INCOME" Divition 3,Reduce 10 Per Money ,Case "1" by Method "INCOME" Divition 3 with Multiply 2 of 20Per Incomming Money Payed Empoyee Plan 3 Type .
行番号480は、変数”SUM"に小数点を切り捨てる関数”INT”を使用して、”SUM”に対して”INCOME”を加算します。
Command Line 480, Valiable "SUM" into "SUM" Addtion with "INCOME" and Filter Function "INT" Execute Matrix .
行番号500は、配列変数”SUM(Count)”に、SUMを等価にします。
Command Line 500, Arragement Valiable "SUM()" with Now Count Equivalent Valiable "SUM" .
行番号520から620は、関数”IF”にて、現在の変数”I”を12段階で分岐し、冬から秋にかけて現在の”INCOME”と、”SUM(数)”を表示します。620番まで途中で加算する式はありません。行番号630は、12月ごと変数”Pass”にて、ユーザーの入力を待ちます。関数”NEXT”で、440行番号から、630の区間を繰り返します。 Command Line First 520 to Last 620, Statement Function "IF" by Now Valiable "I" is Case Count 12 Type to Show Display Valiable "SUM(I)" with Valiable Now "I" and Season List Wait User Typing Passager Valiable "Pass" ,Command Line 630 is Statement Function "NEXT" is 440 to 630 Section Looping Count and Count . 行番号640は、変数”TOTAL”(合算)が収入変数”INCOME1”と”INCOME2”より小さい場合、”PER”変数に、合算を格納します。
Command Line 640 ,Valiable "TOTAL" less than Valiable "INCOME1" Addition "INCOME2" Case Valiable "PER" In put Conteiner Method "INCOME1" Addition with "INCOME2" Multiply Valiable "Count" Multiply 100 Divition Valiable "TOTAL" Multiply 1Milion Divition Valiable "RATING" . 行番号650は、変数”INCOME1”と変数”INCOME2”を加算した同じ値より、変数”TOTAL”が上回る場合、変数”PER”に対して”INCOME1”と”INCOME2”の合算を格納します。 Command Line 650 ,Valiable "INCOME1" Addition "INCOME2" Equivalent More Than Valiable "TOTAL" Case is Valiable Conteiner "TOTAL" Method Valiable "INCOME1" Plus Valiable "INCOME2" Total Valiable "TOTAL" . 行番号660は、占有率と変数”PER”を表示します。
Command Line 660 ,Share of Valiable "PER" to Show Display Counting .行番号700は、ラベル”START”に移動します。行番号160に移動します。
Command Line 700 ,Go to Label "START" and Command Line 160 Jump it .
*****************
deditor
100 REM --------------------
110 REM copyright Module by DaiFukuoka 2016.6.20-7.21
120 REM (c)電脳組
130 REM --------------------
140 CONSOLE 0,24,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,7,2:CLS 3
150 DIM CSV$(9999,11)
160 IF POINT(639,479)=POINT(639,399) THEN LINEMODE=-1:GOTO *L2 ELSE LINEMODE=1:GOTO *L1
170 *L1
180 LINE (0,0)-(639,18),4,BF:LINE(0,32)-(639,48),4,BF
190 LINE(0,96)-(639,112),5,BF:LINE(0,176)-(639,192),5,BF
200 LINE(0,256)-(639,272),6,BF:GOTO *O1
210 *L2
220 LINE (0,0)-(639,18),4,BF:LINE(0,36)-(639,54),4,BF
230 LINE(0,110)-(639,130),5,BF:LINE(0,187)-(639,204),5,BF
240 LINE(0,263)-(639,282),6,BF
250 *O1
260 LOCATE 0,0:PRINT "Load File Name : ";:INPUT "",LFN$:IF LFN$="" THEN *START
270 OPEN LFN$ AS 1:LEOF=EOF(1):CLOSE 1:IF LEOF=-1 THEN *MAKEFILE
280 OPEN LFN$ FOR INPUT AS #2:
290 FOR I=1 TO 9999:INPUT #2,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(1,4),CSV$(1,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT:CLOSE #2
300 LOCATE 0,0:PRINT SPC(78);:GOTO *START
310 OPEN LFN$ FOR OUTPUT AS #1
320 FOR I=1 TO 9999: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$(1,11):NEXT:CLOSE #1
330 LOCATE 0,0:PRINT SPC(78);:GOTO *START
340 *START
350 LOCATE 0,0:PRINT SPC(78);
360 IF CSV$(PAGE,ARTICLE)="" THEN CSV$(PAGE,ARTICLE)=" "
370 IF CSV$(PAGE,1)="" THEN CSV$(PAGE,1)=" "
380 IF FLAG=0 THEN PAGE=1:LOCATE 0,0:PRINT "Tittle / Page :";:INPUT "",PAGE:LOCATE 0,1:PRINT CSV$(PAGE,1):LOCATE 0,2:PRINT "Article Preview :";:INPUT "",ARTICLE:LOCATE 0,3:PRINT CSV$(PAGE,ARTICLE)
390 IF FLAG=-1 THEN FLAG=0:LOCATE 0,0:PRINT "Tittle / Page :";PAGE;SPC(200);:LOCATE 0,1:PRINT CSV$(PAGE,1):LOCATE 0,2:PRINT "Article Preview :";ARTICLE;SPC(200);:LOCATE 0,3:PRINT CSV$(PAGE,ARTICLE)
400 LOCATE 0,6:PRINT "Edit Artice";ARTICLE;" Page";SPC(200);PAGE;:LOCATE 0,7:INPUT "",WROTE$
410 IF WROTE$="" OR WROTE$=" " THEN ELSE CSV$(PAGE,ARTICLE)=WROTE$
420 *LOOP1
430 LOCATE 0,10:PRINT "Select Article and Pages";
440 LOCATE 0,11:PRINT "0: NoMove , 1:Add+ , 2: Dec-";:INPUT "",REQUEST
450 IF REQUEST=0 THEN *ACCEPT
460 LOCATE 0,12:PRINT "0:[1]/1:[10]/2:[100]/3:[1000]";:INPUT "",MANY
470 *ACCEPT
480 LOCATE 0,13:PRINT "Okay? 0:Yes / 1:No ";:INPUT "",ACCEPT:IF ACCEPT=1 THEN *LOOP1
490 IF MANY=0 THEN COUNT=1
500 IF MANY=1 THEN COUNT=10
510 IF MANY=2 THEN COUNT=100
520 IF MANY=3 THEN COUNT=1000
530 IF COUNT+PAGE>9999 THEN *LOOP1
540 IF COUNT+PAGE<1 THEN *LOOP1
550 IF REQUEST="0" THEN PAGE="PAGE
560" IF REQUEST="1" THEN PAGE="PAGE+COUNT:FLAG=-1
570" IF REQUEST="2" THEN PAGE="PAGE-COUNT:FLAG=-1
580" LOCATE 0,14:PRINT "For Number of Article : (1-11) : ";:INPUT "",ARTICLE
590 IF ARTICLE<1 OR ARTICLE>11 THEN ARTICLE=1
600 LOCATE 0,15:PRINT "0:Saving Sequence 1:No Think : ";:INPUT "",FILESAVE
610 IF FILESAVE=1 THEN *START ELSE IF FILESAVE=0 GOTO *SFN
620 *SFN
630 LOCATE 0,16:PRINT "Save File Name : ";:INPUT "",SFN$
640 CLS:IF SFN$="" THEN *LOOP1
650 OPEN SFN$ AS 1:CLOSE 1:OPEN SFN$ FOR OUTPUT AS #1
660 FOR I=1 TO 9999:WRITE #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(1,4),CSV$(1,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT:CLOSE #1
670 GOTO *START
680 *IFEND GOTO *START:END IF:END
行番号100,110、120,130、これは、モジュールを作った著者の福岡 大は、控めな申請です。開発環境は、有限会社電脳組です。
Command Line 100,110,120,130 , This is Make Moduler Dai Fukuoka All Right Reserved(Copy right) and PratForm Coopration Limited Dennougumi .
行番号140は、文字の大きさと、スクリーン画面の設定と合わせて、色彩と、背景色です。
Command Line 140 , Setting is Screen Charactor size with Color mode and BackGround Color .
行番号150は、配列変数CSV形式の文字列を、1万回と、11段に分けた設定します。
Command Line 150 , Setting is CSV Type Data of Arrangement Strings Words with Count and 10Thousand withon 11 Category .
行番号160は、背景色が、640と、480数の位置と、640と400の数の位置の色情報を実際に採取して、それをIFステートメントで判定を分けます、480ラインと同じで有れば-1と*L2ラベル、400ラインで有れば、黒色が地点に返されて、+1のラインモードの変数に格納します。ラベル*L1に移動します。
Command Line 160 , Case and Case IF Desision Case Ture Screen Line Mode Max 480 , Less than case False Screen Line Mode Min 400 , Desision Large or Small , Program Must Standard Screen Setting and Execute Setting ForWard Label Large *L2 or Small *L1 withon Target Root in *O1 .
行番号170、180.190、200、図形機能Line関数を使って四角形を端から端まで描いて、画面を編集します、色覚を文字列に密接します。
Command Line 170,180,190,200 , Draw Rect Deep and Deep Screen Side , Edit Screen Color BackGround Color with Fit String Text .
行番号220,230,240、規格高さで整列した四角い領域を400ラインモードで描画します。
Command Line 220,230,240 , Arrangement Rect Square Angle of Standard Height 400 Line Screen Mode at Draw .
行番号260は、必要なければ、名前を指定する必要ありません、記録したファイル名データを読み込みます。
Command Line 260 , Recording Wrote CSV Sequenceal Load File Name , FIle Name is Need Less Appointment .
行番号270は、ファイルの終端をLEOF変数に判定を納めます、LFNが行番号260にて指定されたファイルを開きます。
Command Line 270 , RearWard One Step with Variable Value Decition Put in "LEOF" Variable Value , Appointment File Name "LFN" Open .
行番号280、290は、指定したファイル名を開き、書き込み設定で11列のCSVと、終端までの高さを定数9999行まで記録ファイルから読み取ります
Command Line 280,290 , Appointment File Name Open with Trough Writing 11 Count Arrangement withon 9999 Count Height Clomn Record File to Read and End of File .
行番号300、330は、文字列の在った0,0座標に78文字半角で空白を埋め、ラベル *Startへ飛び越します。
Command Line 300 , Skip out Label "Start" Jump with String Text Coordinate 0,0 Point Harf 78 Count Type Spacing .
病番号310、320は、キャッシュから書き込んで失った変数値を”OUTPUT”設定で書き込んだ情報から読み込みます。
Command Line 310,320 , Wrote Infomation at Cash Memory loss Variable Value After Read Setting "OUTPUT" Mode at Variable Full Fill a Hole Record .
行番号360、370は、CSV形式に空の情報に対して空白を詰めていきます。CSVの先頭配列と参照配列に空白を詰めます。
Reference Pick upping Empty Changing Space Fill a Hole and Top Word Change Space .
行番号380は、変数”FLAG”が0の結果の時、開始準備を設定し、”PAGE”変数が1から始まります。整数で使用者が入力する必要があります。
Command Line 380 , Decition Result Variable Value of 0 Count For Start up Setting Page Variable Start one Trough , User is Need Typing Infometion .
行番号390は、変数値”FLAG”が-1の時"FLAG”をオフセット(0)にします。現在位置の変数値”PAGE”と、”ARTICLE”の値を表示したあと200文字空白で埋めます。1行目と3行目です、また空白を詰めたあと、現在位置の”CSV”形式の現在位置の内容を表示します。
Command Line 390 , Decition Result Variable "FLAG" Value if "-1" Case For Ward Set "0" off Set , String Text Clear Setting Space Mode , Show Display "CSV" onTime "Page" and "Article" Variable Value to Location 0 with 2 and Show String Text Contents .
行番号400は、7、8行目の6と7に、今編集中の”ARTICLE”と”PAGE”を表示し、変数値”WROTE”に格納します。空の場合は、1文字の空白が詰められます。
Command Line 400 , Colmn 7,8 Value 6,7 onTime Editing Text "ARTICLE" and "Page" Enter "CSV" Type Arrangement Variable , Show Display "Page" and "Article" Count .
行番号410は、入力で何も入力しなかった場合や空白が詰められている場合 なにもしなく、また他は”CSV”配列変数に対して文書を格納します。
Command Line 410 , This is Type Nothing Skip,User Must Typing , if No Nothing Case In Put Arragement Variable Value Type Text Infomation .
行番号430、440、450、460、480は、”MANY”と、”REQUEST”を入力し、その案内を表示します。そのままエンターキーを押すとラベル”ACCEPT”に移動して回答を伺う、否定した場合に変数”ACCEPT”を”1”とする、普通にエンターキーを押して、数値が”0”で有れば、同意し次へ進みます。
Command Line 430,440,450,460,480 , User Type Page Change Program For Input of "MANY" , "REQUEST" Atter Sign In Next , Request Ask Type Method withon Addition or Decrease Type Result , Move Page is "1","10","100","1000" Plus Minous to Decition Value Pages,Accept Type Support Enter and Defualt Value to Skip Request Standard Settings .
行番号490,500,510,520は、変数"MANY”で入力した数値に対して表記結果を条件によって数値が変わります。
Command Line 490,500,510,520, Decition Variable "MANY" Value IF Case is Need Type And Result Method Column , Default Setting Value Skip "Enter" Accept Automation Result Type Value,Change Page Count it .
行番号530,540は項の数値が9999以下1以上になるように例外を除外します。
Command Line 530,540, This Function is Exist Variable Value of 10000 under with 0 Over,Other Run Back .
行番号550、560、570は、回答した項の増減を中立なのか、増えるのか、減るのか変数”PAGE”に対して先ほど入力した”MANY”から作られた”COUNT”を増減します。
Command Line 550,560,570, RearWard This Function Ask reQuest Page Count WareHouse Nutral or Addition or Decrease,This is Make Variable "MANY" to "COUNT" IF Case Nutral is NoFlag Else Other Decition is Flag "-1"
行番号580は、590、CSV規格に準拠し、256文字以内、12項目以下です。質問と答え、”ARTICLE”にCSVの項目値を入力します。正しくない値は除外されます。
Command Line 580, This Soft Ware Standard Basic/98 with MicroSoft N88Basic(86) with TYPE DATA CSV, This Function Infomation "ARTICLE" Type Input "ARTICLE" at Value And Arragement, Request and Answer "CSV" Standard Type Variable Input Values, Exist No "256" Word Over with No "11" Arragement Over .
行番号600は、書いた情報を今保存するのか、結構なのか回答を必要とします。任意のエンターキーでは通常は保存します。変数値”FILESAVE”に結果を保持します。
Command Line 600, Now Savings Infomation Worte or No think Need Type Answer,User Type Result Nothing is Accept Wrote Planning Keep Result .
行番号610は、先程の説明に0と1以外の不正な値が格納されないように判定します。
Decition Bad Value Type Input "FILESAVE" Case Exist it , This Variable is Keep Conteiner Data .
行番号630と640は、”SAVE FILE NAME”保存する名前を”SFN”変数に入力します。次の行で、”SFN”変数が空で有ればラベル”LOOP1”に移動します。”LOOP1”は、420行番号にあります。データを保持することにファイル名を入力しなければならないそれと、通り越し禁止に一緒に
Command Line 630,640 , Show Answer "SAVE FILE NAME" After Stand by Typing and ReName Variable Conteiner "SFN" In Put Typing Infomation , IF Case Variable Value Nothing with Go to Label "Loop1" Jump Command Line 420 .Keep Data is Must Typing FileName withIn NoSkip .
行番号650と660は、変数”SFN"にあらかじめ空のファイルを#なしで作成しておき、後から作られたように、シーケンシャルファイル番号#1番にエクスポートの”OUTPUT"モードに変えます。また次の行でっは、ループ(繰り返し処理)を使って、実際に一行づつ9999回まで書き込みます、書きこまれる内容の全てが、”CSV”配列変数でなければなりません、Nextで折り返しForに戻り、抜けると#1のファイルを閉じます。
Command Line 650,660 , Starting by Empty Data File , Make "SFN" Variable New File Name For Write , Maked ForWard Sequence #1 Open Number Export "OutPut" Mode Change Open FIle Mode , This Function with Variable is Loop 1 to 9999 Count Jump Start on Count , This All Contents is Standard "CSV" Type Variable Arrangement , IF Loop out is Sequence Number #1 Close Open File with File Name Close .
行番号670は、初期化作業のみを除いた位置にラベル”START”に戻ります。行番号340にあります。
Command Line 670 , System Work is Full Setting Go to Jump Label "START" ReTurn Locate on Command Line 340 .
**************************
100 REM ---------------------
110 REM Program by Dai Fukuoka 2016.08.01-08.05
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 DIM SUM(99):DIM AGREE(20)
160 *START
170 *Q1 PRINT "What many Mounth at Start Incoming"
180 PRINT "何月から収入の始めですか:";:INPUT "",MOUNTH
190 IF MOUNTH>0 AND MOUNTH<13 THEN ELSE *Q1
200 *Q2 PRINT "Is Society Insurance Contract Exparent for much"
210 PRINT "社会保険の契約指数はいくつですか:";:INPUT "",SI
220 IF SI>-1 AND SI<11 THEN ELSE *Q2
230 *Q3 PRINT "Is many at Stock Holder's Fine"
240 PRINT "証券罰金料の指数はいくつですか";:INPUT "",SHF
250 IF SHF="0" AND SI="0" THEN *Q2
260 IF SHF>-1 AND SHF<10000 THEN ELSE *Q2
270 *Q4 PRINT "Select is Money Rate for (0)Euro(1)Yen(2)UsaDoll"
280 PRINT "通貨のレーティングを選択してください(0)Euro(1)Yen(2)UsaDoll";:INPUT "",RATE
290 IF RATE=0 THEN RATING=180 ELSE IF RATE=1 THEN RATING=1 ELSE IF RATE=2 THEN RATING=133 ELSE *Q4
300 *Q5 PRINT "What is Incoming for Payed Type Account(0)Cooprate Tax and Allotment Plus(1)Cooprate Tax Only(2)Allotment Only(3)Full Income"
310 PRINT "収入の支払形式は何ですか(0)法人税と配当(1)法人税のみ(2)配当金のみ(3)全部の収入";:INPUT "",PAY
320 IF PAY>-1 AND PAY<4 THEN ELSE *Q5
330 *Q6 PRINT "Is many Exparent of Stock Market Investment Payed Plan for Plan Total"
340 PRINT "合算は、支払い計画にて幾つの証券指数にしますか";:INPUT "",TOTAL
350 IF TOTAL<0 THEN TOTAL="ABS(TOTAL)" ELSE IF TOTAL="0" THEN *Q6
360 *Q7 PRINT "Stock Market Holder do not Mine(0)Yes(1)No"
370 PRINT "自分が保有しない株ですか(0)はい(1)いいえ";:INPUT "",MINE
380 IF MINE="0" OR MINE="1" THEN ELSE *Q7
390 *Q8 PRINT "Is Year Range of Stock Market Holder for many (0)1Year(1)2Year(2)4Year"
400 PRINT "証券期間を幾つのためにしますか:";:INPUT "",SR
410 IF SR>-1 AND SR<3 THEN ELSE *Q8
420 AGREE(1)=MOUNTH:AGREE(2)=SI:AGREE(3)=SHF:AGREE(4)=RATE:AGREE(5)=PAY
430 AGREE(6)=TOTAL:AGREE(7)=MINE:AGREE(8)=SR
440 IF SR="0" THEN SR2=1 ELSE IF SR="1" THEN SR2=2 ELSE IF SR="2" THEN SR2=4
450 FOR T="1" TO SR2:FOR I="MOUNTH" TO 12:COUNT=COUNT+1
460 INCOME1=SI*30000:INCOME2=SHF*30000:INCOME=INT(INCOME1+INCOME2)/RATING
470 IF PAY="0" THEN INCOME="INCOME/3" ELSE IF PAY="1" OR PAY="2" THEN INCOME="INCOME/3*2
480" SUM="INT(SUM+INCOME)
490" REM
500 SUM(I)=SUM
510 IF I="1" THEN PRINT "First Winter Season Count 1";SUM(I);INT(INCOME)
520 IF I="2" THEN PRINT "First Winter Season Count 2";SUM(I);INT(INCOME)
530 IF I="3" THEN PRINT "First Winter Season Count 3";SUM(I);INT(INCOME)
540 IF I="4" THEN PRINT "Splinter Season Count 1";SUM(I);INT(INCOME)
550 IF I="5" THEN PRINT "Splinter Season Count 2";SUM(I);INT(INCOME)
560 IF I="6" THEN PRINT "Splinter Season Count 3";SUM(I);INT(INCOME)
570 IF I="7" THEN PRINT "Summer Season Count 1";SUM(I);INT(INCOME)
580 IF I="8" THEN PRINT "Summer Season Count 2";SUM(I);INT(INCOME)
590 IF I="9" THEN PRINT "Summer Season Count 3";SUM(I);INT(INCOME)
600 IF I="10" THEN PRINT "Last Fall Season Count 1";SUM(I);INT(INCOME)
610 IF I="11" THEN PRINT "Last Fall Season Count 2";SUM(I);INT(INCOME)
620 IF I="12" THEN PRINT "Last Fall Season Count 3";SUM(I);INT(INCOME)
630 NEXT:MOUNTH=1:INPUT "",PASS:NEXT
640 IF INCOME1+INCOME2>TOTAL THEN PER=(INCOME1+INCOME2)*COUNT*100/(TOTAL*1000000)/RATING
650 IF INCOME1+INCOME2 660 PRINT "share of";PER:PRINT
700 GOTO *START
行番号100,110,120,130は、このプログラムが、福岡 大の製作したソフトである事が書かれています。また、開発環境を電脳組であると明記しています。
Command Line 100,110,120,130, This Program is Programming By Dai Fukuoka Maked with Development "Dennougumi" Coopration Limited Sign Signal .
行番号140は、配列変数の格納個数を”SUM”99個”AGREE”20個定義します。
Command Line 140 , Arrangement Valiable Conteiner Kind of "SUM" 99 Unit and "AGREE" 20 Unit Formated it .
行番号170と180は現在の月を入力します。年末決算までの収入を計算します。
Command Line 170,180 , User Must Just Now Mounth Typing After Incomming Close The Year Sales on Start Line Now .
行番号190は、意志表示の関数を実行します。0より大きく、13より小さい場合は何もしません、その代わり例外が起こった時に、ラベル”Q1”に戻りますから、1から12までしか、変数に格納できません。 Command Line 190 , This Function is Statement Execution 0 More Than 13 Less Than Case in Not Execute , Exception Case is Return Go to "Q1" Label .
行番号200と210は社会保険の指数を入力を必要とします。社会保険がない場合は投資売上を計算する事ができません。
Command Line 200,210, Society Insurance Exparent is Must Need Typing , IF Society Insurance Case Nothing is No Total .
行番号220は、-1より大きく11より小さい場合は何もしません、例外はラベル”Q2”に一段階戻ります。
Command Line 220 , Type Result -1 More Than and 11 Less Than Case is Nothing Else Exception Jump to "Q2" Label Back One Step Type Work .
行番号230と240は、証券罰金の金額を指数で入力します、株から投資の還元が出来ない、ファイナンシャルプランに対して付くファイナンシャルです。”SHF”変数に格納されます。 Command Line 230,240 , Stock Market Fine Must Type Exparent , No Chapital Incomming Case is Financial Plan Use It , This In Puted Infomation is Variable "SHF" Conteiner In . 行番号250と260は、社会保険指数を入力した”SI"と、証券罰金の指数の”SHF”no両方が空で有れば、社会保険の質問の”Q2"ラベルに移動します。
Command Line 250,260 , Typed "SI" and "SHF" Variable with In Puted Exparent Society Insurance and Stock Market Fine , IF Case is Both Nothing Answer Question Label "Q2" Jump . 行番号270と280は、変数”RATE”に通貨換算値を入力します。
Command Line 270,280 , User Must Typing Variable "RATE" In put Money Exchange Rating Value .
行番号290は、前回の入力に0は、180分の1、1は等倍、2は、133分の1とユーロ、円、米ドルに対応します。実際のFXは、もっと日本の通貨が高い数値で取引されていますが、ストックマーケットはこの値です。
Command Line 290 , RearWard Typed Method Exchange Value Case "0" 180 Divide, Case "1" Equivalent ,Case "2" Divide 133 Supprot Change Value 3 Type ,Reality Fx A Mount Japan Yen Height Rating Exchange ,Else Exist Stock Market Standard Value .
行番号300と310は、収入方式を、支払責任を設定します。”0”法人税と配当金を社会保険、罰金に払う、給料は決済される(1)法人税のみ、投資責任を証券会社のみに任せる(2)配当金のみ、投資家責任を負う(3)全部の資本責任を自分で負う。
Command Line 300,310,Setting Incomming Type Payed Responsibility Type In put Valiable "PAY" Value of "(0) Cooprate Tax with Allotment Society Insurance and Fine , Payed Incomming ,(1) Only Cooprate Tax Pay Security with Stock Market (2) Only Allotment Responsibility Investor (3) All Incomming Responsibility" 行番号320は、変数”PAY”がー1より大きく、4より小さい場合に何もしません、その他の実在されるのは、ラベル”Q5”行番号300にある所に移動する。
Command Line 320 Valiable "PAY" More Than -1 Less Than 4 Case Nothing ,Else Exist Jump Label "Q5" Command Line 300 .
行番号330と340は、入力を必要とし、通り越すことができません、社会保険と、証券罰金の合算について聞いています。それを上回る場合は、株と解釈されます。
Command Line 330,340 , User Need Type with on No Skip , hear Society Insurance Addition Fine Total , Case Over is Addit Chapital Understand .
行番号350は、合算の結果が0より小さい場合、ABS関数で符号を反転します。
Command Line 350 , Resualt Case Valiable "TOTAL" Value Less Than "0" is Reverse Sign ABS Founction .
行番号360と370は、署名について自分自身の管轄であるか、預かっているのかを聞きます。
Command Line 360,370 , This Since About User Proxy or My Found Else Undecided hear It , Valiable "MINE" Value Type In Put True (0) Did User No Have Use It , False (1) DId User Have Use It . 行番号380は、変数”MINE”が”0”か”1”であれば何もしません、その他の実在は、元の質問のラベル”Q7”に戻ります。
Command Line 380 , Valiable "MINE" Value is Case "0" or Case "1" Than Nothing ,Else Exist Return Answer Jump Label "Q7" .
行番号390と400は、証券を運用する年数を聞いています、変数”SR”に格納されます、(0)1年(1)2年(2)4年。
Command Line 390,400 , Plactical Use Term Year Type Count Valiable "SR" In Put , Tarm is Next (0)1 Year Between (1) 2 Year Between (2) 4 Year Between .
行番号410は、-1より大きく3より小さい場合は何もしません、その他の実在はラベル”Q8"に戻ります。
Command Line 410 , More Than "-1" Less Than "3" Case Nating , Else Exist Go to Label "Q8" .
行番号420と430は、配列”AGREE”に対して各変数を代入していきます。
Command Line 420,430 , Arragement Valiable "AGREE" Target EquiValent Case "(1):Mounth", Case "(2):SI", Case "(3):SHF" , Case "(4):RATE" , Case "(5):PAY" , Case "(6):TOTAL" , Case "(7):MINE" , Case (8):SR" Input Many Value Equivalent . 行番号440は、”SR”を期間の年数に変換します。”SR2”に代入されます。
Command Line 440 , Valiable "SR" Change Tram "SR2" Min 1Year Max 4 Year Type In put Loop Count Valiable .
行番号450は、関数”FOR”は変数”T”に”1”の開始を定義して、変数”SR2”に終了します。、また、その間“FOR”関数は、変数”I”に対して開始月を変数”MOUNTH”から始まり、12月に統計を終了します。年が繰り越されたら、月は冬の”1月”にもどります。
Command Line 450 , Statement Function "FOR" is Valiable "T" in "1" to "SR2"(SR2 Tarm Season Monthly) and End of "SR2" , Through Also Between Statement Function "FOR" is Valiable "I" in Start Mounth with Valiable "Mounth" to December 31 Close Year ,Over Take Year is Start Mounth Change Junylary 1 Turn And Loop with "SR2" Year End Year with Season .
行番号460は収入変数”INCOME1”に社会保険料変数”SI”に30千に掛け算します。収入変数”INCOME2”には、証券罰金を30千で掛け算します、収入変数”INCOME”は、”INCOME1”と”INCOME2”を合算し通貨換算値で割ります。日本通貨を通常と想定しているので、日本円は、換算値で割りません。
Command Line 460, Recieve Payed Valiable "INCOME1" in Society Insurance Valiable "SI" Method Multiply 30Thousand Resolution Exparent ,With Recieve Pauyed Valiable "INCOME2" in Stock Market Fine Method Multiply 30 Thousand With Method "INCOME1" Addition "INCOME2" Equivalent "INCOME" TOTAL Divition Contry Money Rating Exchange ,Japan Yen Money is Standard Accounting with Defualt .
行番号470は、条件関数にて変数”PAY1”が”0”の場合、”1”の場合、そして”2”の時、3で割り算するのか、3で割って10分の1を求めて2で掛け、20PerMoneyを計算します。雇用計画の二つになる。
Command Line 470, Desision Statement Founction "IF" by 2 Type Brunch Case "0" by Method "INCOME" Divition 3,Reduce 10 Per Money ,Case "1" by Method "INCOME" Divition 3 with Multiply 2 of 20Per Incomming Money Payed Empoyee Plan 3 Type .
行番号480は、変数”SUM"に小数点を切り捨てる関数”INT”を使用して、”SUM”に対して”INCOME”を加算します。
Command Line 480, Valiable "SUM" into "SUM" Addtion with "INCOME" and Filter Function "INT" Execute Matrix .
行番号500は、配列変数”SUM(Count)”に、SUMを等価にします。
Command Line 500, Arragement Valiable "SUM()" with Now Count Equivalent Valiable "SUM" .
行番号520から620は、関数”IF”にて、現在の変数”I”を12段階で分岐し、冬から秋にかけて現在の”INCOME”と、”SUM(数)”を表示します。620番まで途中で加算する式はありません。行番号630は、12月ごと変数”Pass”にて、ユーザーの入力を待ちます。関数”NEXT”で、440行番号から、630の区間を繰り返します。 Command Line First 520 to Last 620, Statement Function "IF" by Now Valiable "I" is Case Count 12 Type to Show Display Valiable "SUM(I)" with Valiable Now "I" and Season List Wait User Typing Passager Valiable "Pass" ,Command Line 630 is Statement Function "NEXT" is 440 to 630 Section Looping Count and Count . 行番号640は、変数”TOTAL”(合算)が収入変数”INCOME1”と”INCOME2”より小さい場合、”PER”変数に、合算を格納します。
Command Line 640 ,Valiable "TOTAL" less than Valiable "INCOME1" Addition "INCOME2" Case Valiable "PER" In put Conteiner Method "INCOME1" Addition with "INCOME2" Multiply Valiable "Count" Multiply 100 Divition Valiable "TOTAL" Multiply 1Milion Divition Valiable "RATING" . 行番号650は、変数”INCOME1”と変数”INCOME2”を加算した同じ値より、変数”TOTAL”が上回る場合、変数”PER”に対して”INCOME1”と”INCOME2”の合算を格納します。 Command Line 650 ,Valiable "INCOME1" Addition "INCOME2" Equivalent More Than Valiable "TOTAL" Case is Valiable Conteiner "TOTAL" Method Valiable "INCOME1" Plus Valiable "INCOME2" Total Valiable "TOTAL" . 行番号660は、占有率と変数”PER”を表示します。
Command Line 660 ,Share of Valiable "PER" to Show Display Counting .行番号700は、ラベル”START”に移動します。行番号160に移動します。
Command Line 700 ,Go to Label "START" and Command Line 160 Jump it .
*****************
deditor
100 REM --------------------
110 REM copyright Module by DaiFukuoka 2016.6.20-7.21
120 REM (c)電脳組
130 REM --------------------
140 CONSOLE 0,24,0,1:SCREEN 3,0,0,1:WIDTH 80,25:COLOR 0,7,0,7,2:CLS 3
150 DIM CSV$(9999,11)
160 IF POINT(639,479)=POINT(639,399) THEN LINEMODE=-1:GOTO *L2 ELSE LINEMODE=1:GOTO *L1
170 *L1
180 LINE (0,0)-(639,18),4,BF:LINE(0,32)-(639,48),4,BF
190 LINE(0,96)-(639,112),5,BF:LINE(0,176)-(639,192),5,BF
200 LINE(0,256)-(639,272),6,BF:GOTO *O1
210 *L2
220 LINE (0,0)-(639,18),4,BF:LINE(0,36)-(639,54),4,BF
230 LINE(0,110)-(639,130),5,BF:LINE(0,187)-(639,204),5,BF
240 LINE(0,263)-(639,282),6,BF
250 *O1
260 LOCATE 0,0:PRINT "Load File Name : ";:INPUT "",LFN$:IF LFN$="" THEN *START
270 OPEN LFN$ AS 1:LEOF=EOF(1):CLOSE 1:IF LEOF=-1 THEN *MAKEFILE
280 OPEN LFN$ FOR INPUT AS #2:
290 FOR I=1 TO 9999:INPUT #2,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(1,4),CSV$(1,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT:CLOSE #2
300 LOCATE 0,0:PRINT SPC(78);:GOTO *START
310 OPEN LFN$ FOR OUTPUT AS #1
320 FOR I=1 TO 9999: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$(1,11):NEXT:CLOSE #1
330 LOCATE 0,0:PRINT SPC(78);:GOTO *START
340 *START
350 LOCATE 0,0:PRINT SPC(78);
360 IF CSV$(PAGE,ARTICLE)="" THEN CSV$(PAGE,ARTICLE)=" "
370 IF CSV$(PAGE,1)="" THEN CSV$(PAGE,1)=" "
380 IF FLAG=0 THEN PAGE=1:LOCATE 0,0:PRINT "Tittle / Page :";:INPUT "",PAGE:LOCATE 0,1:PRINT CSV$(PAGE,1):LOCATE 0,2:PRINT "Article Preview :";:INPUT "",ARTICLE:LOCATE 0,3:PRINT CSV$(PAGE,ARTICLE)
390 IF FLAG=-1 THEN FLAG=0:LOCATE 0,0:PRINT "Tittle / Page :";PAGE;SPC(200);:LOCATE 0,1:PRINT CSV$(PAGE,1):LOCATE 0,2:PRINT "Article Preview :";ARTICLE;SPC(200);:LOCATE 0,3:PRINT CSV$(PAGE,ARTICLE)
400 LOCATE 0,6:PRINT "Edit Artice";ARTICLE;" Page";SPC(200);PAGE;:LOCATE 0,7:INPUT "",WROTE$
410 IF WROTE$="" OR WROTE$=" " THEN ELSE CSV$(PAGE,ARTICLE)=WROTE$
420 *LOOP1
430 LOCATE 0,10:PRINT "Select Article and Pages";
440 LOCATE 0,11:PRINT "0: NoMove , 1:Add+ , 2: Dec-";:INPUT "",REQUEST
450 IF REQUEST=0 THEN *ACCEPT
460 LOCATE 0,12:PRINT "0:[1]/1:[10]/2:[100]/3:[1000]";:INPUT "",MANY
470 *ACCEPT
480 LOCATE 0,13:PRINT "Okay? 0:Yes / 1:No ";:INPUT "",ACCEPT:IF ACCEPT=1 THEN *LOOP1
490 IF MANY=0 THEN COUNT=1
500 IF MANY=1 THEN COUNT=10
510 IF MANY=2 THEN COUNT=100
520 IF MANY=3 THEN COUNT=1000
530 IF COUNT+PAGE>9999 THEN *LOOP1
540 IF COUNT+PAGE<1 THEN *LOOP1
550 IF REQUEST="0" THEN PAGE="PAGE
560" IF REQUEST="1" THEN PAGE="PAGE+COUNT:FLAG=-1
570" IF REQUEST="2" THEN PAGE="PAGE-COUNT:FLAG=-1
580" LOCATE 0,14:PRINT "For Number of Article : (1-11) : ";:INPUT "",ARTICLE
590 IF ARTICLE<1 OR ARTICLE>11 THEN ARTICLE=1
600 LOCATE 0,15:PRINT "0:Saving Sequence 1:No Think : ";:INPUT "",FILESAVE
610 IF FILESAVE=1 THEN *START ELSE IF FILESAVE=0 GOTO *SFN
620 *SFN
630 LOCATE 0,16:PRINT "Save File Name : ";:INPUT "",SFN$
640 CLS:IF SFN$="" THEN *LOOP1
650 OPEN SFN$ AS 1:CLOSE 1:OPEN SFN$ FOR OUTPUT AS #1
660 FOR I=1 TO 9999:WRITE #1,CSV$(I,1),CSV$(I,2),CSV$(I,3),CSV$(1,4),CSV$(1,5),CSV$(I,6),CSV$(I,7),CSV$(I,8),CSV$(I,9),CSV$(I,10),CSV$(I,11):NEXT:CLOSE #1
670 GOTO *START
680 *IFEND GOTO *START:END IF:END
行番号100,110、120,130、これは、モジュールを作った著者の福岡 大は、控めな申請です。開発環境は、有限会社電脳組です。
Command Line 100,110,120,130 , This is Make Moduler Dai Fukuoka All Right Reserved(Copy right) and PratForm Coopration Limited Dennougumi .
行番号140は、文字の大きさと、スクリーン画面の設定と合わせて、色彩と、背景色です。
Command Line 140 , Setting is Screen Charactor size with Color mode and BackGround Color .
行番号150は、配列変数CSV形式の文字列を、1万回と、11段に分けた設定します。
Command Line 150 , Setting is CSV Type Data of Arrangement Strings Words with Count and 10Thousand withon 11 Category .
行番号160は、背景色が、640と、480数の位置と、640と400の数の位置の色情報を実際に採取して、それをIFステートメントで判定を分けます、480ラインと同じで有れば-1と*L2ラベル、400ラインで有れば、黒色が地点に返されて、+1のラインモードの変数に格納します。ラベル*L1に移動します。
Command Line 160 , Case and Case IF Desision Case Ture Screen Line Mode Max 480 , Less than case False Screen Line Mode Min 400 , Desision Large or Small , Program Must Standard Screen Setting and Execute Setting ForWard Label Large *L2 or Small *L1 withon Target Root in *O1 .
行番号170、180.190、200、図形機能Line関数を使って四角形を端から端まで描いて、画面を編集します、色覚を文字列に密接します。
Command Line 170,180,190,200 , Draw Rect Deep and Deep Screen Side , Edit Screen Color BackGround Color with Fit String Text .
行番号220,230,240、規格高さで整列した四角い領域を400ラインモードで描画します。
Command Line 220,230,240 , Arrangement Rect Square Angle of Standard Height 400 Line Screen Mode at Draw .
行番号260は、必要なければ、名前を指定する必要ありません、記録したファイル名データを読み込みます。
Command Line 260 , Recording Wrote CSV Sequenceal Load File Name , FIle Name is Need Less Appointment .
行番号270は、ファイルの終端をLEOF変数に判定を納めます、LFNが行番号260にて指定されたファイルを開きます。
Command Line 270 , RearWard One Step with Variable Value Decition Put in "LEOF" Variable Value , Appointment File Name "LFN" Open .
行番号280、290は、指定したファイル名を開き、書き込み設定で11列のCSVと、終端までの高さを定数9999行まで記録ファイルから読み取ります
Command Line 280,290 , Appointment File Name Open with Trough Writing 11 Count Arrangement withon 9999 Count Height Clomn Record File to Read and End of File .
行番号300、330は、文字列の在った0,0座標に78文字半角で空白を埋め、ラベル *Startへ飛び越します。
Command Line 300 , Skip out Label "Start" Jump with String Text Coordinate 0,0 Point Harf 78 Count Type Spacing .
病番号310、320は、キャッシュから書き込んで失った変数値を”OUTPUT”設定で書き込んだ情報から読み込みます。
Command Line 310,320 , Wrote Infomation at Cash Memory loss Variable Value After Read Setting "OUTPUT" Mode at Variable Full Fill a Hole Record .
行番号360、370は、CSV形式に空の情報に対して空白を詰めていきます。CSVの先頭配列と参照配列に空白を詰めます。
Reference Pick upping Empty Changing Space Fill a Hole and Top Word Change Space .
行番号380は、変数”FLAG”が0の結果の時、開始準備を設定し、”PAGE”変数が1から始まります。整数で使用者が入力する必要があります。
Command Line 380 , Decition Result Variable Value of 0 Count For Start up Setting Page Variable Start one Trough , User is Need Typing Infometion .
行番号390は、変数値”FLAG”が-1の時"FLAG”をオフセット(0)にします。現在位置の変数値”PAGE”と、”ARTICLE”の値を表示したあと200文字空白で埋めます。1行目と3行目です、また空白を詰めたあと、現在位置の”CSV”形式の現在位置の内容を表示します。
Command Line 390 , Decition Result Variable "FLAG" Value if "-1" Case For Ward Set "0" off Set , String Text Clear Setting Space Mode , Show Display "CSV" onTime "Page" and "Article" Variable Value to Location 0 with 2 and Show String Text Contents .
行番号400は、7、8行目の6と7に、今編集中の”ARTICLE”と”PAGE”を表示し、変数値”WROTE”に格納します。空の場合は、1文字の空白が詰められます。
Command Line 400 , Colmn 7,8 Value 6,7 onTime Editing Text "ARTICLE" and "Page" Enter "CSV" Type Arrangement Variable , Show Display "Page" and "Article" Count .
行番号410は、入力で何も入力しなかった場合や空白が詰められている場合 なにもしなく、また他は”CSV”配列変数に対して文書を格納します。
Command Line 410 , This is Type Nothing Skip,User Must Typing , if No Nothing Case In Put Arragement Variable Value Type Text Infomation .
行番号430、440、450、460、480は、”MANY”と、”REQUEST”を入力し、その案内を表示します。そのままエンターキーを押すとラベル”ACCEPT”に移動して回答を伺う、否定した場合に変数”ACCEPT”を”1”とする、普通にエンターキーを押して、数値が”0”で有れば、同意し次へ進みます。
Command Line 430,440,450,460,480 , User Type Page Change Program For Input of "MANY" , "REQUEST" Atter Sign In Next , Request Ask Type Method withon Addition or Decrease Type Result , Move Page is "1","10","100","1000" Plus Minous to Decition Value Pages,Accept Type Support Enter and Defualt Value to Skip Request Standard Settings .
行番号490,500,510,520は、変数"MANY”で入力した数値に対して表記結果を条件によって数値が変わります。
Command Line 490,500,510,520, Decition Variable "MANY" Value IF Case is Need Type And Result Method Column , Default Setting Value Skip "Enter" Accept Automation Result Type Value,Change Page Count it .
行番号530,540は項の数値が9999以下1以上になるように例外を除外します。
Command Line 530,540, This Function is Exist Variable Value of 10000 under with 0 Over,Other Run Back .
行番号550、560、570は、回答した項の増減を中立なのか、増えるのか、減るのか変数”PAGE”に対して先ほど入力した”MANY”から作られた”COUNT”を増減します。
Command Line 550,560,570, RearWard This Function Ask reQuest Page Count WareHouse Nutral or Addition or Decrease,This is Make Variable "MANY" to "COUNT" IF Case Nutral is NoFlag Else Other Decition is Flag "-1"
行番号580は、590、CSV規格に準拠し、256文字以内、12項目以下です。質問と答え、”ARTICLE”にCSVの項目値を入力します。正しくない値は除外されます。
Command Line 580, This Soft Ware Standard Basic/98 with MicroSoft N88Basic(86) with TYPE DATA CSV, This Function Infomation "ARTICLE" Type Input "ARTICLE" at Value And Arragement, Request and Answer "CSV" Standard Type Variable Input Values, Exist No "256" Word Over with No "11" Arragement Over .
行番号600は、書いた情報を今保存するのか、結構なのか回答を必要とします。任意のエンターキーでは通常は保存します。変数値”FILESAVE”に結果を保持します。
Command Line 600, Now Savings Infomation Worte or No think Need Type Answer,User Type Result Nothing is Accept Wrote Planning Keep Result .
行番号610は、先程の説明に0と1以外の不正な値が格納されないように判定します。
Decition Bad Value Type Input "FILESAVE" Case Exist it , This Variable is Keep Conteiner Data .
行番号630と640は、”SAVE FILE NAME”保存する名前を”SFN”変数に入力します。次の行で、”SFN”変数が空で有ればラベル”LOOP1”に移動します。”LOOP1”は、420行番号にあります。データを保持することにファイル名を入力しなければならないそれと、通り越し禁止に一緒に
Command Line 630,640 , Show Answer "SAVE FILE NAME" After Stand by Typing and ReName Variable Conteiner "SFN" In Put Typing Infomation , IF Case Variable Value Nothing with Go to Label "Loop1" Jump Command Line 420 .Keep Data is Must Typing FileName withIn NoSkip .
行番号650と660は、変数”SFN"にあらかじめ空のファイルを#なしで作成しておき、後から作られたように、シーケンシャルファイル番号#1番にエクスポートの”OUTPUT"モードに変えます。また次の行でっは、ループ(繰り返し処理)を使って、実際に一行づつ9999回まで書き込みます、書きこまれる内容の全てが、”CSV”配列変数でなければなりません、Nextで折り返しForに戻り、抜けると#1のファイルを閉じます。
Command Line 650,660 , Starting by Empty Data File , Make "SFN" Variable New File Name For Write , Maked ForWard Sequence #1 Open Number Export "OutPut" Mode Change Open FIle Mode , This Function with Variable is Loop 1 to 9999 Count Jump Start on Count , This All Contents is Standard "CSV" Type Variable Arrangement , IF Loop out is Sequence Number #1 Close Open File with File Name Close .
行番号670は、初期化作業のみを除いた位置にラベル”START”に戻ります。行番号340にあります。
Command Line 670 , System Work is Full Setting Go to Jump Label "START" ReTurn Locate on Command Line 340 .