ExcelVBAやAccessVBA,VBでは、ほぼほぼローカル変数Dimを使って十分だったが、やはりUWSCを使って画面コピペを主にしていることもあり、テキスト主体&固定された処理順を無視したキャンペーンなどが発生すると、グローバル変数でモジュール全体での数値格納が必要になってくる!というもの。
変数渡しに
function sub01(x,y)
result=0
〜処理
result=1
fend
function sub02(var x,var y)
result=0
〜処理
result=1
fend
数値の受け渡しだけでいうなら[var]を付ければサブルーチンで数値変化してもメインに戻り変更が反映される。更にresultでサブルーチンの条件を0、1で判定するといったことを同時に行えるわけだ。
が、
Web画面の追加で初期画面にあれば、新しく作ればよい。
が、
既存のページの追加とか期間限定とか時間限定とかになってくると。。。「トップページに戻らないと、その数値ないがな〜泣」とか出てきてしまう。
まぁ普通にモジュール追加とかそんな感じでもなく、通常では通り過ぎたページ(サブルーチン処理している場合)メインにはその変数は今まで必要なかったが、既にサブルーチンで計算している場合など。そこでグローバル変数に入れるだけで、新規に作らなくとも簡単に対応できたりする。
う〜ん!プログラム組んで40年!初めてグローバル変数が役にたったよ。
//mainルーチン
処理1
if SP計算=0 then exitexit
処理2
repeat
〜
until ret<>""
if SP計算=0 then exitexit
処理3
//main-end
function SP計算()
result=0
〜処理
ifb SP<30 and length(SP)=2 then
result=1
endif
fend
簡単に書くとこんな感じの処理の流れ〜
んで、処理2の後にSPが50ポイント以上の追加処理が必要になったが、既に画面はキャンペーン画面に飛んでSPの数値を再取得できる状態ではない!といった感じでは前の画面で計算したSPをそのまま使うことで、ほぼほぼ対応できそうだぁ〜といった感じのプログラム修正!
//mainルーチン
public SP=0
処理1
if SP計算=0 then exitexit
処理2
if SP<50
and length(SP)=2 then exitexit
//※ここでサブルーチンでしか使っていないSPが使える!
repeat
〜
until ret<>""
if SP計算=0 then exitexit
処理3
//main-end
こんな感じw
<近況報告>
最近は、あまり積極的にプログ更新はしていない〜というか、ほぼやってない!
パソコン弄るのもそこそこ環境は整ってきたので、急ぎでやるほどのことはない。
・電源入替850w→1250w(メイン機)
・外した850wをサブ機に載せてRyzen7 8700f(+RTX4060ti)
この程度のことは残っているが、マザボを新しく購入するぐらいのテンションアップがないとコレだけやる?って選択にはならずに、最近はもっぱらUWSC600行程度のまぁまぁ長文のモジュールをいくつかテスト実行していたところだ。
カネになれば一番良いのだが…自分用の時短なので直接的にはカネは生まない。。。
が、空き時間は多少できるw
Windows+Chrome+Excel+Access+SQLexpress+UWSC
さて後何年続くのか?20年後もUWSC動かしていそうな予感はあるが?どうかな?
それでは、またね〜( ̄▽ ̄)
2024年11月14日
2020年12月14日
UWSC 座標のログを取る自作マクロ
//log板を消去
sendstr(getid(GET_LOGPRINT_WIN), EMPTY, 1, TRUE)
// Shiftキーが押されたらマウス座標(x,y)とPEEKCOLOR を print
timer=0.2
while 1
if keyboard_enter() = 1 then
PRINT "マウスカーソルの座標"
PRINT "x:" + G_MOUSE_X + " y:" + G_MOUSE_Y + _
" PEEKCOLOR:" PEEKCOLOR(G_MOUSE_X,G_MOUSE_Y)
sleep(timer)
endif
wend
// サブルーチン
// Shiftキーが押されたら 1 が返る
Function keyboard_enter()
Result = 0
timer=0.2
sleep(timer)
while 1
if GETKEYSTATE(VK_SHIFT)
Result = 1
Exit
endif
sleep(timer)
wend
Fend
プログラミングスキルが必要なのか?成果物が必要なのか?
ここを判断できるスキルが案外一番大事なのかも知れないね?
それでは、またね〜