十進BASIC 第3掲示板

十進BASIC第3掲示板

十進BASICプログラミングについての質問や研究成果の公開にご利用ください。
メッセージ入力枠は右下をドラッグして拡大できます。 画像,URLは省略可能です。
編集/削除キーを入力しなくてもエラーにはなりませんが,何か適当な半角英数字4~8文字を指定してください。
特に,長文投稿の場合,プレビューで最後の行を確認しても,実際には途中で切れてしまうことがあるので,投稿後の確認が必要です。

vitalgraph - gnuutera2012or文句うさびょん URL

2024/07/01 (Mon) 22:06:59

バイタルサインを整理するのに使ってます。
年、月、日、時、分、収縮、拡張、脈拍、体温、SpO2、治療、食事、服薬、排便、歯磨き、備考です。
テキスト表示とグラフ表示。
詳しくはF1ヘルプ画面をご参考に。

DATA "2024","6","22","22","29","137","88" ,"88","37.9"," -- ","2300" ,"2200","2230" ,"0" ,"0" ,"特になし。"
DATA "2024","6","23","09","05","150","91" ,"81","36.3"," -- ","1020" ,"0920","0948" ,"3" ,"0" ,"特になし。"
DATA "2024","6","23","13","44","150","95" ,"78","37.2"," -- "," -- " ,"1330","1340" ,"0" ,"0" ,"特になし。"
DATA "2024","6","23","19","00","157","99" ,"85","37.0"," -- ","2330" ,"1900","1900" ,"0" ,"0" ,"特になし。"
DATA "2024","6","24","10","14","151","94" ,"79","37.5"," -- ","1035" ,"0800","0800" ,"3" ,"0" ,"特になし。"
DATA "2024","6","24","14","00","161","100","79","36.4"," -- "," -- " ,"1338","1340" ,"0" ,"0" ,"特になし。"
DATA "2024","6","24","23","00","158","106","86","37.5"," -- ","2315" ,"2230","2230" ,"0" ,"0" ,"特になし。"
DATA "2024","6","25","08","00","169","105","87","37.3"," -- ","0840" ,"0700","0700" ,"4" ,"0" ,"特になし。"
DATA "2024","6","25","14","10","154","96" ,"89","37.2"," -- "," -- " ,"1300","1300" ,"0" ,"0" ,"特になし。"
DATA "2024","6","25","23","15","170","114","80","37.3"," -- ","2355" ,"2146","2146" ,"0" ,"0" ,"特になし。"
DATA "2024","6","26","08","15","170","109","79","37.3"," -- "," -- " ,"0820"," -- " ,"4" ,"0" ,"特になし。"
DATA "2024","6","26","12","40","180","114","86","37.2"," -- ","1415" ,"1230","1238" ,"7" ,"0" ,"特になし。"
DATA "2024","6","26","19","00","186","116","84","36.9"," -- ","2130" ,"1840","1900" ,"0" ,"0" ,"特になし。"
DATA "2024","6","27","08","48","155","112","78","37.0"," -- ","0913" ,"0900","0930" ,"4" ,"1" ,"特になし。"
DATA "2024","6","27","11","10","161","84" ,"89","37.0"," -- "," -- " ,"1100","1115" ,"0" ,"0" ,"特になし。"
DATA "2024","6","27","21","23","173","120","77","37.4"," -- ","2307" ,"2120","2136" ,"0" ,"1" ,"特になし。"
DATA "2024","6","28","09","38","154","115","77","36.8"," -- ","0932" ,"0944","0950" ,"4" ,"0" ,"特になし。"
DATA "2024","6","28","12","30","177","107","92","36.4"," -- "," -- " ,"1230","1235" ,"4" ,"0" ,"特になし。"
DATA "2024","6","28","23","35","172","109","85","37.4"," -- ","2333" ,"2330","2347" ,"0" ,"0" ,"特になし。"
DATA "2024","6","29","06","51","152","111","83","37.3"," -- ","0700" ,"0650","0655" ,"4" ,"1" ,"特になし。"
DATA "2024","6","29","13","25","173","118","87","37.6"," -- "," -- " ,"1310","1325" ,"3" ,"1" ,"特になし。"
DATA "2024","6","29","20","35","169","102","92","36.9"," -- ","2117" ,"2030","2032" ,"0" ,"0" ,"特になし。"
DATA "2024","6","30","08","03","170","107","79","37.4"," -- ","0815" ,"0800","0800" ,"0" ,"1" ,"特になし。"
DATA "2024","6","30","12","23","171","110","82","37.3"," -- "," -- " ,"1220","1230" ,"4" ,"1" ,"特になし。"
DATA "2024","6","30","17","55","159","111","79","37.4"," -- ","1828" ,"1800","1810" ,"0" ,"0" ,"特になし。"
DATA "2024","7","01","06","45","171","122","82","36.6"," -- "," -- " ,"0645","0745" ,"4" ,"0" ,"特になし。"
DATA "2024","7","01","12","10","170","111","84","37.5","97" ,"1240" ,"1225","1240" ,"0" ,"1" ,"特になし。"
DATA "2024","7","01","20","45","172","106","85","37.5","96" ," " ,"2045","2100" ,"0" ,"1" ,"特になし。"

