!R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
%%で囲った範囲内で文字を選択する方法はないでしょうか
> !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> %%で囲った範囲内で文字を選択する方法はないでしょうか
JA5LEU 大崎さん こんにちは
"%%で囲った範囲内で文字を選択する方法"の意味が良く判らないので勘違いしているかもしれませんが
R1にある%%で括られた文字内の文字列検索であれば多分これですかね?他に有るかも?
--取説より抜粋--------------------------
【案1】? RmStr "文字列"
指定した文字列が、現在読み込んであるQSOデータ中のRemarks1かRemarks2に存在すれば、この次の一行を実行します。
【案2】? $$A "文字列"
文字列変数に特定の文字列が存在すれば、この次の一行を実行します。$$A 〜 $$Tが使えます。
---------------------------------------
※【案2】こちらを使用する場合はR1かR2に%%で括られた文字列を取り込む等加工が必要です。
#MOV $$A = "!R1" もしくは #MOV $$A = "!R2"
※R1に%FO-29%と入れてテストした時の定義です。(R1の%%で括られた文字列を検索した例)
#MOV $$A = "!R1"
? $$A "FO-29"
#Print 270, 150,"FO-29だ〜!"
【追記】
単純に%%で括った文字を印刷だったらこちらかな?
!R1 Remarks1に記入した文字列のうち、%と%で括った文字列。%文字列%が存在しなければ、何も印字しません。
!R2 Remarks2(!R1と同じ)
記載例
#Print 272, 52,"!R1"
> > !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> > %%で囲った範囲内で文字を選択する方法はないでしょうか
>JH1UVJ井上様
早々のアドバイスありがとうございます
私の説明が悪く申し訳ありません
移動運用した時 ハムログ備考欄に運用地のJCC,JCG GLを記入しています
そのJCCやGL 指定位置に表記したいと思っての問い合わせです
備考1 %JA5LEU/5 JCC3901 GL:PM63SM%
JA5LEU/が備考1にあれば JCC*** GL:**の箇所を抽出し表記させる定義を考えています
もちろん#PRINT 272,52,"R1"でも可能ですが
!R1,n1,n2を実行すれば%%で囲まれていない文字も表記してしまいます
> > > !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> > > %%で囲った範囲内で文字を選択する方法はないでしょうか
>
> >JH1UVJ井上様
> 早々のアドバイスありがとうございます
> 私の説明が悪く申し訳ありません
> 移動運用した時 ハムログ備考欄に運用地のJCC,JCG GLを記入しています
> そのJCCやGL 指定位置に表記したいと思っての問い合わせです
> 備考1 %JA5LEU/5 JCC3901 GL:PM63SM%
> JA5LEU/が備考1にあれば JCC*** GL:**の箇所を抽出し表記させる定義を考えています
> もちろん#PRINT 272,52,"R1"でも可能ですが
>
> !R1,n1,n2を実行すれば%%で囲まれていない文字も表記してしまいます
> 追伸
このhQSLのように固定の時は固定のJCC GL 移動時は移動場所のJCC GLを自動で判断して表記し たい
>
> > > !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> > > %%で囲った範囲内で文字を選択する方法はないでしょうか
>
> >JH1UVJ井上様
> 早々のアドバイスありがとうございます
> 私の説明が悪く申し訳ありません
> 移動運用した時 ハムログ備考欄に運用地のJCC,JCG GLを記入しています
> そのJCCやGL 指定位置に表記したいと思っての問い合わせです
> 備考1 %JA5LEU/5 JCC3901 GL:PM63SM%
> JA5LEU/が備考1にあれば JCC*** GL:**の箇所を抽出し表記させる定義を考えています
> もちろん#PRINT 272,52,"R1"でも可能ですが
>
> !R1,n1,n2を実行すれば%%で囲まれていない文字も表記してしまいます
>
>
私もほとんど移動運用なので一時期!R1,n1,n2を使ってと考えたのですが、移動地名は文字数が色々で
その後に有るJCC-NoやGLの文字の取得が困難だったので%%で括った内容をそのまま印刷しています。
移動地情報を固定位置への印刷でしたら「!R1$A」を利用してR1に
移動地名は【$N=須崎市$】JCC/Gは【$J=3905$】GLは【$G=PM65$】等移動地情報を入力しておいて
R1下の記載例
$N=須崎市$ $J=3905$ $G=PM65$
? Space! "!R1$N" ;$N=移動:須崎市$と移動地記載有れば
#MOV $$N= "!R1$N" :移動地名
? Space "!R1$N" ;$N=移動地名$が記載無ければ
#MOV $$N= "固定:高知市" :固定地名
#Print 270,70, "!$$N"
? Space! "!R1$J" ;$J=JCC:3905$と移動地記載有れば
#MOV $$J= "!R1$J" :移動JCC/JCG
? Space "!R1$J" ;$J=移動地CD$が記載無ければ
#MOV $$J= "JCC:3901" :固定JCC
#Print 270,90, "!$$J"
? Space! "!R1$G" ;$R=GL:PM63PK$と移動地記載有れば
#MOV $$G= "!R1$G" :移動GL
? Space "!R1$G" ;$R=移動地CD$が記載無ければ
#MOV $$G= "GL:PC63SM" :固定GL
#Print 270,110, "!$$G"
画像サンプルの中身は上記定義文で動くか検証の為なので適当に入れてます。
こんなのでは、如何でしょうか? 今、思いつくのはこれぐらいですね。
もっと良い方法でやられてる人もいると思いますが皆さん教えて下さいm(_ _)m
> > > > > !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> > > > > %%で囲った範囲内で文字を選択する方法はないでしょうか
> > >
> > > >JH1UVJ井上様
> > > 早々のアドバイスありがとうございます
> > > 私の説明が悪く申し訳ありません
> > > 移動運用した時 ハムログ備考欄に運用地のJCC,JCG GLを記入しています
> > > そのJCCやGL 指定位置に表記したいと思っての問い合わせです
> > > 備考1 %JA5LEU/5 JCC3901 GL:PM63SM%
> > > JA5LEU/が備考1にあれば JCC*** GL:**の箇所を抽出し表記させる定義を考えています
> > > もちろん#PRINT 272,52,"R1"でも可能ですが
> > >
> > > !R1,n1,n2を実行すれば%%で囲まれていない文字も表記してしまいます
> > >
> > >
> >
> > 私もほとんど移動運用なので一時期!R1,n1,n2を使ってと考えたのですが、移動地名は文字数が色々で
> > その後に有るJCC-NoやGLの文字の取得が困難だったので%%で括った内容をそのまま印刷しています。
> >
> > 移動地情報を固定位置への印刷でしたら「!R1$A」を利用してR1に
> > 移動地名は【$N=須崎市$】JCC/Gは【$J=3905$】GLは【$G=PM65$】等移動地情報を入力しておいて
> >
> > R1下の記載例
> > $N=須崎市$ $J=3905$ $G=PM65$
> >
> > ? Space! "!R1$N" ;$N=移動:須崎市$と移動地記載有れば
> > #MOV $$N= "!R1$N" :移動地名
> > ? Space "!R1$N" ;$N=移動地名$が記載無ければ
> > #MOV $$N= "固定:高知市" :固定地名
> > #Print 270,70, "!$$N"
> >
> > ? Space! "!R1$J" ;$J=JCC:3905$と移動地記載有れば
> > #MOV $$J= "!R1$J" :移動JCC/JCG
> > ? Space "!R1$J" ;$J=移動地CD$が記載無ければ
> > #MOV $$J= "JCC:3901" :固定JCC
> > #Print 270,90, "!$$J"
> >
> > ? Space! "!R1$G" ;$R=GL:PM63PK$と移動地記載有れば
> > #MOV $$G= "!R1$G" :移動GL
> > ? Space "!R1$G" ;$R=移動地CD$が記載無ければ
> > #MOV $$G= "GL:PC63SM" :固定GL
> > #Print 270,110, "!$$G"
> >
> > 画像サンプルの中身は上記定義文で動くか検証の為なので適当に入れてます。
> > こんなのでは、如何でしょうか? 今、思いつくのはこれぐらいですね。
> > もっと良い方法でやられてる人もいると思いますが皆さん教えて下さいm(_ _)m
JA5LEU大塚様、JH1UVJ井上様
投稿の勉強中ですがよろしくお願いします。
現在当局が使用している定義ファイルの一部抜粋ですが参考にはならないと思いますが
添付させていただきます。
: 自局の移動はハムログ入力画面 2□ にチェックを入力し、
: 定義ファイル内で移動エリヤ</1>等に更する。
:
:==============以下は事前に変更する。====================================
:-------------サイズの指定---------------------------------
: 画面を変更しています-
?Check2!
#Size 640,250,0x009FF396 :固定時
? End
?Check2
#Size 640,250,0x00AAD5FF :移動時
? End
:---------------写真のドライブ指定--------------------------
:#Mov $$L="C:\Hamlog\mQSLフォルダー\写真\" :仮設用
:#Mov $$L="C:\QSL写真\Resized\"
:--------------------モードの一括指定-----------------------
#Mov $$D="FT8,FT4,FT2,JT65,JT9,FST4," ;db表示するモードを指定
#Mov $$F="AM,FM,SSB,C4FM" ;db表示以外のモードを指定(R S)
:CW,SSTV直接入力
:---------------画像モニター----------------------------
:#Jpg 30,30,0,30,"C:\Hamlog\mQSLフォルダー\写真\540-10.jpg"
:#Jpg 30,30,0,30,"C:\QSL写真\Resized\240-16.jpg" :画像モニター
:(画像は下に隠す)
:==============罫線の有無表示=====手動切替==================
#Mov $$T="#ExitZ" :座標表示をさせる場合は無効にする(:を挿入する)
:---------------変更箇所--------------------------------@
#Mov $$C= "JA5LEU" :コールサインの仮登録、!Ca書換OK (加入後)
:#Mov $$C= "!Ca"
:#Mov $$K= "#Goto*2300" :コールサインの仮登録
:-------------- -国内、海外個人情報の切替------------------
? DXST!
#Goto*30
? DXST
#Goto*31
:-------------- -国内個人情報の変更-----------------------
*30
#Mov $$S="HAMLOG E-Mail QSL" :表題
:#Mov $$S="東京都八王子市" :所在地
#Mov $$N="大崎様" :氏名設定
#Goto*32
:---------------海外個人情報の変更------------------------
*31
#Mov $$S="HAMLOG E-Mail QSL" :表題
:#Mov $$S="TOKYO JAPAN" :国名設定
#Mov $$N="大崎様" :氏名設定
:#Mov $$O="Tnx!BtBand!MDModeQSO HAMLOG E-Mail QSL"
#Goto*32
*32
:XXXXXXXXXXXXXXXX固定、移動の判定XXXXXXXXXXXXXXXXXXXX
?Check2! :固定
#Mov $$G="GL:PM63sm" :グリットロケータ番号
#Mov $$J="JCC:3901" :市町村番号(アマ専用)
? End
?Check2 :移動時場所に
#Mov $$G="GL:PM95qp" :グリットロケータ番号
#Mov $$J="JCC:1002" :市町村番号
? End
:HHHHHHHHHHHHHHH- 自局の移動エリヤ変更-HHHHHHHHHHHHHHHHHA
?Check2
#Mov !$$P="/1" :/1 /5 /W0
*==============以下プログラム処理====================
:--------ー−-表題表示---------------------
#FontName="Meiryo UI" :フォントの種類
#FontSize=20 :フォントの大きさ
#FontStyle=1 :フォントの太さ、傾き等
#FontColor=190
?Check2!
#Print 50,2,"!$$S" :国内固定時
?Check2
#Print 50,2,"移動先:!LC" :国内移動時
?End
:----------自局のコールサイン影-------------------------
#Mov $$X=80
#Mov $$Y=30
#FontName="Showcard Gothic"
:#FontColor=0x00FFFF00 :(空色)
#FontColor=0x0080FFFF ;(黄色)
#FontStyle=1
#FontSize=45
#Print $$X-1,$$Y+2,"!$$C" ;コールサイン影(左)
#Print $$X+4,$$Y+2,"!$$C" ;コールサイン影(右)
#Print $$X+2,$$Y-2,"!$$C" ;コールサイン影(上)
#Print $$X+2,$$Y+6,"!$$C" ;コールサイン影(下)
;--------自局コールサイン--------------------------------
#FontColor=0x00FF0000 ;(青)
#Print $$X+2,$$Y+2,"!$$C" ;自局のコールサイン
:-------------移動時の追加----手抜き工事------------------
#FontSize=30
#FontColor=0x0000FFFF :(黄色)
#Print $$X+213,$$Y+22,"!$$P"
#FontColor=0x00FF0000 ;(青)
#Print $$X+210,$$Y+20,"!$$P"
? End
:---------------------ZONE,GL,JCCの表示----------------------
#FontName="Meiryo UI"
#FontColor=165
#FontSize=18
#Print 430,3,"ZONE:25"
#Print 430,24,"!$$G"
#Print 430,43,"!$$J"
? End
:---------------交信番号---共通---------
#FontColor=0x00FF0000
#FontSize=12
#PrintR 500, 100, "交信番号;!No"
#Exit
:==============End=======================
以上ですがご検討ください。
> !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> %%で囲った範囲内で文字を選択する方法はないでしょうか
新しい命令構文の #Substr 変数,Start,Length,文字列
を使う方法が良いかと・・
但し、移動地名称の字数は一定ではないので
Rem1の記載順を、コール/エリア、GL: 、移動地名称でしょうか
後は、取り出し数値の調整で良いかと・・
> > > > !R1,n1,n2は、備考欄1の文字範囲を選択する命令ですが
> > > > %%で囲った範囲内で文字を選択する方法はないでしょうか
> >
> > >JH1UVJ井上様
> > 早々のアドバイスありがとうございます
> > 私の説明が悪く申し訳ありません
> > 移動運用した時 ハムログ備考欄に運用地のJCC,JCG GLを記入しています
> > そのJCCやGL 指定位置に表記したいと思っての問い合わせです
> > 備考1 %JA5LEU/5 JCC3901 GL:PM63SM%
> > JA5LEU/が備考1にあれば JCC*** GL:**の箇所を抽出し表記させる定義を考えています
> > もちろん#PRINT 272,52,"R1"でも可能ですが
> >
> > !R1,n1,n2を実行すれば%%で囲まれていない文字も表記してしまいます
> >
> >
>
> 私もほとんど移動運用なので一時期!R1,n1,n2を使ってと考えたのですが、移動地名は文字数が色々で
> その後に有るJCC-NoやGLの文字の取得が困難だったので%%で括った内容をそのまま印刷しています。
>
> 移動地情報を固定位置への印刷でしたら「!R1$A」を利用してR1に
> 移動地名は【$N=須崎市$】JCC/Gは【$J=3905$】GLは【$G=PM65$】等移動地情報を入力しておいて
>
> R1下の記載例
> $N=須崎市$ $J=3905$ $G=PM65$
>
> ? Space! "!R1$N" ;$N=移動:須崎市$と移動地記載有れば
> #MOV $$N= "!R1$N" :移動地名
> ? Space "!R1$N" ;$N=移動地名$が記載無ければ
> #MOV $$N= "固定:高知市" :固定地名
> #Print 270,70, "!$$N"
>
> ? Space! "!R1$J" ;$J=JCC:3905$と移動地記載有れば
> #MOV $$J= "!R1$J" :移動JCC/JCG
> ? Space "!R1$J" ;$J=移動地CD$が記載無ければ
> #MOV $$J= "JCC:3901" :固定JCC
> #Print 270,90, "!$$J"
>
> ? Space! "!R1$G" ;$R=GL:PM63PK$と移動地記載有れば
> #MOV $$G= "!R1$G" :移動GL
> ? Space "!R1$G" ;$R=移動地CD$が記載無ければ
> #MOV $$G= "GL:PC63SM" :固定GL
> #Print 270,110, "!$$G"
>
> 画像サンプルの中身は上記定義文で動くか検証の為なので適当に入れてます。
> こんなのでは、如何でしょうか? 今、思いつくのはこれぐらいですね。
> もっと良い方法でやられてる人もいると思いますが皆さん教えて下さいm(_ _)m
各局色々なアドバイスありがとうございます
R1下の記載例
$N=須崎市$ $J=3905$ $G=PM65$
上記を備考欄に記載し ? Space! "!R1$N" 等の命令を参考に
定義ファイルを作成しました
VY FB 移動も固定も作成した定義ファイル1つでhQSLが作成できます
各局のアドバイスを参考に命令文を勉強していきます
73 & 88 TU GL
> 各局色々なアドバイスありがとうございます
> R1下の記載例
> $N=須崎市$ $J=3905$ $G=PM65$
> 上記を備考欄に記載し ? Space! "!R1$N" 等の命令を参考に
> 定義ファイルを作成しました
> VY FB 移動も固定も作成した定義ファイル1つでhQSLが作成できます
> 各局のアドバイスを参考に命令文を勉強していきます
> 73 & 88 TU GL
もしお手元にCQ誌2023年1月号があれば、235ページにJH1UVJ井上さんのや
り方を詳細に説明した記事を載せています。この記事のコンセプトは「%
%からの脱却」です、hi
ヘルプにもありますが、$A=文字列$は$Aから$Zまで26種類を使い分けるこ
とが可能です。なおHAMLOGの場合、基本的にデータの結合は簡単な一方、
データの分割は#Substr命令である程度できるものの限定的と考えたほうが
良い(と個人的には思っている)ので、$A=文字列$へ入れる文字列は最小
単位として(例えばJCC1906はRmks1に$A=JCC$$B=1906$と入力)、QSL定義
ファイルにて結合(上記の例なら!R1$A!R1$Bと記述)すると良いと思いま
す。
$A=文字列$を上手に使うことで、JA5LEU大崎さんが感じておられるように、
移動も固定も1つの定義ファイルで済ますことも可能ですし、hQSLにせよ紙
QSLにせよレイアウトの自由度が増すのでお勧めです。なおRmks1・2へ入力
する文字数が増える可能性があるので、環境設定の設定6にある「入力可能
な桁数の変更」でRemarksに入力できる文字数の上限を増やしておくと良い
と思います。
> 各局色々なアドバイスありがとうございます
> R1下の記載例
> $N=須崎市$ $J=3905$ $G=PM65$
> 上記を備考欄に記載し ? Space! "!R1$N" 等の命令を参考に
> 定義ファイルを作成しました
> VY FB 移動も固定も作成した定義ファイル1つでhQSLが作成できます
> 各局のアドバイスを参考に命令文を勉強していきます
> 73 & 88 TU GL
JA5LEU 大崎さん
無事に解決されたようですね。良かったです。
移動判定を一回だけにして #GOTO 命令で「移動時の処理」「固定時の処理」とか
飛ばして定義文を見易くする等色々考えられますが・・
皆さんからの投稿も有りましたが、まだ色々な方法が有ると思いますので
あれこれアイデアを膨らませるのも良いかと思います。
各局さん、有り難うございます。


