情報アイランド

「情報を制する者は世界を制す」をモットーに様々な情報を提供することを目指すブログです。現在はプログラミング関連情報が多めですが、投資関連情報も取り扱っていきたいです。

学生でも社会人でも分かる!!初めてのプログラミング入門 第3回 命令

2016/12/17

第2回

↑ ↑ ↑

プログラムの手動作成

前回はHiMacroExというソフトを導入し、主に「記録」ボタンによるプログラムの自動生成について説明しました。

今回はプログラムを直接自分で書く方法について見ていきたいと思います。

とは言え、プログラムを自分で書くにはHiMacroExのプログラミング言語を完璧ではないにしてもある程度は覚えていなければなりません。

1回の記事でHiMacroExのプログラミング言語の全てについて解説するにはあまりにも紙幅が足りませんので、今回から少しずつHiMacroExのプログラミング言語やそれに関連するプログラミングの概念について解説し、それに併せてプログラムの実例も作成していきたいと思います。

最初は簡単なところから始めていきます。

まず、プログラムについて本当に一番最初に知っておかなければならないことを前回自動生成したプログラムを眺めながら説明したいと思います。

前回自動生成したプログラムの一部は下のようになっていました。

完成したプログラム

このプログラムをもう少しよく見てみましょう。

このプログラムは依然として謎の文字列ではありますが、見たところ、1行に全部書かれているのではなく、複数行に分けて書かれているのが分かります。

縦スクロールバーが表示されていることからも分かるように、横に長いというよりは縦に長いです。

実は、HiMacroExのプログラムの1つ1つの命令というのは1行に1つずつ書いていきます。

つまり、プログラムの1つの行は1つの命令を表しています。

どんな命令でも別々の行に書いていかなければなりません。逆に、仮に1つの行に複数の命令を書いてしまった場合にはプログラムは正しく動かなくなってしまいます。つまり、それは最早正しいプログラムではありません

なので、

  • 命令は1行に必ず1つだけ記述する

というのはHiMacroExのプログラミング言語におけるルールの1つであり、最も基本的なものです。ルールなので必ず守らなければならないものです。

さて、次に、プログラムを自動生成した時のことを思い出してください。

プログラムを自動生成した時、HiMacroExの画面のテキストエリアに命令を表す文字列が自動的に入力されていったかと思いますが、それはどういう風に入力されていったでしょうか?

上から下に、つまり、既に入力されている文字列の一番後ろに追加されていく形で入力されていったのではないでしょうか。

その時のことを思い出せない方はもう一度適当なプログラムの自動生成を試してみましょう。

プログラムの文字列がどんどん追加されていく様子が観察できるかと思います。

たとえば、キーボードから「foo」と入力するプログラムを自動生成した場合には下のようにプログラムが生成されていきます。

プログラムの自動生成過程1

プログラムの自動生成過程2

プログラムの自動生成過程3

このことからも分かるように、実は、HiMacroExのプログラムの命令というのは一番上から順番に実行されていきます。

だからと言って、プログラムに記述されている全ての命令が全て等しく1回ずつ実行されていく訳ではないのですが(この点については次回以降で解説します)、基本的に命令は一番上から順番に実行されていくということに変わりはありません。

逆に言えば、プログラムを書く時には、命令は実行させたい順番で並べていかなければならないということでもあります。

仮に適当な順番でプログラムの命令を並べてしまった場合にはプログラムを実行するとその適当な順番で命令が実行されてしまうということになります。

命令の順番は重要であって、しかも、その順番は基本的に上から下であるということです。

もし順番が間違えていたら、それは最早意図したプログラムとは別の、意図していないプログラムになっています

なので、

  • 命令は必ず実行させたい順番で上から下に順番に記述する

というのはHiMacroExのプログラミング言語におけるルールの1つであり、最も基本的なもののもう1つです。ルールなので必ず守らなければならないものです。

ここまでで述べたように、

  • 命令は1行に必ず1つだけ記述する。
  • 命令は必ず実行させたい順番で上から下に順番に記述する。

この2つのルールはHiMacroExのプログラミング言語における本当に最も基本的なルールであり、まずこの2つを覚えるようにしましょう。

この2つのルールを知っているだけでも、簡単なプログラムなら既に書くことができるようになっています。

しかし、この他に、肝心の命令の書き方を覚える必要はあります。

なので、次に、命令の書き方について見ていくことにしましょう。

キーボード関連の命令

HiMacroExのプログラミング言語には様々な命令が用意されていますが、最も重要なのはキーボード関連の命令です。

この命令により、プログラムを実行した際にキーボードのキーを操作しろという命令をHiMacroExに与えることができます。

