[戻る]
一括表示

市区町村コードを右詰で表示させる 投稿者:JS1BRX/深井 投稿日:2025/06/18(Wed) 21:56:40 No.6193

こんにちわ
先月に喉の手術を受けて以来、声が出しにくくなっているので無線ができない分、定義ファイルをいじることで気を紛らわせています。

さて、市区町村コードの「市」は、見かけは4桁ですが実は半角2文字分の空白が末尾についています。
これを、右詰で表示すると町村と区はちゃんと指定した位置から表示してくれるんですが、市だけは半角2文字分のスペースが空いてしまいます。

そこで、市のコードだけ半角2文字分右にシフトすることで見かけ上は区町村と表示が揃う方法を考えて見ました。

最初は、コードにアルファベットが含まれていたら町村のコード、含まれていなければ市のコードと判定して2文字分シフトするようにしたのですが、数字6桁の区のコードが2文字分右にズレてしまいました。

次は、? Data8 " "の条件命令で半角のスペースが含まれているのを市のコードと判別することで試してみたらうまく行きました。
ついでに、「JCC」と「JCG」も書き分けるようにしてみました。

とうの昔に既に同じことを考えられた方がいらっしゃるかもしれませんし、もっとスマートなやり方があるよと思われた方もいらっしゃるかもしれません。
是非、ご教示くださるようお願いいたします

;----------- 市区町村コード表示 -------------
?nData8! "0,1,2,3,4,5,6,7,8,9";Code欄空欄ならJCC(G)コード非表示
#Goto*50
;? Data8 " "
?nData8 "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄空欄ならJCC(G)コード非表示
#PrintR 980,135, "JCG #!JC" ;相手局の町村コード
?End
?nData8! "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄空欄ならJCC(G)コード非表示
? Data8 " "
#PrintR 996,135, "JCC #!JC" ;相手局の市コード 2文字分右にシフトする
?End。
? Data8! " "
#PrintR 980,135, "JCC #!JC" ;相手局の区コード
?End
*50

Re: 市区町村コードを右詰で表示させる 投稿者:JA3RAF/村脇 投稿日:2025/06/22(Sun) 13:16:09 No.6201

> 先月に喉の手術を受けて以来、声が出しにくくなっているので無線ができない

私は、嚥下障害が重くなり、交信中激しく咳き込む事が多くなったので、CWを始めました。

> もっとスマートなやり方があるよと思われた方もいらっしゃるかもしれません。

ちっともスマートではありませんが、、、

;----------- 市区町村コード表示 -------------
?nData8! "0,1,2,3,4,5,6,7,8,9";Code欄空欄ならJCC(G)コード非表示
#Goto*50
?End
?Data8! " "
?nData8 "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄英字ならJCGコード表示
#PrintR 980,135, "JCG #!JC" ;相手局の町村コード
#Goto*50
?End
#PrintR 980,135, "JCC #!JC" ;相手局の区コード
#Goto*50
#PrintR 996,135, "JCC #!JC" ;相手局の市コード 2文字分右にシフトする
*50

区の無い市の場合、上記では誤動作しそうに思うのですが、何故か正常に動作します。
理由は解りません。(?Data8!の条件範囲はGoto2回迄と見做されるのかな?)

Re^2: 市区町村コードを右詰で表示させる 投稿者:JS1BRX/深井 投稿日:2025/06/22(Sun) 19:49:14 No.6203

JA3RAF/村脇さんこんばんわ
レスありがとうございます。

> 私は、嚥下障害が重くなり、交信中激しく咳き込む事が多くなったので、CWを始めました。

私も手術後一ヶ月は、嚥下食でした。
退院後、フードプロセッサーを購入しベビーフードのようなものを食べていました。
今は概ね普通の食事が摂れるようになりましたが、水のようなサラサラとしたものは今でも飲みにくくて咽せてしまいます。

また、CQを出すときにも手術前のようにはいかず、息継ぎがうまくできなくて途切れ途切れになってしまいます。これにも嚥下力が関わっているんでしょうか。
今後もこの症状が続くようなら、電話での交信から他の分野にシフトして行こうかと思います。

さて、本題に戻ります。
早速のご提示ありがとうございます。

