掲示板

BBS
アイコン設定
投稿者さん使い方
掲示板の主旨に反する投稿は掲載されません。掲載の是非は管理者が判断いたします。予めご了承願います。
K
KoYamaさん (8o4hkr6m)2023/12/6 03:38 (No.83761)削除
0121.月末月初処理(1)
 「月末次月準備処理」を作成し「継続案件一覧.csv」の最初の案件である「月初対応」が解決したのですが、月初「12月01日」を向かえ、やはり、色々問題が、未だ、残っており、「継続案件」第2弾として、「月末月初処理」として、対応しています。
 まず、「動作環境.ini」に新設した「次月準備処理 = 済」が、自動的に「未」にならなかったので、手動で更新しましたが、ちゃんと、これが自動化出来ていなければ、なりません。
 それから、「日経平均株価.csv」「当日パス.csv」「経済指標.txt」の、色々な場面での、参照・更新・分類整理BackUp保存が、うまく無いので、これらの、スムースな自動化が、完全にならないと、いけません。
 詳細は、例の「E:\Data\日記類\KoYamaDB拡張\」に置いた「月初対応~詳細.txt」に、加えました。
 それと、これも当然ですが、「継続案件一覧.csv」に、2番目の案件「月末月初処理」として、登録しました。
 まあ、また、色々と、楽しめます。
返信
K
KoYamaさん (8o4hkr6m)2023/12/3 03:04 (No.83266)削除
0120、MyMessageBox。
 以前より、「CEdCommon::MyMessageBox」という関数を組込んで、いくつかのコードから利用していたのですが、今回この引数のメッセージの仕様を、拡張しました。
 実は「エスケープ・シーケンス」というのが有って、「CrLf~キャリッヂ・リターンとライン・フィード」が、改行を指示する2バイトなので、これを「\r\n」で記述しているのですが、「MFC」標準関数の、「AfxMessageBox( "メッセージ" );」中の、引数文字列に、「\n」を加えて実行すると、ちゃんと改行して、2行の文字列として表示されるので、これを使ったバッチ・コマンドにも使えるかと、実験してみたら、出来ませんでした。
 そこで、多分、「エスケープ・シーケンス」対応が、コマンド・プロンプトから、実行関数に、引数として渡るところで、出来ていないだろうと考え、「CEdCommon::MyMessageBox」が、従来、メッセージとしての引数を、1個または2個、渡すと、DeskTop画面左上に、それを「はい」「いいえ」のボタンとともに、表示し、「はい」「いいえ」の操作結果を返す仕様だったのですが、最初の1個目の引数が、もし有効な「フル・パス」Textならば、そのTextに含まれる複数行全てを、メッセージとして表示する仕様に、拡張しました。
 そして、これを利用するEdコマンド「/Cmd(170)」も、追加しました。そして、「はい」と応答した場合、「E:\Work\共有\SkipFile.flg」を生成するようにしました。
 つまり、バッチで「If Not Exist E:\Work\共有\SkipFile.flg goto NextCode」と記述しておけば、「いいえ」の場合、ラベル「:NextCode」に飛んでくれます。また、「はい」の場合は、「del E:\Work\共有\SkipFile.flg」としておけば、続けて、バッチコマンドが、続けられます。
 この関数、「DeskTop画面左上に」というところが、ミソです。ご存知のように、「MFC」標準の「AfxMessageBox」だと、いつもDeskTop画面中央に表示されますから、色々画面を重ねたりした場合、操作しにくかったり、見えなくなったりします。そんな場合でも、簡単に、バッチから利用出来ます。
返信
K
KoYamaさん (8o4hkr6m)2023/12/2 03:35 (No.83117)削除
0119、Ed実装時間確認。
 今年も、とうとう、12月に入ってしまいました。
 12月の「月初対応」は、何とか、切り抜けました。未だ、かなりエラーが有ります。今、まとめています。
 毎日の運用で、「Ed実装時間.csv」が更新出来るようになったので、「/PopUp」起動から、2番目の「Edパス」の最後に、「11.Ed実装時間を確認/HomeFrame」を追加しました。
 前にも記述したと思いますが、この「/HomeFrame」は、「Edパス」で開く時に、ホームフレームコマンド「Alt+h」を自動実行するサインです。画面中央に、親フレームを位置し、開いた子フレームの位置サイズも、最適なものにして開けます。
返信
K
KoYamaさん (8o4hkr6m)2023/11/26 03:29 (No.82251)削除
0118、コロナ禍対応と経済指標。
 Edコマンド起動オプション「/Cmd(145)」で、毎日、全自動で、「コロナ」「天気」「経済指標」の追加BackUpを行っています。
 「コロナ禍対応」として、日々発表される「新型コロナウィールスの新規感染者数」を記録し、折れ線グラフで表示確認していました。
 が、この発表が、今年「5月8日」で終わり、以降「コロナ禍」対応が不要となり、このBackUp処理の中で、エラーメッセージが、出るようになっていたのですが、他に害は無いので、そのまま無視していました。
 今回、処理の先頭で、コロナ禍対応するかしないかの確認メッセージとその応答対応を追加して、転送時のエラーメッセージが出ないように、しました。
返信
K
KoYamaさん (8o4hkr6m)2023/11/25 03:31 (No.82037)削除
0117、最終リリース(4)。
 「最終リリース」には、続きが有りまして、今回、その「続き」を下記2つのバッチにしました。「31.Ed関連_まとめ逆リリース.bat」と「32.Ed関連_まとめ逆つづき.bat」です。
 ともに、フォルダ「E:\E_Bat\追加\10.追加つづき\」直下に置きました。
 なので、クィックランチャーから、起動出来ます。
 2つに分けたのは、「最終リリース」を、別パソコンでやっているので、色々なUSBメモリーを、とっかえ引き換え、取り付けたり、外したりして、それを、スムースに行う為です。
 2つ目のバッチに「/Option_NZ /ByText /Open_1,2 E:\メニュー\Ed実装時間メニュー.txt」での起動を組込んだので、結局「Ed実装時間」変換取込は、特に操作しないで、運用出来るように、なりました。