と言っても、HiMacroExはキーボードを操作しろという命令を受け取っても、実際にキーボードを押したりする訳ではありません。

パソコンの中のバーチャルな存在であるHiMacroExが物理的な存在であるキーボードを実際に操作できるはずはありません。

なので、「キーボードのキーを操作しろという命令」というのは「キーボードのキーを操作したことにしろという命令」と表現した方がより正確です

しかし、実際に物理的なキーボードを操作するにしても、キーボードを操作したことにするにしても、パソコンに対して何らかの操作が行われるという結果には変わりありませんので、あまりこの点をはっきりと区別する必要はありません。

さて、キーボードには沢山のキーが付いていますが、HiMacroExが用意しているキーボード関連の命令にも沢山のものがあります。

標準的なキーボードに付いているキーに対応する命令は凡そ全て用意されていると言って良いでしょう。

それでは、そのようなキーボード関連の命令について順番に見ていきたいと思います。

英字キー

まず1つ目は、英字キー、すなわち、AキーからZキーまでに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

英字キー

HiMacroExでは英字キーを押す(押したことにする)命令はAからZという文字になっています。

つまり、たとえば、プログラムの中に命令としてAと記述すればAキーを押す命令を記述したことになります。他のキーについても同様です。

実際、「記録」ボタンによるプログラムの自動生成でAキーのみを押すプログラムを作成してみると、そのプログラムには1行目にAとのみ記述されているのが確認できるかと思います。

このように、英字キーを押す命令はキーに対応する文字を大文字で記述するだけで事足ります。ただし、記述する文字は半角文字でなければならないことには注意してください。全角文字で記述しても正しい命令にはなりません。

命令

A
Aキーを押したことにする。

B
Bキーを押したことにする。

    ・・・    

Y
Yキーを押したことにする。

Z
Zキーを押したことにする。

数字キー

次に、数字キーに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

数字キー

HiMacroExでは数字キーを押す(押したことにする)命令も英字キーを押す命令の場合と同じで、0から9という文字になっています。

命令

0
0キーを押したことにする。

1
1キーを押したことにする。

    ・・・    

8
8キーを押したことにする。

9
9キーを押したことにする。

記号キー

次に、英字キーや数字キーの右隣には記号を入力するためのキーが配置されています。

標準的な物理的なキーボードでは下の部分に位置するキーです。

記号キー

記号キーを押す(押したことにする)命令はキーに応じて下のようになっています。

命令

OEM(-)
-キーを押したことにする。

^
^キーを押したことにする。

\
\キー(1段目)を押したことにする。

@
@キーを押したことにする。

[
[キーを押したことにする。

;
;キーを押したことにする。

:
:キーを押したことにする。

]
]キーを押したことにする。

,
,キーを押したことにする。

OEM(.)
.キーを押したことにする。

OEM(/)
/キーを押したことにする。

\キー(4段目)を押したことにする。

若干覚えにくそうなものも混ざっていますが、このように決まっていますのでこれに従うしかありません。

ちょっとややこしいのが\キーについてです。\が入力できるキーには2つあることをご存知でしょうか。

数字キーと同じ段の右端にあるキーと、逆に英字キーの一番下の段と同じ段の右端にあるキーの2つです。

この2つのキーを押す命令は前者の方が半角の\となっており、後者の方が全角のとなっていますので注意してください。

テンキー

次に、数字キーは数字キーでも普通の数字キーではなくテンキーに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

テンキー

テンキーの数字キーを押す(押したことにする)命令はNumpad0からNumpad9という文字列になっています。つまり、Numpadという文字の後に対応する数字を記述します。

命令

Numpad0
テンキーの0キーを押したことにする。

Numpad1
テンキーの1キーを押したことにする。

    ・・・    

Numpad8
テンキーの8キーを押したことにする。

Numpad9
テンキーの9キーを押したことにする。

テンキーには他にもキーがあります。

これらのキーを押す(押したことにする)命令はキーに応じて下のようになっています。

命令

.
テンキーの.キーを押したことにする。

*
テンキーの*キーを押したことにする。

+
テンキーの+キーを押したことにする。

-
テンキーの-キーを押したことにする。

/
テンキーの/キーを押したことにする。

NumLock
NumLockキーを押したことにする。

NumpadEnter
テンキーのEnterキーを押したことにする。

ファンクションキー

次に、ファンクションキーに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

ファンクションキー

ファンクションキーを押す(押したことにする)命令はF1からF12という文字列になっています。キーボードのキーに書かれている文字列と全く同じ文字列です。

命令

F1
F1キーを押したことにする。