すぐに試してみましたが、市コードの字下げがうまくいきませんでした。
僭越ながら二箇所#Goto命令をコメントアウト、二箇所に?Data8の条件命令を追加してみたら見込みどおりの動作をしてくれました。

もしかして、試作段階の定義ファイルをご提示いただいたのでしょうか?
私は、パソコンでプログラミンといったら、BASICやMRDB、Access等で自分の業務用のシステムを作る程度の経験しかありませんでしたが、これからも素人ながらできるだけスマートでパートパートで汎用性のあるものを作りたいと思います。

そのためには、他の方が作成されたプログラムを読むことが一番だと考えています。
今後ともよろしくお願いいたします。


-----------------------------------------------------------------------------------------
#Size 1024,652,0x00E3F1FF ;hQSLのサイズと背景色を指定
#FontName="MS ゴシック"
#FontSize=28

;----------- 市区町村コード表示 By JA3RAF(原本) -------------
?nData8! "0,1,2,3,4,5,6,7,8,9";Code欄空欄ならJCC(G)コード非表示
#Goto*40
?End
?Data8! " "
?nData8 "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄英字ならJCGコード表示
#PrintR 980,55, "JCG #!JC" ;相手局の町村コード
#Goto*40
?End
#PrintR 980,55, "JCC #!JC" ;相手局の区コード
#Goto*40
#PrintR 996,55, "JCC #!JC" ;相手局の市コード 2文字分右にシフトする
*40
?End
;----------- 市区町村コード表示 By JA3RAF(一部修正後) -------------
?nData8! "0,1,2,3,4,5,6,7,8,9";Code欄空欄ならJCC(G)コード非表示
#Goto*55
?End
?Data8! " "
?nData8 "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄英字ならJCGコード表示
#PrintR 980,135, "By JA3RAF JCG #!JC" ;相手局の町村コード
;#Goto*55 ★★★★★コメントアウト
?End
?Data8! " ";★★★★★条件追加 半角のスペースが存在しないとき以下の行を実行(英字と半角スペースが存在しないので区コードと判定)
#PrintR 980,135, "By JA3RAF JCC #!JC" ;相手局の区コード
?End
;#Goto*55 ★★★★★コメントアウト
?Data8 " ";★★★★★条件追加 半角のスペースが存在するとき以下の行を実行(英字あり、半角スペースありで区のない市と判定)
#PrintR 1010,135, "By JA3RAF JCC #!JC" ;相手局の市コード 2文字分右にシフトする
*55
?End
;----------- 市区町村コード表示 By JS1BRX -------------
?nData8! "0,1,2,3,4,5,6,7,8,9" ;Code欄空欄ならJCC(G)コード非表示
#Goto*60
?nData8 "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";Code欄英字ならJCGコード表示
#PrintR 980,190, "By JS1BRX JCG #!JC" ;相手局の町村コード
?End
?nData8! "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R";アルファベットがなく
? Data8 " "       ;半角のスペースがあれば区のない市のコードとして以下の一行を実行する
#PrintR 1010,190, "By JS1BRX JCC #!JC" ;2文字分右にシフトする
?End。
? Data8! " " ;半角のスペースがなければ
#PrintR 980,190, "By JS1BRX JCC #!JC" ;相手局の区コード
?End
*60
#PrintR 980,250, "参考区コード  JCC #110100" ;相手局の区コード
#PrintR 980,310, "参考町村コード JCG #13004D" ;相手局の区コード
#Exit

Re^3: 市区町村コードを右詰で表示させる 投稿者:JA3RAF/村脇 投稿日:2025/06/22(Sun) 21:21:25 No.6204

> レスありがとうございます。

誰も応答しないままだと、折角の貴御考察が消えるカモ知れないので、応答しただけです。

> すぐに試してみましたが、市コードの字下げがうまくいきませんでした。

私の環境では、何故かちゃんと字下げされてましたが、書いた本人も何故動作するか不思議に思う、トリッキーな内容ですので、環境が違えば、動作も異なるカモ知れません、

> もしかして、試作段階の定義ファイルをご提示いただいたのでしょうか?

上から順次実装して行ったら、全部書かない内に、動作してしまった次第。

- WebForum -