DIM YRS$(100),MOS$(100),DYS$(100),HUR$(100),MNT$(100),SYS$(100),DIA$(100),PUL$(100),TEM$(100),SPO$(100),TRE$(100),FOD$(100),CAL$(100),DEF$(100),DEN$(100),CMM$(100)
FOR I=1 TO 100
READ IF MISSING THEN EXIT FOR : YRS$(I),MOS$(I),DYS$(I),HUR$(I),MNT$(I),SYS$(I),DIA$(I),PUL$(I),TEM$(I),SPO$(I),TRE$(I),FOD$(I),CAL$(I),DEF$(I),DEN$(I),CMM$(I)
NEXT I
LET NUM=I-1
PRINT USING "## ":"年";
PRINT ",";
PRINT USING "##":"月";
PRINT ",";
PRINT USING "##":"日";
PRINT ",";
PRINT USING "##":"時";
PRINT ",";
PRINT USING "##":"分";
PRINT ",";
PRINT USING "####":"収縮";
PRINT ",";
PRINT USING "####":"拡張";
PRINT ",";
PRINT USING "####":"脈拍";
PRINT ",";
PRINT USING "####":"体温";
PRINT ",";
PRINT USING "####":"SpO2";
PRINT ",";
PRINT USING ">######":"治療";
PRINT ",";
PRINT USING "####":"食事";
PRINT ",";
PRINT USING "####":"服薬";
PRINT ",";
PRINT USING "####":"排便";
PRINT ",";
PRINT USING "######":"歯磨き";
PRINT ",";
PRINT USING "####":"備考"

FOR I=1 TO NUM
PRINT USING ">###" :YRS$(I);
PRINT ",";
PRINT USING ">#" :MOS$(I);
PRINT ",";
PRINT USING ">#" :DYS$(I);
PRINT ",";
PRINT USING ">#" :HUR$(I);
PRINT ",";
PRINT USING ">#" :MNT$(I);
PRINT ",";
PRINT USING ">###" :SYS$(I);
PRINT ",";
PRINT USING ">###" :DIA$(I);
PRINT ",";
PRINT USING ">###" :PUL$(I);
PRINT ",";
PRINT USING ">#.#" :TEM$(I);
PRINT ",";
PRINT USING ">###" :SPO$(I);
PRINT ",";
PRINT USING " >###" :TRE$(I);
PRINT ",";
PRINT USING ">###" :FOD$(I);
PRINT ",";
PRINT USING ">###" :CAL$(I);
PRINT ",";
PRINT USING ">###" :DEF$(I);
PRINT ",";
PRINT USING ">#####" :DEN$(I);
PRINT ",";
PRINT USING "<#######################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################" :CMM$(I)
NEXT I

FOR I=1 TO NUM
IF CAL$(I)<>" -- " THEN LET DOSE_OF_CALONAL_A=DOSE_OF_CALONAL_A+1
NEXT I
PRINT USING "CALONAL A 累積使用数 >###錠" : DOSE_OF_CALONAL_A

REM _/_/_/【体温】_/_/_/
SET VIEWPORT 0,0.5, 0.5,1
REM 一日目から36℃~42℃の範囲でデータを描画する。
SET WINDOW 1,NUM+1,36,43
DRAW GRID(1,0.1)

REM 体温のグリッドを描画する。
SET LINE COLOR 1
SET LINE STYLE 3
FOR I=1 TO (42-36)/1
PLOT LINES: 1, 36+I; NUM, 36+I
NEXT I
SET LINE STYLE 1

REM 体温の軸の目盛りを描画する。
FOR I=1 TO (42-36)/0.5
PLOT TEXT ,AT 1, 36+I*0.5: STR$(36+I*0.5)
NEXT I
FOR I=1 TO (42-36)/0.5
PLOT TEXT ,AT NUM-2, 36+I*0.5: STR$(36+I*0.5)
NEXT I

