運動せずに痩せようとするのは、支出を減らさずに資産を増やそうとするようなもの


運動せずに痩せようとするのは、支出を減らさずに資産を増やそうとするようなもの_a0003166_23203931.gif

消費カロリー>吸収されるカロリー →痩せる
痩せたければ
 消費カロリーを増やす
 吸収されるカロリーを減らす
支出<収入 →資産が増える
資産を増やしたければ
 支出を減らす
 収入を増やす



2022-02-22 21:57 | 未分類

202 202 202 202


202 202 202 202_a0003166_21234562.gif
この画像の背景色はR202 G202 B202



2022-02-20 22:02 | 未分類

量と質 バランスよく少しずつ上げていく


量と質 バランスよく少しずつ上げていく_a0003166_09454017.jpg



2022-02-20 09:46 | メモ

感情と体調を良くすれば、頭が冴える


感情と体調を良くすれば、頭が冴える_a0003166_09443191.jpg

感情と体調を良くすれば、頭が冴える_a0003166_09464408.jpg



2022-02-20 09:45 | メモ

物事を減らすと余裕ができる、というイメージ


物事を減らすと余裕ができる、というイメージ_a0003166_09432606.jpg



2022-02-20 09:44 | メモ

Windows自動化ソフト AutoIt のメモ


1.AutoItは便利

AutoItを使えば、単純なクリック作業や入力作業を自動化できる。

ウィンドウの特定の位置を自動的にクリックしたり、ウィンドウの特定の位置に文字列を自動的に入力したりできる。
ファイルやフォルダの処理(作成・コピー・移動など)、ソフトの起動などもできる。

数値計算ができる。
文字列の処理(削除、生成、結合、分割、検索など)ができる。
そして、計算した数値を使って特定の座標をクリックしたり、処理した文字列を入力したり、処理した文字列を使ってファイルやフォルダの処理、ソフトの起動などができる。



2.自動クリック
AutoItを使って自動的にクリックする方法として、次の方法がある(他にもあるかもしれない)
・画面における座標を指定してクリックする
・ウィンドウ内の座標を指定してクリックする
・ウィンドウ内のコントロールを指定してクリックする
・コントロール内の座標を指定してクリックすることもできる

下に書いた方法ほど、確実性が高い。
例えば、画面における座標を指定した場合、クリックしたいウィンドウの位置が変わると、狙った位置をクリックできない場合がある。
例えば、ウィンドウ内の座標を指定した場合、クリックしたいウィンドウのサイズが変わると、狙った位置をクリックできない場合がある。



3.コントロールの指定
ウィンドウの中に、様々な「コントロール」と呼ばれる領域がある。
例えば、エクスプローラのウィンドウなら、ツリーを表示するコントロール、ファイルやフォルダを表示するコントロール、ファイルやフォルダのパスを表示や入力するコントロールなどがある。

特定のコントロールを指定して自動的にクリックする、ControlClickという関数がある。
 
