アフィリエイト広告を利用しています

[ PR ]

検索
<< 2024年12月 >>
1
2 3 4 5 6 7
8
9 10 11 12 13 14
15
16 17 18 19 20 21
22
23 24 25 26 27 28
29
30 31
最新記事
カテゴリーアーカイブ
写真ギャラリー
プロフィール
あどのまつりさんの画像
あどのまつり
ファン


[ PR ]

2024年11月14日

UWSCで初めて有効なグローバル変数を使うことになったよ

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動かしていそうな予感はあるが?どうかな?

それでは、またね〜( ̄▽ ̄)
posted by あどのまつり at 19:28 | UWSC

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




プログラミングスキルが必要なのか?成果物が必要なのか?

ここを判断できるスキルが案外一番大事なのかも知れないね?


それでは、またね〜
posted by あどのまつり at 02:58 | UWSC

Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: