[リストへもどる]
一括表示

タイトル不具合?と質問
記事No3332
投稿日: 2019/11/20(Wed) 01:42
投稿者gochoukou
ヘルプに
>PPX.HLP が存在しないか、WindowsVista 以降ならオンラインヘルプhttp://toro.d.dooo.jp/ppxhlp.htmlを使用します。
>このとき、PPxがあるディレクトリに ppxhelp.html があれば、それを使用します。
とあるのですが、
*httpget "http://toro.d.dooo.jp/ppxhelp.html","%0ppxhelp.html"
とした後で、*helpを実行してもオンラインの方のヘルプを読みに行くようです。


*checkupdate で、最新の試験公開版に強制アップデートしたいとき
*checkupdate p f としているのですが、試験公開版ではなく正式版にアップデートしようとしてしまいます。
例えば、1.69+5 → 1.69にアップデートしようとします。


cfg読み込み後、ppbを初回起動させたとき、Making table...という表示が出てしばらく待たされるのですが
cfg読み込み後に待たされないようにするにはどのように記述するのがよいでしょうか?


カスタマイズが破損した場合や、大きく内容を修正したcfgを再度読み込みたいときのために
ヒストリやM_pjumpの内容だけを予めファイルに保存しておき、cfg読み込み後にヒストリやM_pjumpを
ファイルから読み込めないかと考えていますが可能でしょうか?

よろしくお願い致します。


タイトルRe: 不具合?と質問
記事No3333
投稿日: 2019/11/20(Wed) 22:23
投稿者TORO
> *helpを実行してもオンラインの方のヘルプを読みに行くようです。
こちらでも確認しました、修正します。
普段使っている、キーワード指定(*help XB_uwid)では問題なかった
ので気づいていませんでした。


> *checkupdate で、最新の試験公開版に強制アップデートしたいとき
現在は、2つの理由により、最新の試験公開版に強制アップデート
することができません。
・f 指定は、ヘルプに記載したようにファイルが破損したとき向けの
機能なので、必ず全てのファイルが揃っている正式版を使うように
しています。
・正式版と試験公開版を同時に適用できないという制限があります。
このため、別の指定を追加する方向で検討しようと思います。


> Making table...という表示が出てしばらく待たされるのですが
XB_uwid = 1 にしており、カスタマイズファイルが初期化されると、
作成したテーブルが失われますので該当症状が出ます。
PPb で符号等を頻繁に編集しなければ XB_uwid = 0 でも問題ないと
思います。


> カスタマイズが破損した場合や、大きく内容を修正したcfgを再度読み込みたいときのために
ヒストリは、ヒストリファイル PPWH….DAT のバックアップで対応して
ください。ヒストリは、現在のカーソル位置等の追加データもあり、
現状はこれの書き出しが難しいので。

カスタマイズは、部分取り込み自体は対応しているので、必要な項目
だけを挙げたファイルを取り込めば対応できます。
ただ、部分的な書き出しは、将来対応させる予定ですが現在は用意して
いません。通常の書き出しで全て書き出した後、何らかの手段で整形して
必要な部分だけ残すようにしてください。


タイトルRe^2: 不具合?と質問
記事No3334
投稿日: 2019/11/23(Sat) 16:15
投稿者gochoukou
ご回答ありがとうございます。

> > *helpを実行してもオンラインの方のヘルプを読みに行くようです。
> こちらでも確認しました、修正します。

オンラインヘルプへのアクセスが制限されている環境で使うこともあり
マニュアル通りの挙動に修正頂けるとうれしいです。

>
> > *checkupdate で、最新の試験公開版に強制アップデートしたいとき
> 現在は、2つの理由により、最新の試験公開版に強制アップデート
> することができません。
> ・f 指定は、ヘルプに記載したようにファイルが破損したとき向けの
> 機能なので、必ず全てのファイルが揃っている正式版を使うように
> しています。

最新の試験公開版にしたいときは*checkupdate p でないとだめなのですね。

>
> PPb で符号等を頻繁に編集しなければ XB_uwid = 0 でも問題ないと
> 思います。
>

了解しました。XB_uwid = 0 を試してみます。

>
> > カスタマイズが破損した場合や、大きく内容を修正したcfgを再度読み込みたいときのために
> ヒストリは、ヒストリファイル PPWH….DAT のバックアップで対応して
> ください。ヒストリは、現在のカーソル位置等の追加データもあり、
> 現状はこれの書き出しが難しいので。
>
> カスタマイズは、部分取り込み自体は対応しているので、必要な項目
> だけを挙げたファイルを取り込めば対応できます。
> ただ、部分的な書き出しは、将来対応させる予定ですが現在は用意して
> いません。通常の書き出しで全て書き出した後、何らかの手段で整形して
> 必要な部分だけ残すようにしてください。

こちらについても了解しました。運用を考えてみます。

ヘルプを見て疑問に思ったのですが
PPCUSTW.exe にヒストリの書き出し機能がありますが
取り込み機能はありません。
書き出したヒストリはどのように使うことを想定しているのでしょうか?


タイトルRe^3: 不具合?と質問
記事No3335
投稿日: 2019/11/23(Sat) 20:14
投稿者TORO
> オンラインヘルプへのアクセスが制限されている環境で使うこともあり
> マニュアル通りの挙動に修正頂けるとうれしいです。
1.70 で修正しました。

> 最新の試験公開版にしたいときは*checkupdate p でないとだめなのですね。
検討の結果、*checkupdate fp での動作を変えることで対応することに
しました。常にアップデートなら fp だけで正式版/試験公開版の
更新を行い、試験公開版の再ダウンロードなら、f → fp の2回に分ける
ことにしました。

> 書き出したヒストリはどのように使うことを想定しているのでしょうか?

書き出しは自分は開発時の動作確認用としか使っていませんが、
人によっては特定種類のヒストリを一旦削除して再設定するスクリプトを
作っている人が居るようです。


タイトルRe^4: 不具合?と質問
記事No3337
投稿日: 2019/11/24(Sun) 17:11
投稿者gochoukou
アドバイスに従い、B_uwid = 0として
making table...の表示も出なくなりました。

また各種修正ありがとうございました。

ヒストリの書き出し機能についても、了解しました。
目立つところにボタンがあるので
これは何に使うものかずっと気になっていました。


上記とは別件なのですが
一行編集で、*nowdatetimeを使って、YND(w)形式で
ファイル名に本日の日付または更新日付を挿入するとき
*insert %*nowdatetime ("YND(w)")
*insert %*nowdatetime("YND(w)",%R)

では20191124(Sun)YND(w)"のようになってうまくいかず
試行錯誤した結果
*insert %*nowdatetime ("YND(w"))
*insert %*nowdatetime("YND(w",%R))
とすると20191124(Sun)のようになり
見かけ上上手く動いています。

本来はどのように記述すべきでしょうか?


タイトルRe^5: 不具合?と質問
記事No3338
投稿日: 2019/11/24(Sun) 22:53
投稿者TORO
> では20191124(Sun)YND(w)"のようになってうまくいかず

こちらでも再現しました。Text Module 側の問題で、最後に記号等を
指定するとゴミが入ってしまいます。
後日 Text Module を修正しますが、それまでは問題ない方の記載で
回避してください。


タイトルRe^6: 不具合?と質問
記事No3353
投稿日: 2019/12/14(Sat) 13:58
投稿者gochoukou
> > では20191124(Sun)YND(w)"のようになってうまくいかず
>
> こちらでも再現しました。Text Module 側の問題で、最後に記号等を
> 指定するとゴミが入ってしまいます。
> 後日 Text Module を修正しますが、それまでは問題ない方の記載で
> 回避してください。

Text Moduleの修正ありがとうございました。
R5でゴミがつかなくなりました。



タイトルRe^7: 不具合?と質問
記事No3354
投稿日: 2019/12/15(Sun) 18:16
投稿者gochoukou
> > > では20191124(Sun)YND(w)"のようになってうまくいかず
> >
> > こちらでも再現しました。Text Module 側の問題で、最後に記号等を
> > 指定するとゴミが入ってしまいます。
> > 後日 Text Module を修正しますが、それまでは問題ない方の記載で
> > 回避してください。
>
Text Moduleの修正ありがとうございました。
R5でゴミがつかなくなりました。



>ヒストリは、ヒストリファイル PPWH….DAT のバックアップで対応して
>ください。ヒストリは、現在のカーソル位置等の追加データもあり、
>現状はこれの書き出しが難しいので。
>
>カスタマイズは、部分取り込み自体は対応しているので、必要な項目
>だけを挙げたファイルを取り込めば対応できます。
>ただ、部分的な書き出しは、将来対応させる予定ですが現在は用意して
>いません。通常の書き出しで全て書き出した後、何らかの手段で整形して
>必要な部分だけ残すようにしてください。

検討の結果、以下のように対応することにしました。
アドバイスありがとうございました。

M_pjumpのバックアップ
%Obsq "%0ppcustw.exe" CD "%0backup\backupall.cfg" %:"%0busybox64.exe" ""iconv -f UTF16 -t UTF8"" "%0backup\backupall.cfg" | "%0busybox64.exe" sed -n "/^M_pjump = { /{p; :loop n; p; /^}/q b loop }" | "%0busybox64.exe" ""iconv -f UTF-8 -t CP932"" >"%0backup\M_pjump_%*nowdatetime(YND-HMS).cfg"

ヒストリのバックアップ
*ppcfile !copy /src:"%0PPWHDEF.dat" /dest:"%0backup" /name:".dat/_%*nowdatetime(YND-HMS).dat"


"%0backup"としているところをX_saveの設定を読みに行くようにしたいのですが取得する方法はなにかないでしょうか?


タイトルRe^8: 不具合?と質問
記事No3355
投稿日: 2019/12/16(Mon) 23:16
投稿者TORO
カスタマイズの項目は %*getcust で取得できますので、X_save なら
%*getcust(X_save) になります。
また、X_save を相対指定で記載しているなら
%*name(DC,"%*getcust(X_save)","%0") になります。


あと、バックアップで2回 iconv を使っていますが、X_ccode で
出力文字コードを UTF-8 にすれば iconv を無くしても大丈夫だと
思います。


タイトルRe^9: 不具合?と質問
記事No3360
投稿日: 2019/12/22(Sun) 14:14
投稿者gochoukou
> カスタマイズの項目は %*getcust で取得できますので、X_save なら
> %*getcust(X_save) になります。
> また、X_save を相対指定で記載しているなら
> %*name(DC,"%*getcust(X_save)","%0") になります。
>
>
> あと、バックアップで2回 iconv を使っていますが、X_ccode で
> 出力文字コードを UTF-8 にすれば iconv を無くしても大丈夫だと
> 思います。
>

アドバイスありがとうございます。
getcustでX_saveの内容を取得できました。
iconvについてもご指摘ありがとうございます。

X_save = %0backupと設定しても(%0=C:\Program Files\PPx\)
設定後PPxを再起動するといつのまにか%0が消えて
X_save = backupとなってしまい動かなくなってしまいます。
設定の仕方がおかしいのでしょうか?


タイトルRe^10: 不具合?と質問
記事No3362
投稿日: 2019/12/22(Sun) 20:33
投稿者TORO
ヘルプに記載しているように X_save 内にはマクロ文字が使えません。
このため、使うときに加工が必要です。
> > %*name(DC,"%*getcust(X_save)","%0") になります。


タイトルRe^11: 不具合?と質問
記事No3366
投稿日: 2019/12/23(Mon) 21:04
投稿者gochoukou
> ヘルプに記載しているように X_save 内にはマクロ文字が使えません。
> このため、使うときに加工が必要です。
> > > %*name(DC,"%*getcust(X_save)","%0") になります。
>

これは、X_saveに%0backupでなく.\backupと設定し
絶対パスに変換するときは%*name(DC,"%*getcust(X_save)","%0") →"C:\Program Files\PPx" ということでしょうか?

とりあえず、X_save=.backupとして下記の設定で上手く動いています。
%Obsq "%0ppcustw.exe" CD "%*name(DCN,""%*getcust(X_save)"","%0")\backupall.cfg" %:"%0busybox64.exe" ""iconv -f UTF16 -t UTF8"" "%*name(DCN,""%*getcust(X_save)"","%0")\backupall.cfg" | "%0busybox64.exe" sed -n "/^M_pjump = { /{p; :loop n; p; /^}/q b loop }" | "%0busybox64.exe" ""iconv -f UTF-8 -t CP932"" >"%*name(DCN,""%*getcust(X_save)"","%0")\M_pjump_%*nowdatetime(YND-HMS).cfg"

*ppcfile !copy /src:"%0PPWHDEF.dat" /dest:"%*name(DCN,""%*getcust(X_save)"","%0")" /name:".dat/_%*nowdatetime(YND-HMS).dat"


また別件で申し訳ないのですが
1.70+1以降、「X_ltab - 区切り文字[,]が見つかりません」というメッセージが頻繁に出るようになりました。

GUIでは、TABキーの動作は→次の項目へフォーカス移動
補完するときの検索動作→開発中(区切りのand検索)設定してもいつの間にか外れているようです。

設定ファイル上ではX_ltab=0となっています。
これは、試験公開版のみの一時的な現象と考えていいでしょうか?


タイトルRe^12: 不具合?と質問
記事No3368
投稿日: 2019/12/23(Mon) 23:26
投稿者TORO
> これは、X_saveに%0backupでなく.\backupと設定し
> 絶対パスに変換するときは%*name(DC,"%*getcust(X_save)","%0") →"C:\Program Files\PPx" ということでしょうか?

それで合っています。あとヘルプにも例示していますが、「backup」
だけで大丈夫です。
# X_save に今後絶対指定を書くことが無ければ、
# 「%0\%*getcust(X_save)」でも可能です。


> また別件で申し訳ないのですが
> 1.70+1以降、「X_ltab - 区切り文字[,]が見つかりません」というメッセージが頻繁に出るようになりました。

+1 で、X_ltab が2項目に分割しています。この変更は紛らわしいところが
あるので、1.71 になるまでは、初期設定を「X_ltab = 0」のままにし、
1.71で「X_ltab = 0,0」にする予定です。
各種症状は*setcust等で「X_ltab = 5」などと1項目で書き込んでいる
ためだと思います。


タイトルRe^13: 不具合?と質問
記事No3370
投稿日: 2019/12/25(Wed) 05:08
投稿者gochoukou
> > これは、X_saveに%0backupでなく.\backupと設定し
> > 絶対パスに変換するときは%*name(DC,"%*getcust(X_save)","%0") →"C:\Program Files\PPx" ということでしょうか?
>
> それで合っています。あとヘルプにも例示していますが、「backup」
> だけで大丈夫です。
> # X_save に今後絶対指定を書くことが無ければ、
> # 「%0\%*getcust(X_save)」でも可能です。
>
了解しました。ありがとうございました。

>
> > また別件で申し訳ないのですが
> > 1.70+1以降、「X_ltab - 区切り文字[,]が見つかりません」というメッセージが頻繁に出るようになりました。
>
> +1 で、X_ltab が2項目に分割しています。この変更は紛らわしいところが
> あるので、1.71 になるまでは、初期設定を「X_ltab = 0」のままにし、
> 1.71で「X_ltab = 0,0」にする予定です。
> 各種症状は*setcust等で「X_ltab = 5」などと1項目で書き込んでいる
> ためだと思います。

設定を見直していたら、ご指摘の通り
補完リストによってはmigemoの設定が効かないことがあるので
必要に応じて*customize X_ltab=4 %:(一行編集)として
ACTIVEEVENTで*customize X_ltab=0と1項目で設定を書き込んだりリセットしていることが原因のようでした。
お騒がせして申し訳ありませんでした。