REM 体温の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 42: "体温"
FOR I=1 TO NUM
SET LINE COLOR 4
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 4
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND TEM$(I)<>" -- " AND TEM$(I+1)<>" -- " THEN PLOT LINES : I,VAL(TEM$(I));I+1,VAL(TEM$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND TEM$(I)<>" -- " AND TEM$(I+1)= " -- " THEN PLOT POINTS : I,VAL(TEM$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (42-36)/0.01
! IF I<NUM AND TEM$(I)= " -- " THEN PLOT POINTS : I,36+J*0.01
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND TEM$(I)<>" -- " THEN PLOT POINTS : I,VAL(TEM$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (42-36)/0.01
! IF I=NUM AND TEM$(I)= " -- " THEN PLOT POINTS : I,36+J*0.01
! NEXT J
NEXT I
PLOT LINES
SET POINT STYLE 1

REM 日付と時刻を描画する。
FOR I=1 TO NUM
PLOT TEXT ,AT I, 36.36: MOS$(I)
PLOT TEXT ,AT I, 36.24: DYS$(I)
PLOT TEXT ,AT I, 36.12: HUR$(I)
PLOT TEXT ,AT I, 36 : MNT$(I)
NEXT I
SET LINE WIDTH 1
SET POINT STYLE 1

REM _/_/_/【血圧】【脈拍】【歯磨き】_/_/_/
SET VIEWPORT 0.5,1, 0.5,1
REM 一日目から65mmHg~195mmHg、65cycle/min~195cycle/minの範囲でデータを描画する。
SET WINDOW 1,NUM+1,65,195
DRAW GRID(1,1)

REM 収縮期血圧、拡張期血圧、脈拍のグリッドを描画する。
SET LINE COLOR 1
SET LINE STYLE 3
FOR I=1 TO (190-70)/5
PLOT LINES: 1, 70+I*5; NUM, 70+I*5
NEXT I
SET LINE STYLE 1

REM 収縮期血圧、拡張期血圧、脈拍の軸の目盛りを描画する。
FOR I=1 TO (190-70)/5
PLOT TEXT ,AT 1, 70+I*5: STR$(70+I*5)
NEXT I
FOR I=1 TO (190-70)/5
PLOT TEXT ,AT NUM-2, 70+I*5: STR$(70+I*5)
NEXT I

REM 収縮期血圧の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 150: "収縮期血圧"
FOR I=1 TO NUM
SET LINE COLOR 4
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 4
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND SYS$(I)<>" -- " AND SYS$(I+1)<>" -- " THEN PLOT LINES : I,VAL(SYS$(I));I+1,VAL(SYS$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND SYS$(I)<>" -- " AND SYS$(I+1)= " -- " THEN PLOT POINTS : I,VAL(SYS$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (190-70)/0.5
! IF I<NUM AND SYS$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND SYS$(I)<>" -- " THEN PLOT POINTS : I,VAL(SYS$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (190-70)/0.5
! IF I=NUM AND SYS$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
NEXT I
PLOT LINES

REM 拡張期血圧の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 90 : "拡張期血圧"
FOR I=1 TO NUM
SET LINE COLOR 2
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 2
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND DIA$(I)<>" -- " AND DIA$(I+1)<>" -- " THEN PLOT LINES : I,VAL(DIA$(I));I+1,VAL(DIA$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND DIA$(I)<>" -- " AND DIA$(I+1)= " -- " THEN PLOT POINTS : I,VAL(DIA$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (190-70)/0.5
! IF I<NUM AND DIA$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND DIA$(I)<>" -- " THEN PLOT POINTS : I,VAL(DIA$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (190-70)/0.5
! IF I=NUM AND DIA$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
NEXT I
PLOT LINES

REM 脈拍の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 80 : "脈拍"
FOR I=1 TO NUM
SET LINE COLOR 7
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 7
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND PUL$(I)<>" -- " AND PUL$(I+1)<>" -- " THEN PLOT LINES : I,VAL(PUL$(I));I+1,VAL(PUL$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND PUL$(I)<>" -- " AND PUL$(I+1)= " -- " THEN PLOT POINTS : I,VAL(PUL$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (190-70)/0.5
! IF I<NUM AND PUL$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND PUL$(I)<>" -- " THEN PLOT POINTS : I,VAL(PUL$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (190-70)/0.5
! IF I=NUM AND PUL$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
NEXT I
PLOT LINES

REM 歯磨きの折れ線グラフを描画する。
PLOT TEXT ,AT 2, 120: "歯磨き"
FOR I=1 TO NUM
SET LINE COLOR 14
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 14
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND DEN$(I)<>" -- " AND DEN$(I+1)<>" -- " THEN PLOT LINES : I,120+10*VAL(DEN$(I));I+1,120+10*VAL(DEN$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND DEN$(I)<>" -- " AND DEN$(I+1)= " -- " THEN PLOT POINTS : I,120+10*VAL(DEN$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (190-70)/0.5
! IF I<NUM AND DEN$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND DEN$(I)<>" -- " THEN PLOT POINTS : I,120+10*VAL(DEN$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (190-70)/0.5
! IF I=NUM AND DEN$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
NEXT I
PLOT LINES
REM 日付と時刻を描画する。
FOR I=1 TO NUM
PLOT TEXT ,AT I, 72.5: MOS$(I)
PLOT TEXT ,AT I, 70 : DYS$(I)
PLOT TEXT ,AT I, 67.5: HUR$(I)
PLOT TEXT ,AT I, 65 : MNT$(I)
NEXT I
PLOT LINES
SET LINE WIDTH 1
SET POINT STYLE 1

REM _/_/_/【SPO2】_/_/_/
SET VIEWPORT 0,0.5, 0,0.5
REM 一日目から69~101の範囲でデータを描画する。
SET WINDOW 1,NUM+1,69,101
DRAW GRID(1,1)

REM SPO2のグリッドを描画する。
SET LINE COLOR 1
SET LINE STYLE 3
FOR I=1 TO (100-70)/10
PLOT LINES: 1, 70+I*10; NUM, 70+I*10
NEXT I
SET LINE STYLE 1

REM SPO2の軸の目盛りを描画する。
FOR I=1 TO (100-70)/5
PLOT TEXT ,AT 1, 70+I*5: STR$(70+I*5)
NEXT I
FOR I=1 TO (100-70)/5
PLOT TEXT ,AT NUM-2, 70+I*5: STR$(70+I*5)
NEXT I

REM SPO2の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 100: "SPO2"
FOR I=1 TO NUM
SET LINE COLOR 9
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 9
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND SPO$(I)<>" -- " AND SPO$(I+1)<>" -- " THEN PLOT LINES : I,VAL(SPO$(I));I+1,VAL(SPO$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND SPO$(I)<>" -- " AND SPO$(I+1)= " -- " THEN PLOT POINTS : I,VAL(SPO$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (100-70)/0.5
! IF I<NUM AND SPO$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND SPO$(I)<>" -- " THEN PLOT POINTS : I,VAL(SPO$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (100-70)/0.5
! IF I=NUM AND SPO$(I)= " -- " THEN PLOT POINTS : I,70+J*0.5
! NEXT J
NEXT I

! こういう方法もある。
! REM SPO2の折れ線グラフを描画する。
! FOR I=1 TO NUM
! SET LINE COLOR 9
! SET LINE WIDTH 2
! SET POINT STYLE 6
! SET POINT COLOR 9
! REM (1-1)
! IF I<NUM AND SPO$(I)<>" -- " AND SPO$(I+1)<>" -- " THEN PLOT LINES: I,VAL(SPO$(I));I+1,VAL(SPO$(I+1))
! PLOT LINES
! REM (1-2)
! IF I<NUM AND SPO$(I)<>" -- " AND SPO$(I+1)=" -- " THEN PLOT LINES: I-0.07,VAL(SPO$(I));I,VAL(SPO$(I))-0.07;I+0.07,VAL(SPO$(I));I,VAL(SPO$(I))+0.07;I-0.07,VAL(SPO$(I))
! PLOT LINES
! REM (1-3)
! IF I<NUM AND SPO$(I)=" -- " THEN PLOT LINES: I,70;I,100
! PLOT LINES
! REM (2-1)
! IF I=NUM AND SPO$(I)<>" -- " THEN PLOT LINES: I-0.07,VAL(SPO$(I));I,VAL(SPO$(I))-0.07;I+0.07,VAL(SPO$(I));I,VAL(SPO$(I))+0.07;I-0.07,VAL(SPO$(I))
! PLOT LINES
! REM (2-2)
! IF I=NUM AND SPO$(I)=" -- " THEN PLOT LINES: I,70;I,100
! PLOT LINES
! NEXT I
! PLOT LINES
! SET POINT STYLE 1

PLOT LINES
REM 日付と時刻を描画する。
FOR I=1 TO NUM
PLOT TEXT ,AT I, 71.8: MOS$(I)
PLOT TEXT ,AT I, 71.2: DYS$(I)
PLOT TEXT ,AT I, 70.6: HUR$(I)
PLOT TEXT ,AT I, 70 : MNT$(I)
NEXT I
SET LINE WIDTH 1
SET POINT STYLE 1

REM _/_/_/【排便】_/_/_/
SET VIEWPORT 0.5,1, 0,0.5
REM 一日目から-1~7.5の範囲でデータを描画する。
SET WINDOW 1,NUM+1,-1,7.5
DRAW GRID(1,1)

REM 排便のグリッドを描画する。
SET LINE COLOR 1
SET LINE STYLE 3
FOR I=1 TO (7-0)/1
PLOT LINES: 1, 0+I; NUM, 0+I
NEXT I
SET LINE STYLE 1

REM 排便の軸の目盛りを描画する。
FOR I=1 TO (7-0)/1
PLOT TEXT ,AT 1, 0+I*1: STR$(0+I*1)
NEXT I
FOR I=1 TO (7-0)/1
PLOT TEXT ,AT NUM-2, 0+I*1: STR$(0+I*1)
NEXT I

REM 排便の折れ線グラフを描画する。
PLOT TEXT ,AT 2, 7: "排便"
FOR I=1 TO NUM
SET LINE COLOR 1
SET LINE WIDTH 3
SET POINT STYLE 6
SET POINT COLOR 1
REM (1-1)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値ではない。
IF I<NUM AND DEF$(I)<>" -- " AND DEF$(I+1)<>" -- " THEN PLOT LINES : I,VAL(DEF$(I));I+1,VAL(DEF$(I+1))
PLOT LINES
REM (1-2)I<NUM、かつ、I番目は欠損値ではない、かつ、I+1番目は欠損値。
IF I<NUM AND DEF$(I)<>" -- " AND DEF$(I+1)= " -- " THEN PLOT POINTS : I,VAL(DEF$(I))
! REM (1-3)I<NUM、かつ、I番目が欠損値。 ! → I+1番目が欠損値の場合は、次のNEXT Iで対応しているので、すでにI+1番目が欠損値の場合も含まれていることに注意。
! FOR J=1 TO (7-0)/0.01
! IF I<NUM AND DEF$(I)= " -- " THEN PLOT POINTS : I,0+J*0.01
! NEXT J
REM (2-1)I=NUM、かつ、I番目は欠損値ではない。
IF I=NUM AND DEF$(I)<>" -- " THEN PLOT POINTS : I,VAL(DEF$(I))
! REM (2-2)I=NUM、かつ、I番目は欠損値。
! FOR J=1 TO (7-0)/0.01
! IF I=NUM AND DEF$(I)= " -- " THEN PLOT POINTS : I,0+J*0.01
! NEXT J
NEXT I
PLOT LINES
REM 日付と時刻を描画する。
FOR I=1 TO NUM
PLOT TEXT ,AT I, -1+0.8: MOS$(I)
PLOT TEXT ,AT I, -1+0.6: DYS$(I)
PLOT TEXT ,AT I, -1+0.4: HUR$(I)
PLOT TEXT ,AT I, -1+0.2: MNT$(I)
NEXT I
SET LINE WIDTH 1
SET POINT STYLE 1

REM _/_/_/【ヘルプ欄より】_/_/_/
REM BASICの描画命令では色を直接指定するのではなく,色指標という番号を用いて間接的に色を指定する。
REM 色指標に対応する色は固定されていない。色指標は,XYプロッタのペンホルダの番号のようなものである。各色指標には自由に色を割り当てることができる。
REM 色指標0の色は背景色で,特別な意味を持つ。また,各描画命令は,特に指定がない場合には色指標1の色を用いる。
REM 本BASICでは,色指標は0から255までが利用でき,あらかじめ次のように割り当てられている。
REM 0白, 1黒, 2青, 3緑, 4赤, 5水色, 6黄色, 7赤紫,
REM 8 灰色,9 濃い青,10 濃い緑,11 青緑, 12 えび茶,13 オリーブ色,14 濃い紫,15 銀色,・・・

REM SET COLOR MIX(色指標) 数値式,数値式,数値式
REM 色指標に対応する色を変える。色指標は数値式で与える。
REM 3つ並んだ数値式は,赤,緑,青の順に強度を0~1の数値で指定する。
REM 例
REM SET COLOR MIX(1) 0,0,1
REM を実行すると,以後,1番の色が青になる。

END

名前
件名
メッセージ
画像
メールアドレス
URL
編集/削除キー (半角英数字のみで4~8文字)
プレビューする (投稿前に、内容をプレビューして確認できます)

Copyright © 1999- FC2, inc All Rights Reserved.