秤サイズ変更対応版 shino 2004/02/12 22:18:33 ├EXTERNALSUBsetting shino 2004/02/12 22:25:52 │└EXTERNALSUBsetting2 shino 2004/02/12 22:27:14 ├すみませんが改良版を今 もりの 2004/02/12 22:26:33 │└送りました。 shino 2004/02/12 22:37:01 │ └返信しました もりの 2004/02/12 22:50:44 │ └wsは幾つにしましたか? shino 2004/02/12 23:14:36 ├はかりの台に表示される もりの 2004/02/12 22:29:15 │└ちょっと色を変えてみました。 shino 2004/02/12 23:02:43 ├書き換えました もりの 2004/02/13 00:39:16 └設定のキャンセル動作を書いていませんでし... shino 2004/02/13 00:50:25 └すいません、間違えました。 shino 2004/02/13 00:58:49 └ありがとう もりの 2004/02/13 18:46:55
秤サイズ変更対応版 shino 2004/02/12 22:18:33 ツリーへ
秤サイズ変更対応版 |
返事を書く |
shino 2004/02/12 22:18:33 | |
前のプログラムのうち、 変更の必要がある箇所のみを書きます。 上書きして下さい。 EXTERNAL PICTURE body OPTION ANGLE DEGREES IF di>90 THEN LET di=di-360 LET dy=0.1*(270+di) LET i=0 DO SET AREA COLOR colorindex(0.005*c(1,1)*(0.5*i+0.1*dy),0.005*c(2,1)*(0.5*i+0.1*dy),0.005*c(3,1)*(0.5*i+0.1*dy)) !重りの色 PLOT AREA:-0.5*ci+2*i+dy,1.25*ci-36+dy;-0.5*ci+2*i+dy,1.25*ci+36-dy-2*i;0.5*ci-2*i-dy,1.25*ci+36-dy-2*i;0.5*ci-2*i-dy,1.25*ci-36+dy SET AREA COLOR colorindex(0.15*i+0.25,0.15*i+0.25,0.15*i+0.25) !支柱の色 PLOT AREA:-0.25*ci+i-0.05*ci,bi;-0.25*ci-0.05*ci+i,ci-36+dy;-0.25*ci+0.05*ci-i,ci-36+dy;-0.25*ci+0.05*ci-i,bi PLOT AREA:0.25*ci+i-0.05*ci,bi;0.25*ci-0.05*ci+i,ci-36+dy;0.25*ci+0.05*ci-i,ci-36+dy;0.25*ci+0.05*ci-i,bi SET AREA COLOR colorindex(0.005*c(1,2)*i+0.2,0.005*c(2,2)*i+0.2,0.005*c(3,2)*i+0.2) !皿の色 PLOT AREA:-ci+3*i,1.25*ci-36+dy;-bi+i,ci-36+dy+3*i;bi-i,ci-36+dy+3*i;ci-3*i,1.25*ci-36+dy SET AREA COLOR colorindex(0.005*c(1,3)*i+0.2,0.005*c(2,3)*i+0.2,0.005*c(3,3)*i+0.2) !本体の色 PLOT AREA:-bi+2*i,-bi+2*i;bi-2*i,-bi+2*i;bi-2*i,bi-2*i;-bi+2*i,bi-2*i SET AREA COLOR colorindex(0.005*c(1,4)*i+0.2,0.005*c(2,4)*i+0.2,0.005*c(3,4)*i+0.2)!土台の色 PLOT AREA:-ci+i,-bi-2*i;-1.25*ci+4*i,-1.25*ci;1.25*ci-4*i,-1.25*ci;ci-i,-bi-2*i LET i=i+1 LOOP WHILE i<=5 LET i=0 DO SET AREA COLOR colorindex(i,i,i) !表示板 DRAW disk WITH SCALE(bi-10-2*SIN(90*i))*SHIFT(0,2.5-5*SIN(90*i)) LET i=i+0.2 LOOP WHILE i<=1 SET LINE COLOR colorindex(0,0,0) PLOT LINES:-1.25*ci,-1.25*ci;1.25*ci,-1.25*ci PLOT LINES:-ci,1.25*ci-36+dy;ci,1.25*ci-36+dy LET theta=0 LET dtheta=3600/gs(2) LET num=0 LET gg=0 SET TEXT COLOR colorindex(0,0,0) DO IF fon(4)=1 THEN DRAW memori(0.02,1,10) WITH SCALE(bi-0.05*ci)*ROTATE(-theta-0.5*dtheta) !5の目盛り(50の目盛り) IF fon(3)=1 THEN !10の目盛り(100の目盛り) DRAW memori(0.04,1,9) WITH SCALE(bi-0.05*ci)*ROTATE(-theta) END IF IF MOD(gg,5)=0 THEN !50の目盛り(500の目盛り) IF fon(2)=1 THEN DRAW memori(0.08,1,8) WITH SCALE(bi-0.05*ci)*ROTATE(-theta) SET AREA COLOR colorindex(0.8*w*c(1,3)*COS(theta)+0.2,0.8*w*c(2,3)*COS(theta)+0.2,0.8*w*c(2,3)*COS(theta)+0.2) DRAW disk WITH SCALE(0.06*ci-ci/10000*theta) END IF IF MOD(gg,10)=0 THEN !100の目盛り(1000の目盛り) IF fon(1)=1 THEN DRAW memori(0.1,2,7) WITH SCALE(bi-0.05*ci)*ROTATE(-theta) IF fon(5)=1 THEN PLOT TEXT,AT (0.5*ci)*COS(90-theta),(0.5*ci)*SIN(90-theta):STR$(num) DRAW hari WITH SCALE(0.5*ci)*ROTATE(di) LET num=num+100*rate END IF LET theta=theta+dtheta LET gg=gg+1 LOOP WHILE theta<360 END PICTURE |
├EXTERNALSUBsetting shino 2004/02/12 22:25:52 ツリーへ
Re: 秤サイズ変更対応版 |
返事を書く |
shino 2004/02/12 22:25:52 | |
EXTERNAL SUB setting LET di=0 LET ss=0.8*ws DRAW rectangle(ws-20,ss,ws-20,ss,colorindex(0.5,0.8,0.6),2) DRAW rectangle(ws-22,ss-20,ws-22,ss-2,colorindex(1,1,1),2) SET LINE COLOR colorindex(0.3,0.6,0.4) PLOT LINES:-ws+20,-ss;ws-20,-ss;ws-20,ss PLOT LINES:ws-22,ss-20;-ws+22,ss-20;-ws+22,-ss+2 SET TEXT COLOR colorindex(1,1,1) PLOT TEXT,AT -ws+50,ss-10:"設定" SET TEXT COLOR colorindex(0,0,0) DRAW rectangle(0.45*ws,0.45*ws,0.45*ws,0.45*ws,colorindex(0.3,0.3,0.3),1) WITH SHIFT(-0.8*bi,0.5*bi) SET TEXT font "",7 DRAW body WITH SCALE(0.5)*SHIFT(-0.8*bi,0.5*bi) SET TEXT font "",24 LET x=-ss LET cord$="-" SET LINE COLOR colorindex(0.5,0.5,0.5) FOR k=1 TO 2 PLOT LINES:-ss+0.2*ci,-0.5*ci;ci-ss,-0.5*ci DRAW rectangle(0.1*ci,0.1*ci,0.1*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(x,-0.5*ci) PLOT TEXT,AT x,-0.5*ci:cord$ LET x=0 LET cord$="+" NEXT k SET TEXT font "",12 PLOT TEXT,AT 0.75*ci,ci:"秤の大きさ" DRAW rectangle(0.4*ci,0.1*ci,0.4*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.75*ci,bi) SET TEXT font "",24 PLOT TEXT,AT 0.75*ci,bi:STR$(gs(1)) &"g" FOR i=1 TO 6 SET LINE COLOR colorindex(0.5,0.5,0.5) DRAW rectangle(0.05*ci,0.05*ci,0.05*ci,0.05*ci,colorindex(1,1,1),3) WITH SHIFT(0.25*ci,0.5*ci-ci*i/8+0.1*ci) SET TEXT font "",12 PLOT TEXT,AT bi,0.5*ci-ci*i/8+0.1*ci:line$(i+6) & "を表示する" SET TEXT font "",10 DRAW checked(fon(i)) WITH SHIFT(0.25*ci,0.5*ci-ci*i/8+0.1*ci) NEXT i DRAW rectangle(0.2*ci,0.1*ci,0.2*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.5*ci,-ci) DRAW rectangle(0.2*ci,0.1*ci,0.2*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(ci,-ci) DRAW rectangle(0.4*ci,0.1*ci,0.4*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.75*ci,-0.5*ci) DRAW rectangle(0.4*ci,0.1*ci,0.4*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.75*ci,-bi) PLOT TEXT,AT 0.5*ci,-ci:"OK" PLOT TEXT,AT ci,-ci:"キャンセル" PLOT TEXT,AT 0.75*ci,-0.5*ci:"初期設定に戻す" PLOT TEXT,AT 0.75*ci,-bi:"色の設定" DRAW rectangle(0.02*ci,0.07*ci,0.02*ci,0.07*ci,colorindex(1,1,1),3) WITH SHIFT(-0.8*ws+0.2*ci+0.008*ci*gs(1)/100,-0.25*ci*(1+i)) SET DRAW mode explicit SET TEXT font "",12 END SUB |
│└EXTERNALSUBsetting2 shino 2004/02/12 22:27:14 ツリーへ
Re: EXTERNALSUBsetting |
返事を書く |
shino 2004/02/12 22:27:14 | |
EXTERNAL SUB setting2 LET di=0 LET ss=0.8*ws DRAW rectangle(ws-20,ss,ws-20,ss,colorindex(0.5,0.8,0.6),2) DRAW rectangle(ws-22,ss-20,ws-22,ss-2,colorindex(1,1,1),2) SET LINE COLOR colorindex(0.3,0.6,0.4) PLOT LINES:-ws+20,-ss;ws-20,-ss;ws-20,ss PLOT LINES:ws-22,ss-20;-ws+22,ss-20;-ws+22,-ss+2 SET TEXT COLOR colorindex(1,1,1) PLOT TEXT,AT -ws+50,ss-10:"設定" SET TEXT COLOR colorindex(0,0,0) DRAW rectangle(0.45*ws,0.45*ws,0.45*ws,0.45*ws,colorindex(0.3,0.3,0.3),1) WITH SHIFT(-0.8*bi,0.5*bi) SET TEXT font "",7 DRAW body WITH SCALE(0.5)*SHIFT(-0.8*bi,0.5*bi) SET TEXT font "",24 LET x=-ss LET cord$="-" SET LINE COLOR colorindex(0.5,0.5,0.5) FOR k=1 TO 2 FOR i=1 TO 3 DRAW rectangle(0.1*ci,0.1*ci,0.1*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(x,-0.25*ci*(1+i)) PLOT TEXT,AT x,-0.25*ci*(1+i):cord$ IF k=1 THEN DRAW sbg(i,c(i,aa)/32) WITH SHIFT(x+0.1*ci,-0.25*ci*(1+i)) NEXT i LET x=0 LET cord$="+" NEXT k SET TEXT font "",12 FOR i=1 TO 10 SET LINE COLOR colorindex(0,0,0) DRAW rectangle(0.1*ci,0.05*ci,0.1*ci,0.05*ci,colorindex(c(1,i)*w,c(2,i)*w,c(3,i)*w),3) WITH SHIFT(ss,ci-ci*i/8+0.1*ci) SET LINE COLOR colorindex(0.5,0.5,0.5) DRAW rectangle(0.1*ci,0.05*ci,0.1*ci,0.05*ci,colorindex(1,1,1),3) WITH SHIFT(0.25*ci,ci-ci*i/8+0.1*ci) SET TEXT font "",12 PLOT TEXT,AT bi,ci-ci*0.125*i+0.1*ci:line$(i) & "の色" SET TEXT font "",10 PLOT TEXT,AT 0.25*ci,ci-ci*i/8+0.1*ci:"変更" NEXT i DRAW rectangle(0.2*ci,0.1*ci,0.2*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.5*ci,-ci) DRAW rectangle(0.2*ci,0.1*ci,0.2*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(ci,-ci) DRAW rectangle(0.4*ci,0.1*ci,0.4*ci,0.1*ci,colorindex(1,1,1),3) WITH SHIFT(0.75*ci,-0.5*ci) PLOT TEXT,AT 0.5*ci,-ci:"OK" PLOT TEXT,AT ci,-ci:"キャンセル" PLOT TEXT,AT 0.75*ci,-0.5*ci:"初期設定に戻す" SET DRAW mode explicit SET TEXT font "",12 FOR k=1 TO 3 FOR i=1 TO 10 LET cf(k,i)=c(k,i) NEXT i NEXT k END SUB EXTERNAL SUB mon(otype,ss,i,l,code$) SET LINE COLOR colorindex(0,0,0) IF l=0 THEN LET lc=1 ELSE IF loc>6 THEN LET aa=loc-6 LET lc=0.8 END IF SELECT CASE otype CASE 1 IF l=1 THEN CALL changer2(i) SET TEXT font "",24 SET LINE COLOR colorindex(0,0,0) DRAW rectangle(0.1*ci,0.1*ci,0.1*ci,0.1*ci,colorindex(lc,lc,lc),3) WITH SHIFT(ss,-0.25*ci*(1+i)) PLOT TEXT,AT ss,-0.25*ci*(1+i):code$ CASE 2 IF l=1 THEN FOR k=1 TO 3 DRAW sbg(k,c(k,aa)/32) WITH SHIFT(-0.8*ws+0.1*ci,-0.25*ci*(1+k)) NEXT k END IF SET TEXT font "",10 DRAW rectangle(0.1*ci,0.05*ci,0.1*ci,0.05*ci,colorindex(lc,lc,lc),3) WITH SHIFT(ss,ci-ci*0.125*i+0.1*ci) PLOT TEXT,AT ss,ci-ci*0.125*i+0.1*ci:code$ CASE ELSE END SELECT SET TEXT font "",12 END sub |
├すみませんが改良版を今 もりの 2004/02/12 22:26:33 ツリーへ
Re: 秤サイズ変更対応版 |
返事を書く |
もりの 2004/02/12 22:26:33 | |
すみませんが改良版を今 メールで送ってくれますか? プロが長いのでメールでやりとり してくれますか? メルアドは stdoor24_12@hotmail.com よろしく |
│└送りました。 shino 2004/02/12 22:37:01 ツリーへ
Re: すみませんが改良版を今 |
返事を書く |
shino 2004/02/12 22:37:01 | |
送りました。 |
│ └返信しました もりの 2004/02/12 22:50:44 ツリーへ
Re: 送りました。 |
返事を書く |
もりの 2004/02/12 22:50:44 | |
返信しました メニューがずれています |
│ └wsは幾つにしましたか? shino 2004/02/12 23:14:36 ツリーへ
Re: 返信しました |
返事を書く |
shino 2004/02/12 23:14:36 | |
wsは幾つにしましたか? 300以下だと上手く表示されなかったと思います。 こちらでは正しく表示されているので、 あと考えられる原因としてはディスプレイ の違いだと思います。 |
├はかりの台に表示される もりの 2004/02/12 22:29:15 ツリーへ
Re: 秤サイズ変更対応版 |
返事を書く |
もりの 2004/02/12 22:29:15 | |
はかりの台に表示される 1000g とかが みにくいです もっとはっきり見えるように 針のねもとはボールペンの ノックタッチのようでは どうですか? |
│└ちょっと色を変えてみました。 shino 2004/02/12 23:02:43 ツリーへ
Re: はかりの台に表示される |
返事を書く |
shino 2004/02/12 23:02:43 | |
ちょっと色を変えてみました。 EXTERNAL SUB bgを次のように上書きして下さい。 EXTERNAL SUB bg OPTION ANGLE DEGREES CLEAR DRAW rectangle(ws,ws,ws,ws,colorindex(1,1,1),2) DRAW body IF fon(6)=1 THEN SET TEXT font "",48 SET TEXT COLOR colorindex(0,0,0) PLOT TEXT,AT 0,-ci:STR$(gs(1)) & "g" ! ここから SET TEXT COLOR colorindex(w*c(1,4),w*c(2,4),w*c(3,4)) PLOT TEXT,AT 0,-ci+3:STR$(gs(1)) & "g" ! ここまで SET TEXT font "",12 END IF FOR i=0 TO 5 DRAW rectangle(0.2*ci-i,0.1*ci-i,0.2*ci-i,0.1*ci-i,colorindex(0.2*i,0.2*i,0.2*i),2) WITH SHIFT(0.82*ws,-0.92*ws) DRAW rectangle(0.2*ci-i,0.1*ci-i,0.2*ci-i,0.1*ci-i,colorindex(0.2*i,0.2*i,0.2*i),2) WITH SHIFT(bi,-0.92*ws) NEXT i SET TEXT COLOR colorindex(0,0,0) SET TEXT font "",12 PLOT TEXT,AT 0.82*ws,-0.92*ws:"終了" PLOT TEXT,AT bi,-0.92*ws:"設定" END SUB これでも駄目なら、上に示した箇所を削除して下さい。 針の根元の部分ですが、 円形を表示するのは少々面倒です。 四角形ならもう少し凝ることができます。 |
├書き換えました もりの 2004/02/13 00:39:16 ツリーへ
Re: 秤サイズ変更対応版 |
返事を書く |
もりの 2004/02/13 00:39:16 | |
書き換えました とりあえずこれで やってみます ありがとう さらに改良できましたら メールで送ってください。 |
└設定のキャンセル動作を書いていませんでし... shino 2004/02/13 00:50:25 ツリーへ
Re: 秤サイズ変更対応版 |
返事を書く |
shino 2004/02/13 00:50:25 | |
設定のキャンセル動作を書いていませんでした。 次のように修正して下さい。 始めのPUBRIC NUMERICにfon2(6),gwを追加 EXTERNAL SUB pcheckの最初に LET gw=gs(1) FOR i=1 TO 6 LET fon2(i)=fon(i) NEXT i を追加 同じくEXTERNAL SUB pcheckの最後の CASE 2 のあとに LET gs(1)=gw IF gs(1)>2000 THEN LET gs(2)= gs(1)/10 LET rate=10 ELSEIF gs(1)<=200 THEN LET gs(2)=gs(1)*10 LET rate=0.1 ELSE LET gs(2)=gs(1) LET rate=1 END IF FOR i=1 TO 6 LET fon(i)=fon2(i) NEXT i を追加 また、実行中に画面サイズを変えたい場合は 本体、EXTERNAL SUB pcheck、EXTERNAL SUB pcheck2の DO〜LOOP内のSET DRAW MODE EXPLICITの前に IF r=1 THEN LET ww=ws INPUT PROMPT "画面サイズ変更":ws IF ws>=300 THEN SET bitmap SIZE 2*ws,2*ws SET WINDOW -ws,ws,-ws,ws LET bi=ws/2 LET ci=2*ws/3 CLEAR DRAW rectangle(ws,ws,ws,ws,colorindex(1,1,1),2) CALL setting ELSE LET ws=ww END IF END IF と書けば、 右クリックで画面サイズを変更することができます。 |
└すいません、間違えました。 shino 2004/02/13 00:58:49 ツリーへ
Re: 設定のキャンセル動作を書いていませんでし... |
返事を書く |
shino 2004/02/13 00:58:49 | |
すいません、間違えました。 画面サイズの変更で、追加する文の中に CALL setting とありますが、 本体に書く場合、CALL bg EXTERNAL SUB pcheck2 に書く場合、CALL setting2 として下さい。 一応メールで送っておきます。 |
└ありがとう もりの 2004/02/13 18:46:55 ツリーへ
Re: すいません、間違えました。 |
返事を書く |
もりの 2004/02/13 18:46:55 | |
ありがとう 今日授業で使ってみましたが とても評判がよかったです でも日立では動きませんでした ですからプロジェクターには 映せませんでした |