
https://yuito.sakura.ne.jp/cgi/topics/topics.cgi
いつもありがとうございます。
昨日にひき続き、交信データ欄を任意の場所に表示するサブルーティンを作ってみました。
今回は、hQSLの定義ファイルです。
紙QSLの定義ファイルのときにご指摘を受けた点を改めて、
#Mov $$X=0
#Mov $$Y=0
を基準点にして作成しました。
今回も、色々と無駄な手続を経ているかもしれません。
お気づきの点がございましたら是非ご指摘ください。
> いつもありがとうございます。
> 昨日にひき続き、交信データ欄を任意の場所に表示するサブルーティンを作ってみました。
> 今回は、hQSLの定義ファイルです。
すごい、力作ですね。参考にさせていただきます。
#Mov $$Y = $$Y+22 というような足し算もできますので、そうすれば各行で
#Print $$X+20, $$Y+22 と書く必要もなくなります。

> #Mov $$Y = $$Y+22 というような足し算もできますので、そうすれば各行で
> #Print $$X+20, $$Y+22 と書く必要もなくなります。
ありがとうございます。
お世辞でもそう言っていただけると嬉しいです。
ご指摘いただいたやり方ですが、何カ所か使える場所がありますね。
早速、修整させていただきます。

> > #Mov $$Y = $$Y+22 というような足し算もできますので、そうすれば各行で
> > #Print $$X+20, $$Y+22 と書く必要もなくなります。
>
> ありがとうございます。
> お世辞でもそう言っていただけると嬉しいです。
> ご指摘いただいたやり方ですが、何カ所か使える場所がありますね。
> 早速、修整させていただきます。
お世話になっております。
変数の使い方について
浜田さんから教えていただいた
#Mov $$Y=$$Y+25
などと加減できるとのことで早速使って見たのですが
同じ変数を使い回すと、代入した値にさらに加減された値が代入されて行ってしまうようです。
色々と試行錯誤しているのですが解決に至らないでいます。
冒頭で宣言した変数の値を引き継いだまま加減する方法はないものでしょうか?

> > > #Mov $$Y = $$Y+22 というような足し算もできますので、そうすれば各行で
> > > #Print $$X+20, $$Y+22 と書く必要もなくなります。
> >
> > ありがとうございます。
> > お世辞でもそう言っていただけると嬉しいです。
> > ご指摘いただいたやり方ですが、何カ所か使える場所がありますね。
> > 早速、修整させていただきます。
>
> お世話になっております。
> 変数の使い方について
> 浜田さんから教えていただいた
> #Mov $$Y=$$Y+25
> などと加減できるとのことで早速使って見たのですが
> 同じ変数を使い回すと、代入した値にさらに加減された値が代入されて行ってしまうようです。
> 色々と試行錯誤しているのですが解決に至らないでいます。
> 冒頭で宣言した変数の値を引き継いだまま加減する方法はないものでしょうか?
#Mov $$Y = $$Y+22
と代入して処理したら末尾に
#Mov $$Y = $$Y-22
と記述することで解決しました。
お騒がせしました。
#Mov $$Y = 0
#Mov $$V = $$Y+22
・・・のようにしておいて、$$V を使いまわしたらいかがでしょうか。
$$U 〜 $$Z が数値用として使えます。

> #Mov $$Y = 0
> #Mov $$V = $$Y+22
> ・・・のようにしておいて、$$V を使いまわしたらいかがでしょうか。
>
> $$U 〜 $$Z が数値用として使えます。
ありがとうございます。
今回は、冒頭で交信データ欄の表示位置を
#Mov $$X = 0
#Mov $$Y = 0
と宣言してそれぞれの項目のパラメータを設定しました。
例えば
#Print $$X,$$Y+22
と設定して、冒頭の座標を下記のように変更したとします。
#Mov $$X = 185
#Mov $$Y = 450
すると
#Print $$X,$$Y+22は
#Mov $$Y = $$Y(450)+22
ということになり、$$Yの値は472となるので
処理が終わったら
#Mov $$Y = $$Y(472)-22
と、$$Yの値を冒頭の値に戻してから
次の処理に進みます。
これで、交信データ欄の位置指定を画面内のどこに移しても表示が崩れることがなくなりました。
しかし浜田さんのご指摘のとおり
Mov $$V = $$Y+22
として$$Vを使い回すということにすると、やはり処理が終わったら
Mov $$V = 0
と$$Vの値を払う必要があり、さらにMov $$V = $$Y+??と代入することになるので結果的に二行程増えることになるような気がするのですが如何でしょうか?
生意気なことを申しあげてすみません。
またわかりにくい説明で申しわけありません。