返信
K
KoYamaさん (8o4hkr6m)2023/11/24 03:29 (No.81806)削除
0116、最終リリース(3)。
 起動オプション「/Option_Z /ByText /Open_1,2 E:\メニュー\Ed実装時間メニュー.txt」を付けたショトカットを作成し、「/PopUp」起動からのメニュー2番目の「Edパス」最後から、起動出来るようにして、「最終リリース実行時間.Txt」と「Ed実装時間.csv」を開いた状態から、コマンド起動で、「最終リリース実行時間.Txt」の最新行を、「Ed実装時間.csv」の最新行として、変換して、追加するように、拡張しました。
 つまりは、「最終リリース実行時間.Txt」と「Ed実装時間.csv」を開いた状態から、コマンド「Ctrl+Alt+U」で、「最終リリース実行時間.Txt」の最新行を、「Ed実装時間.csv」の最新行として、変換して、追加するように、しました。
 その後、新たに、起動オプション「/Option_N」に対応して、自動で「Ctrl+Alt+U」を実行し、上書き保存後、インスタンスも自動終了出来るようにしました。
返信
K
KoYamaさん (8o4hkr6m)2023/11/19 03:40 (No.80668)削除
0115、最終リリース(2)。
 「最終リリース」処理の開始直後に、「開始時刻」を確保し、終了直前に「終了時刻」を確保して、差引の「経過時間」とともに、「E:\Work\共有\最終リリース実行時間.Txt」に追加行を作成しています。
 それで、これから、気が向いた時に「Ed実装時間.csv」へ、最新行だけ、追加しています。
 そこで、Text編集コマンドとして、クリップボードに貼付いた、「最終リリース実行時間.Txt」の1行を、現在編集位置に、変換して貼付ける「Ctrl+Alt+U」を組込みました。便利です。「Ed実装時間.csv」を、「Ctrl+T」で開きこのコマンドを使うだけで、済みます。
 起動オプション「/PopUp」からのメニューからも、開けるようにしました。
返信
K
KoYamaさん (8o4hkr6m)2023/11/14 03:33 (No.79928)削除
0114.PopUpでESC時自動終了モード(2)。
 少し、ややこしい事になりました。
 「/PopUp」起動での、PopUpスタートメニューからの動作と、色々な場面からのコマンドであるところの「Alt+Shift+F10」での、PopUpメニューからの動作に、不自然な動作が無いように、しなければ、使いにくくなる、という不都合が、出て来ました。
 ただ、どの場合も「CEdCommon::CsvPopUp」から始まり、メニュー項目選択時に、メニュー番号を引数に「CEdUtl::EndExeStCut」から、下記を実行する事で、何とか対応しました。
(1).親子フレーム最適な位置サイズ~CWnd::SetTimer(OWN_TIMER_69)、CEdUtl::SetHomeFrame
(2).子フレーム最適位置サイズ~CWnd::SetTimer(OWN_TIMER_70)、CEdUtl::ReHomeChildFrame
(3).情況判定上インスタンスを終了~CWnd::SetTimer(OWN_TIMER_71)、CEdUtl::PopUpAutoEnd
(4).強制インスタンス終了~CWnd::PostMessage(WM_CloseDefWindow)
返信
K
KoYamaさん (8o4hkr6m)2023/11/11 03:32 (No.79071)削除
0113.PopUpでESC時自動終了モード。
 それで、「PopUpでESC時自動終了モード」を組込みました。
 「/PopUp」起動し、メニューを「ESC」キーで綴じてから、ホームフレームコマンド「Alt+h」を実行すると、エラー停止する情況が有るので、これを回避する為に、組み込みました。
 当然、「CEdD2M::m_bPopUpESConDnMode」なので、「CEdD2M」クラスのコンストラクタで「false」に初期化し、「CEdCommon::CsvPopUp」で「CEdCommon::MenuA」起動直前に、「true」として、「CWnd::SetTimer( OWN_TIMER_71, 30000, NULL )」してから、その割込み処理から「CEdUtl::ExecStCut」の先頭で「false」にしました。
 また、「空」の親フレームだけ起動し、「Alt+Shift+F10」で、PopUpメニューを出し、2番目のメニュー項目として、「Edパス」を起動した場合、「空」の親フレームのインスタンスが、消えるようにもしました。
 ごく自然な動作に見えます。
返信
K
KoYamaさん (8o4hkr6m)2023/11/10 03:38 (No.78943)削除
0112.掃除中に自動処理。
 今日は、初めて、掃除中に、「最終リリース」などの自動処理が、滞りなく、完了しそうです。掃除は終わったのに、未だ終わっていないのですが、今で、5234件中1904件の、関数呼び出し関係抽出が、終わりました。また、多分12時くらいには、終わるでしょう。
 「初めて」とは、掃除中は、何かとガタガタするので、何かの拍子に当たって、USBメモリーの接続エラーなど発生したら、面倒な事になるので、掃除中は、やらなかったのですが、最近は、まあまあ、安定して自動処理が出来ていたので、試しにやってみました。
 やはり、効率よく開発出来て、便利です。
 自動処理を掛ける前迄の、編集処理を、朝3時から起きて、やった甲斐が有ったと思います。
 今日は、終日、気分良く過ごせそうです。
 結局、今日の「最終リリース」は、「07時41分35秒~12時09分07秒」迄「04時間27分32秒」で、終わりました。
返信