●「株屋さんチャートお助くん」パワーシェルアプリです
2.1の「GUI窓PSH処理アプリ」を使った専用アプリの作成事例として、このアプリを作成しています。色々改善し結構便利なツールになったと思います。ご利用頂くと幸いします。このアプリは次の手順で作成&構築して動作確認できたら色々修正して頂ければと思います。
(3.3で自分で自分チャート生成の事例も記載しました。このページのアクセス数が多くなれば、このアプリの更なる改善を検討する予定です。msn検索で[コピペ GUI] 普及にご協力いただくと幸いします。)
<戻る 進む>
<アプリの作成&構築方法>
[Step1] 1.2[手順1]を参考に[wPshKab]フォルダを作成する。
[Step2] [List2.4.1] [List2.4.2] [List2.4.3] [List2.4.4]を使用して次のファイルを作成しフォルダ内にファイルを移動する。(ファイル作成手順は「導入編[1.1]」を参照ください。)
- フォルダ wPshKab
- ファイル wndPsKabVi101.bat KabList101.txt KabList201.txt KabList301.txt
[図1] [wndPsKabVi101.bat]ダブルクリックGUI窓画面
●アプリの利用方法と機能説明です
フォルダ[wPshKab]を開き[wndPsKabVi101.bat]をダブルクリックすると[図1]のGui窓を表示して利用します。このアプリは事前登録したWebサイトを簡単アクセス支援するアプリです。登録方法として次の①項、②項、③項、④項、⑤項の方法を組込んでいます。またWebサイトのアクセス事例の画面を[図2]に記載します。
【①項】株情報サイト「株タン、yahoo、日経、みんかぶ」を登録しています。ダブルクリックで表示します。文字数の多いUrlアドレスも登録しやすいように、[!][;][']文字を使い下記文字列で登録可能です。
[!コメント; 'Https:xxxxxxxxxxxxxxx' ]
【②項】yahooの株価表示サイトを、株番号登録(最大10件)でダブルクリック表示します。変数[$url]に株番号を文字登録してyahoo株値表示サイトをアクセスします。
[&& $url="4356+9501+........";] ["]で括り文字列としている。
【③項】[注力株Listファイル(KabList101.txt~301.txt) ]を登録し、ダブルクリックで画面入替表示する。
- 関数[FileSet]処理を組込み(List28行目)ファイル読取&GUI窓表示を可能にした。
- ファイル読取&GUI窓表示のとき、GUI窓画面で直接編集を可能にした。
- 編集終了後のファイル保存はマウス[右釦]->[File保存]で可能にした。
- explorerから[XXXXXXX.txt]ファイルを[GUI窓画面]にドラッグ&ドロップしてファイル読取&GUI窓表示を可能にした。(2)項に同じ。
【④項】[注力株をList登録]して[&Kdora&]行をダブルクリックで複数の注力株チャートを表示します。[&Kdora&]行で処理を登録し(List22行目)、[;]行で行連結する方法で実現しています。
&Kdora&
;1234_社名 コメント
; コメント
;2345_社名 コメント
; コメント
【⑤項】マウス右釦メニュに[Set:株タン基本][Set:株タンChart][Set:Yahoo5日間]を登録しています。右釦押下し[Set:サイト]を設定後、④項Listの[;2345_xxxx]をダブルクリックするとSetサイトを表示する。
[図2] 左上①項、左中②項、右上中④項、下左/右⑤項 の表示画面
@echo off &if not "%~0"=="%~dp0.\%~nx0" (start /min cmd /c,"%~dp0.\%~nx0" %* &exit) &rem ★DOS窓mini化
powershell -ExecutionPolicy RemoteSigned "$fln=(echo %0); $aa=(Cat $fln -Raw); $fdt=$aa.substring($aa.indexof('##'+'STT:')); Iex($fdt+'##>');"
exit; pause&exit;
##
##STT: ★[株屋さんチャート管理お助けくん]
##
using namespace System.Windows.Forms; Add-Type -AssemblyName System.Windows.Forms,System.Drawing; ##★GUI
function dbg($cc){ [MessageBox]::Show($cc) }; function dbc($cc){ Write-Host $cc; }; function dbt($cc){ $mMain.Text="[1.00]"+$cc; };
function ssView($bb){ $tBox.Text=$bb.substring( $bb.indexof("`n<"+"##" )); $tBox.SelectionStart=0; dbt($fln); $global:szFile=""; }; ##★表示
##★メイン窓/編集窓の生成 ##★窓寸法(WW,HH) ##★文字種類/寸法 ##★背景色
$mMain =New-Object Form -Pro @{ Size="920,820"; }; $tBox =New-Object TextBox -Pro @{ Font="BIZ UDゴシック,13"; BackColor="#F0F0D0";
Dock="Fill"; Multiline=$True; AcceptsReturn=$True; AllowDrop=$true; ScrollBars=[ScrollBars]::Vertical; }; $mMain.Controls.Add($tBox);
##★右釦メニュ ##★編集 ##★再表示 ##★クリップ処理 ##★機能追加
$tBox.ContextMenuStrip =$conMenu =New-object ContextMenuStrip -Pro @{ Font="BIZ UDゴシック,12"; };
function ssSetRbtMenu( $zcha ){ $aa=$conMenu.Items.Add( ($zcc =New-Object ToolStripMenuItem) ); $zcc.Text=$zcha; return $zcc; };
(ssSetRbtMenu "Bat編集" ).add_Click({ notepad.exe $fln }); (ssSetRbtMenu "[Top画面]").add_Click({ ssView( Cat $fln -Raw ) });
(ssSetRbtMenu "クリップへ取得").add_Click({ $tBox.Copy() }); (ssSetRbtMenu "クリップを貼付").add_Click({ $tBox.Paste() });
##★マウス[WC]操作 ##★DOS処理 ##★explorer処理 ⇒ ★psh追加⇒★画面設定⇒MainDLG表示 ##★Tool窓起動
$tBox.Add_DoubleClick({ $ln=((($tBox.Text).substring(0,$tBox.SelectionStart)).split("`n")).count-1; $zcc=($tBox.Lines[$ln]-split"##")[0];
if( $zcc.startsWith("&") ){ for( $ii=1; $ii -lt 200; $ii++ ){ $cc=$tBox.Lines[$ln+$ii]; if($cc -eq $null){ break; };
if( $cc.startsWith(";") ){ $zcc+="`n"+($cc.substring(1)).trim(); }else{ if( $cc.startsWith("#") ){ continue;}; break; }; }; }; ##dbc $zcc;
if( $zcc.startsWith("&&& ")){ $zcc=$zcc.substring(3); $tBox.SelectionStart+=4; Iex($zcc); return;};
if( $zcc.startsWith("!") -and $zcc.contains("http") ){ $zcc="Start "+($zcc.split(";"))[1]; Iex($zcc); return; };
$zcc=$zcc.replace('"','\"'); if( $zcc.startsWith("&& ") ){ $zcc=$zcc.substring(2); Start -NoN powershell -Arg "$zcc"; return; };
if( $zcc.startsWith("&Kdora&") ){ $zcc=$zcc.substring(7);(ssKdoraVi $zcc); return; };
if( $zcc.startsWith(";") ){ $zcc=$zcc.substring(1).trim(); if( $sUrl.length -ge 10 ){ ssKWebVi $zcc; }; return; };
}); $fladd=$fln.replace(".bat","_add.ps1"); if( Test-Path $fladd ){ . $fladd; }; $global:szKViMod=1;
##★ドラッグ&ドロップ
$tBox.Add_DragEnter({$_.Effect ="All";}); $tBox.Add_DragDrop({ $zcc=@(([DataObject]$_.Data).GetData("FileDrop")); if(Test-Path $zcc ){ FileSet($zcc); }; });
##★ファイル取得&表示 ##★[File保存]右釦に追加
function FileSet($zzFile){ if( (Test-Path $zzFile)-and ($zzFile.endswith('.txt')) ){;}else{ dbg "[ERROR]`n>>> No File.txt`n$zzFile"; return; };
$global:szFile =$zzFile; $tBox.Text =Cat $szFile -Raw; $tBox.SelectionStart=0; dbt("【読取】$szFile"); };
(ssSetRbtMenu "[File保存]" ).add_Click({ if($szFile -ne ""){ SC $szFile ($tBox.Text); dbt("【保存】$szFile"); }; });
##★株ドラList ★株タン//yahooWeb表示 ★右釦に追加登録
function ssKdoraVi($zcc){ $ccc=""; foreach($cc in $zcc.split("`n")){ if( $cc.IndexOf("_") -eq 4 ){ $ccc+=$cc.substring(0,4)+"+"; }; };
Start ("https://www.kabudragon.com/s?t="+$ccc); };
function ssKWebVi($zcc){ if( $zcc.IndexOf("_") -eq 4 ){ dbt($zcc); $cc=$zcc.substring(0,4); Start ( $sUrl.replace("@@@@",$cc) ); }; };
(ssSetRbtMenu "Set:株タン基本" ).add_Click({$global:sUrl="https://s.kabutan.jp/stocks/@@@@/"; });
(ssSetRbtMenu "Set:株タンChart" ).add_Click({$global:sUrl="https://s.kabutan.jp/stocks/@@@@/chart" });
(ssSetRbtMenu "Set:Yahoo5日間").add_Click({
$global:sUrl="https://finance.yahoo.co.jp/quote/@@@@.T/chart?styl=lne&frm=mntly&scl=stndrd&trm=1w&evnts=&ovrIndctr=sma%2Cmma%2Clma&addIndctr=slwStchstc"; });
##★画面表示
ssView($fdt); $mMain.ShowDialog();
<##Ver1.00--[株屋さんチャート管理お助けくん] by ryu------------------------------------------------
##[操作] [WC]行をダブルクリック [マウス右釦] 編集/ クリップ処理/ File保存/ 株タンSet/ yahooSet/
##
##★ トップ画面に【情報サイト】【現在の株価】【注力株ファイル】【注力の株List】を登録
##
##★①【Web情報サイトの登録】
![WC]株タン; "https://kabutan.jp/"
![WC]yahoo; "https://finance.yahoo.co.jp/"
![WC]日経; "https://www.nikkei.com/"
![WC]みんかぶ; "https://minkabu.jp/"
##★②【yahoo現在の株価(10件以下のこと)】
##
&& $url="4356+9501+4882+9348+3064"; ##★[WC] 10件以下
; Start "https://finance.yahoo.co.jp/search/?query=$url";
##★③【注力株ファイルの各種登録】...(explorerからファイルのドラッグ&ドロップもOK) [##]以降コメント
##
&&& FileSet "KabList101.txt" ##★[WC]XXX株の狙いLISTです
&&& FileSet "KabList201.txt" ##★[WC]YYY株の狙いLISTです
&&& FileSet "KabList301.txt" ##★[WC]ZZZ株の狙いLISTです
##★④【注力株Listの登録(30件)】...[右釦]で株タン/yahooを設定し[;]株をダブルクリックもOK
##
&Kdora& ##★[WC]株ドラList表示
;4536_参天製 コメント記載
;
;9501_東京電力HD コメント記載
;
;4882_ペルセウス コメント記載
;
;2749_JPHD コメント記載
;
;9348_ispac コメント記載
;
;3064_MonotaRO コメント記載
;
;3661_エムアップHD コメント記載
;
;7936_アシックス コメント記載
;
●コピペ[List2.4.2] ファイル [KabList101.txt]
##★M量株のLIST(急変狙い [右釦]->[Top画面] で戻る
&Kdora& ##★[WC]株ドラList表示
;5017_富士石油
;[K:決算] MM/DD
;[S:状態] Ma15クロスダウン後、1W経過。。。aaaaa
;
;
;3141_ウエルシアホー
;[K] MM/DD
;[S] Ma15クロスダウン後、1W経過。。。
;
;
;8570_イオンフィナンシャル
;[K] MM/DD
;[S] まだまだ
;
;
;7906_ヨネックス
;[K] MM/DD
;[S]
;
;
;1942_関電工
;[K] MM/DD
;[S]
;
;
;7148_FPG
;[K] MM/DD
;[S]
;
;
;3673_ブロードリーフ
;[K] MM/DD
;[S]
;
;
●コピペ[List2.4.3] ファイル [KabList201.txt]
##★M量株のLIST(売上Goodの株 [右釦]->[Top画面] で戻る
&Kdora& ##★[WC]株ドラList表示
;8804_東京建物
;
;
;7071_アンビスHD
;
;
;1719_安藤・間
;
;
;5947_リンナイ
;
;
;8016_オンワードHDス
;
;
;6727_ワコム
;
;
;8282_ケーズHDス
;
;
;8242_エイチ・ツー・オーリ
;
;
;5423_東京製鐵
;
;
;
;8876_リログループ
;2871_ニチレイ
;9517_イーレックス
;2726_パルグループHDス
;6194_アトラエ
●コピペ[List2.4.4] ファイル [KabList301.txt]
##★M量株のLIST [右釦]->[Top画面] で戻る
&Kdora& ##★[WC]株ドラList表示
;1942_関電工
;
;
;8358_スルガ銀行
;
;
;6890_フェローテックHD
;
;
;2158_FRONTEO
;
;
;9164_トライト
;
;
;6269_三井海洋開
;
;
;5727_東邦チタニ
;
;
;3133_海帆
;
;
;4169_ENECH
;
;
;8570_イオンフィナンシャル
;
;
;9519_レノバ
;
;
;5844_京都FG
;
;
;5711_三菱マテリアル
;
;
;2726_パルグループHDス
;
;