ControlClick関数の書き方(参考:AutoItのマニュアルの日本語訳 ControlClick
 ControlClick ( “title”, “text”, controlID [, button [, clicks [, x [, y ]]]] )

引数「controlID」でコントロールを指定する。
「controlID」と書かれているが、コントロールはIDで指定できるだけでなく、コントロール中のテキストや、コントロールのサイズなどでも指定できる。(参考:Controls

AutoItに付属の「AU3Info」を使うと、コントロールを指定するためのコントロールの情報(ID、サイズなど)を取得できる。(参考:AutoIt Window Info Tool)

Windows自動化ソフト AutoIt のメモ_a0003166_11363407.gif

特定のコントロールを指定して自動的に文字列を入力するControlSendなど、
コントロールを指定して自動的に操作するControl系関数がControlClick以外にもいろいろある。(参考:Functions
Control系関数を使えば、単純な作業を自動化できる!と思ったが、そう簡単ではなかった。
4.つまづいた点など
4.1.ウィンドウがアクティブでない問題
ControlClickの説明に、次の注意書きがある。
「ウィンドウがアクティブでないとコマンドに反応しないコントロールがあります。その場合、ControlClick()を使用する前にWinActivate()を使ってコントロールのあるウィンドウを最前面に表示してください。」
問題
WinActivateは、すでに開いているウィンドウをアクティブにする場合には使える。
しかし、開いている途中のウィンドウをアクティブにすることはできない。
解決策
WinWaitActiveを使って、操作したいウィンドウがアクティブになるのを待つ。
具体的には、WinWaitActive関数の後に、Control系関数を書く。
問題
操作したいウィンドウ名を指定できない。例えばウィンドウ名が一定ではない場合がある。

解決策?
手動なら解決できる
操作したいウィンドウがアクティブになったらことを目視したら、メッセージボックスのOKボタンを手動で押すようにする。(自動化じゃなくなる)
メッセージボックス(MsgBox)を表示させ、スクリプトを一時停止させる。
メッセージボックスのOKボタンが押されたら、スクリプトの実行を再開する。
キャンセルボタンが押されたら、スクリプトを終了するようにしておくと便利。
具体例
Dim $check
$check = MsgBox(1,”確認”,”プログラムを続ける場合はOKを押す”);OK,キャンセルの確認
WinWaitClose(“確認”)
If $check == 2 Then ;キャンセルの場合
Exit;プログラム終了
EndIf
4.2.コントロールがアクティブでない問題
問題
ウィンドウがアクティブになったが、操作したいコントロールがアクティブになっていない場合は、そのコントロールを操作できない。
問題の具体例
ネットからファイルをダウンロードすると、次のようなウィンドウが出てくる。
ControlClickを使って、「ファイルを保存」(操作したいコントロール)をクリックしたい。
しかし、ウィンドウがアクティブになってから、「ファイルを保存」がアクティブになるまでに、タイムラグがある。
そのため、ウィンドウがアクティブになった直後に、「ファイルを保存」を押すという命令(ControlClick)が実行されても、アクティブになっていない「ファイルを保存」をクリックできない。
Windows自動化ソフト AutoIt のメモ_a0003166_13332528.gif
ウィンドウがアクティブになるのを待つ関数(WinWaitActive)はあるが、
コントロールがアクティブになるのを待つ関数はない(はず)。
解決策1
Sleepで時間調整する。(不確実な方法)
ウィンドウがアクティブになってから、操作したいコントロールがアクティブになるまでのタイムラグ+αの時間、スクリプトの実行を停止させる。
PCの状態によってタイムラグが変わるので、「+α」を十分長くしておく。 
解決策2
操作したいコントロールがアクティブになったことを目視したら、手動でメッセージボックスのボタンを押すようにする。(自動化じゃなくなる)
ウィンドウがアクティブになると、メッセージボックス(MsgBox)を表示させる。
メッセージボックスのOKボタンが押されたら、スクリプトの実行を再開する。
キャンセルボタンが押されたら、スクリプトを終了するようにしておくと便利。
具体例
Dim $check
$check = MsgBox(1,”確認”,”プログラムを続ける場合はOKを押す”);OK,キャンセルの確認
WinWaitClose(“確認”)
If $check == 2 Then ;キャンセルの場合
Exit;プログラム終了
EndIf
4.3.コントロールを指定できない
問題
コントロールをうまく指定できない
例えばコントロールのIDが一定でない
解決策
Controlsの指定方法を変えてみる。
IDを指定してうまくいかなければ、サイズで指定するなど。
コントロールにテキストがある場合、テキストでコントロールを指定する。
(OKボタンなら「OK」というテキストが設定されている場合がある。コントロールにテキストが設定されていない場合も多々ある)

問題
コントロールの情報が分からない
AU3Infoを使っても、情報が出てこない



解決策
Control系関数を使わない

4.4.クリックできない
問題
ControlClickがうまく作動しない
解決策
ControlClickでうまくいかなくても、ControlSendでうまくいく場合がある。
スペースキーは左クリックと同じになる。
ControlClick ( “ウィンドウtitle”, “”, controlID , “left” )
ControlSend ( “ウィンドウtitle”, “”, controlID, “{SPACE}” )

5.コントロールを指定せずに操作する
例えばクリックであれば、
・画面における座標を指定してクリックする
・ウィンドウ内の座標を指定してクリックする
・ウィンドウ内のコントロールを指定してクリックする
という方法がある。コントロールを指定してクリックできない場合は、ウィンドウ内の座標を指定してクリックする。



・ウィンドウの左上の位置を取得する。
・ウィンドウにおける、クリックしたい座標を指定し、クリックする。
6.基本メモ
・変数の宣言
Dim $var
varは変数名
数字でも文字列でもなんでもDim
数字と文字列としての数字を区別しない
・コメントの書き方
;の後、行末までがコメント
MsgBox (0,””,$fileName );変数fileNameをメッセージボックスで表示する
7.デバッグに使える
メッセージボックスで変数の内容を確認する
MsgBox (0,””,$変数名 )
8.便利なスクリプト(デバッグにも使える)
・OKを押さないと次に進まない、キャンセルするとプログラム終了
Dim $check
$check = MsgBox(1,”確認”,”プログラムを続ける場合はOKを押す”);OK,キャンセルの確認
WinWaitClose(“確認”)
If $check == 2 Then ;キャンセルの場合
Exit;プログラム終了
EndIf
・文字列入力ボックス
Dim $input ;入力された文字列を格納する変数
$input = InputBox(“入力”,”文字列を入力”)
WinWaitClose ( “入力”) ;入力完了してから次の命令に進む
If @Error == 1 Then ;キャンセルの場合
Exit;プログラム終了
EndIf
9.正規表現
StringRegExpでフラグに1を設定すると、一致した文字列の配列が返り値となる(変数ではなく)。
$str = StringRegExp ( “調べる文字列”, “比較する正規表現” ,1 )
MsgBox (0,””,$str[0] ) ;配列strの0番目(最初にマッチした文字列)をメッセージボックスに表示
・正規表現がうまく動作しない場合がある(使い方が間違ってるだけかも)。
 
 |(OR)がおかしい
 ?(0文字以上繰り返し)がおかしい
 {0,1}などもおかしい



2022-02-19 15:05 | 未分類

分かりにくすぎる 高速道路の看板 春日JCT


分かりにくすぎる 高速道路の看板 春日JCT_a0003166_14544810.jpg
↓その先の看板
分かりにくすぎる 高速道路の看板 春日JCT_a0003166_14545059.jpg
現在は「北近畿豊岡道」という、ものすごく小さい看板が「出口」の上についている



2022-02-13 15:01 | 未分類

あるある イエスと言っちゃいがち

チャルディーニの法則
返報性
 相手が何かをしてくれたら、その代わりにイエスと言いがち
 重い要求にノーと言った後に、軽い要求にイエスと言いがち
一貫性
 前にイエスと言ったことを、イエスと言いがち
 意見を変えにくい
社会的証明
 みんながイエスなら、自分もイエスと言いがち
好意
 好きな人がイエスなら、自分もイエスと言いがち
権威
 権威のある人がイエスなら、自分もイエスと言いがち
希少性
 限定されているものを欲しくなりがち



2022-02-13 14:54 | メモ

ゴール設定方法 SMART ぐたいてき

Specific 具体的
Measurable 計測できる
Agreed-upon 納得している
 Relevant 目的と関連している
Realistic 現実的
 Achievable 達成可能
Timely 期限を決める
ぐ:具体的
た:達成可能
い:意欲を持てる
て:定量的
き:期限設定



2022-02-13 13:35 | メモ

ボウリング あと1本倒れてほしい


ボウリング あと1本倒れてほしい_a0003166_22224162.gif



2022-02-10 22:23 | 未分類