F2
F2キーを押したことにする。

    ・・・    

F11
F11キーを押したことにする。

F12
F12キーを押したことにする。

Shiftキー/Altキー/Ctrlキー

次に、ShiftキーやAltキーやCtrlキーに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

Shiftキー/Altキー/Ctrlキー

これらのキーには左側と右側の2種類があります(キーボードによっては片方しか存在しないこともあります)。

そして、これらのキーは別のキーと組み合わせて使われることが多いキーです。

たとえば、Ctrlキーを押しながらAキーを押すというような操作を行うことがよくあります。

そのため、HiMacroExでもこれらのキーに関してはキーを押してそのままにしておく命令と、押したままになっているキーを離す命令の2種類の命令が用意されています。

このおかげで、たとえば、Ctrlキーを押しながらAキーを押す操作は、「Ctrlキーを押してそのままにしておく命令」、「Aキーを押す命令」、「押したままになっているCtrlキーを離す命令」の3つの命令を順番に記述することで実現することができます。

具体的には下のような命令が用意されています。

命令

LShift Down
Shiftキーを押したままでいることにする。

LShift Up
Shiftキーを離したことにする。

LAlt Down
Altキーを押したままでいることにする。

LAlt Up
Altキーを離したことにする。

LCtrl Down
Ctrlキーを押したままでいることにする。

LCtrl Up
Ctrlキーを離したことにする。

RShift Down
Shiftキーを押したままでいることにする。

RShift Up
Shiftキーを離したことにする。

RAlt Down
Altキーを押したままでいることにする。

RAlt Up
Altキーを離したことにする。

RCtrl Down
Ctrlキーを押したままでいることにする。

RCtrl Up
Ctrlキーを離したことにする。

その他

最後に、その他のキーに対応する命令です。

標準的な物理的なキーボードでは下の部分に位置するキーです。

その他のキー

これらのキーを押す(押したことにする)命令はキーに応じて下のようになっています。

命令

Esc
Escキーを押したことにする。

半角/全角
半角/全角キーを押したことにする。

Tab
Tabキーを押したことにする。

CapsLock
CapsLockキーを押したことにする。

LWin
Windowsキーを押したことにする。

無変換
無変換キーを押したことにする。

Space
Spaceキーを押したことにする。

変換
変換キーを押したことにする。

カタカナ
カタカナキーを押したことにする。

RWin
Windowsキーを押したことにする。

Application
Applicationキーを押したことにする。

キーを押したことにする。

キーを押したことにする。

キーを押したことにする。

キーを押したことにする。

Enter
Enterキーを押したことにする。

BackSpace
BackSpaceキーを押したことにする。

Delete
Deleteキーを押したことにする。

Insert
Insertキーを押したことにする。

Pause
Pauseキーを押したことにする。

PrintScreen
PrintScreenキーを押したことにする。

ScrollLock
ScrollLockキーを押したことにする。

PageUp
PageUpキーを押したことにする。

PageDown
PageDownキーを押したことにする。

Home
Homeキーを押したことにする。

End
Endキーを押したことにする。

まとめ

ここまでのまとめとして、物理的なキーボードのキーと対応する命令とを物理的なキーボードの図の上で関連付けてみましたので、参考にしてください。

全てのキー

メニューからの命令の入力

最後に、1点だけ補足しておきます。

ここまでで様々なキーボード関連の命令を紹介しましたが、プログラムを自分で書いていく場合には直接これらの命令をテキストエリアに入力することもできますが、実は、HiMacroExのメニューには命令をテキストエリアに入力するための項目が用意されています。

実際にHiMacroExの「命令」というメニューの中を見てみれば分かりますが、多くの命令(全ての命令ではないです)に対応する項目が用意されています。

キーボード関連の命令の場合は「命令」メニューの「キー操作」の中に項目が用意されており、この項目をクリックすると項目に対応する命令をテキストエリアに入力することができます。

Shift Downメニュー

Shift Down

なので、命令の書き方を忘れてしまったような場合には「命令」メニューの中の項目を使うと便利かもしれません。

つづく

今回はプログラムを直接自分で書くための基本的なルールや命令について説明しました。

今回の記事はこれでおしまいです。

次回は今回説明した命令を実際に使って第1回の記事で例として出した画像を半分の大きさにリサイズするプログラムをHiMacroExで書いてみたいと思います。

これでプログラミングの具体的な活用方法が見えてくるのではないかと思います。

↓ ↓ ↓

第4回

pizyumi
プログラミング歴19年のベテランプログラマー。業務システム全般何でも作れます。現在はWeb系の技術を勉強中。
スポンサーリンク

-プログラミング, 講座