プログラム開発関連
目次 このページのリンク以外の部分でダブルクリックすると、目次が現れます
マウス操作のプログラム
こちら で、マウス操作の自動化ソフトを紹介しましたが、下記はプログラムまで組めるソフトです。
UWSC
作者のホームページ
http://www.uwsc.info/
インストールしたら、「読込み」で「サンプル.UWS」を読みこんで、「再生」してみると、凄さが分かります。
Ver 4.1 までは、 Win95 でも動きます。Ver 4.1 は、下記の Wiliki「Programming in UWSC 」の「バイナリファイルのリポジトリ」からダウンロードできます。
vectorの解説
http://www.vector.co.jp/magazine/spotlight/001011/sl00101115.html
http://rd.vector.co.jp/magazine/softnews/060627/n0606273.html
UWSC はプログラム言語なので、それなりに敷居は高く、Help を読むだけで使えるようになる人は、少ないでしょう。
良い入門書が有ります。小林シンヤさんの「Windowsマクロテクニック 」です。「サンプル.UWS」で、UWSC に魅力を感じたかたは、まずこの本を購入されることを、推奨します。
UWSCを、どのようなシーンで使うと便利か、から説き起こして、COM(Component Object Model)を使って、インターネット・エクスプローラや Excel を操作する方法まで、親切丁寧に書かれています。
UWSCスクリプトの解説(Bigさん)
http://big.tm.land.to/handbook/uwsc.htm
このサイトも、分りやすい?解説が有るので、必読でしょう。
Programming in UWSC
http://iriyak.adam.ne.jp/wiliki/uwsc.cgi
UWSCの落し物部屋(しろまささん。サンプルの項が充実しています)
http://siromasa.xxxxxxxx.jp/
このサイトの内容を、一括ダウンロードして、参照しやすくする方法は、こちら を参照下さい。
UWSCのご紹介(清水さんのホームページ)
http://park14.wakwak.com/~simizu/
UWSCスクリプト命令の解説があり、スクリプトのダウンロードもできます。
(トップページから、PageDown などの、自動巡回式のダウンロード・ツール で一括ダウンロードは、できないようになっています。どうしてもダウンロードしたい場合は、Website Explorer を使うと、ダウンロードできます。(^^ゞ
下記の「全ウィンドウタイトルの表示スクリプト」は、スクリプトの表記サンプルと言うだけでなく、実用面でも必携です。
http://park14.wakwak.com/~simizu/uwsc/windsply.html
LINERS WEBSITE
http://www.nagomi-jp.net/~liners/
UWSCサンプル集 (Linersからの贈り物)
http://www.nagomi-jp.net/~liners/uwsc_sample_page.htm
過去の掲示板の発言などをまとめたもので、chm ファイル形式でダウンロードできます。
自動化ソフト UWSC スクリプト集(入谷和典さん)
http://iriyak.adam.ne.jp/uwsc.html
私が評価している、UWSC の最大の特長は、日本語変数 が使えることです。
下は、画面から単価と数量を入力して、結果の金額を表示するプログラムの例ですが、変数が漢字で書かれているので、読めばそれくらい直ぐ分りますよね。
//日本語の変数の事例(金額計算)
項目1="単価を入力してください。"
項目2="単価は? "
単価=入力データ(項目1,項目2)
項目1="数量を入力してください。"
項目2="数量は? "
数量=入力データ(項目1,項目2)
金額 = 単価 * 数量
print "金額=単価*数量 の結果は、" + 金額 + "円です。"
//データ入力用のサブルーチン。
function 入力データ(項目1,項目2)
while true
入力 = input(項目1)
ifb 入力 <> "" then //入力がないとき、入力指示を繰返す。
print 項目2+入力+"円"
//MsgBox を表示して、Yes のときブロックを抜ける。
if MsgBox("入力よろしいか?", BTN_YES or BTN_NO) = BTN_YES then break
endif
wend
result=入力
fend
解説:
UWSC でサブルーチンを作る場合は、次のいずれかになります。
@.Procedure を使って、その中で、必要な場合は public で戻り値用の変数を定義する。変数は複数設定できます。
A.Function を使う。戻り値は一つです。
次の例は、COM(Component Object Model)を使って、Excel を操作する例です。
Excelマクロのプロパティを、UWSC で使えるのです!
// マウス、キーボード入力をブロックする
StopForm(False) // Stopウィンドウは出さない
LockHard(True)
//起動中のExcelを、COMとして「Excel」という名前のIDにして、取得する
//以下、このCOMのIDを使って、Excelを操作します。
Excel=GetActiveOLEObj ("Excel.Application")
//COMを使って、開いているExcelのシート数を取得
シート数=Excel.Worksheets.Count
//一方、Excel画面というIDで、ウインドウズの画面として、Excelを取得します。
Excel画面=GetId ("Microsoft Excel")
//エディタ(サクラエディタ)を起動する
エディタ = GetId ("(無題) - sakura")
ifb エディタ < 0 // 存在してなければ起動
エディタ = EXEC ("C:\Tool\テキストエディタ\sakura.exe")
endif
sleep(0.01) //0.01秒待たせます
For i=1 to シート数
//Excelのシートを順に開いて、全画面を選択してコピーする
Excel.Worksheets(i).activate
Excel.Cells .Copy
//Excelのシート名も取得する
シート名=Excel.Worksheets(i).Name
//エディタにシート名と内容を貼り付けて、改行する
SendStr (エディタ,"******************************************************<#CR>")
SendStr (エディタ,"★" + シート名 + "★<#CR>")
sckey (エディタ,vk_ctrl,vk_v)
SendStr (エディタ,"<#CR>")
sleep(0.01) //0.01秒待たせます
next //最後のExcelシートまで繰返す
Excel.Application.CutCopyMode = False
Excel.Worksheets(1).activate
//Excel画面というIDで、取得してあった、ウインドウズの画面としてのExcelを、前画面に表示します。
CtrlWin (Excel画面,activate )
注意:
キー入力には、KBD ではなく、SendStr や sckey を使うようにします。KBD は Window の ID を指定できないので、そのとき前面にある、想定外の画面に入力してしまうことが有るからです。
英数キー入力するときは、該当画面の IME を off にしておく必要が有ります。分かってみれば、当たり前のことですが、私もはまった ( ・・・・ ) ことが有るので、ご注意下さい。
IMEの状況を確認して、トグル off にするときは、例えば下記のように記述します。
if GETKEYSTATE (TGL_IME ) then KBD (VK_KANJI ,CLICK ,20)
エディタの設定方法
私は、UWSC のスクリプト編集に、サクラエディタ を使っています。
サクラエディタの「タイプ別設定」に、ファイルの拡張子 uws を追加して、以下のように設定すると便利です。
(1)強調キーワードに、UWSC41 を追加します。
@.「共通設定」の「強調キーワード」で、セット名(UWSC1)をセット追加します。
A.インポートで、サクラエディタの Keywordフォルダの下の「uwsc41.kwd」を開いて、追加します。
B.同様に、セット名(UWSC2)をセット追加します。そして、インポートで、サクラエディタの Keywordフォルダの下の、「uwsc42.kwd」を開いて、追加します。
他に色分けしたいキーワードが有れば、適宜、セット名(UWSC1)かセット名(UWSC2)のいずれかの適当なほうに、追加します。
C.「タイプ別設定一覧」で、「設定21」など、空いている行を選択して、「設定変更」ボタンを押します。
D.「タイプ別設定」画面が表示されるので、「スクリーン」タブの、「設定の名前」に「UWSC」を、「ファイル拡張子」に「uws」を登録します。
E.「タイプ別設定」の「カラー」タブで、「強調キーワード1」に「UWSC1」を、「強調キーワード2」に「UWSC2」を追加して、好きな色に設定します。
F.コメントスタイルで、行型に「//」を登録します。
(2)外部HTMLヘルプ に、uwsc.chm を追加します。
@.「タイプ別設定」の「支援」の「外部HTMLヘルプの設定」に、uwsc.chm のパスを登録します。
A.「共通設定」の「キー割当て」で、「種別」から「支援」を選択します。
B.「機能」の「外部HTMLヘルプ」に、お好きなキーを割り当てます。私は「F1」を割り当てています。
こうしておくと、さくらエディタでスクリプトを書いているときに、例えば、「SendStr」という単語が色変えされて、綴り(スペル)が、UWSC の予約語や関数と合致することが確認できます。
またここで「F1」を押すと、UWSC の当該キーワードの行のヘルプが開きます。簡単に、UWSC のコマンドの文法を確認できますし、例) のリンクでジャンプして、使い方まで参照することができます。
サクラ・エディタには、「入力補完機能」も有ります。(私はあまり好きではないので使っていませんが。)
使う場合には、「タイプ別設定」の「支援」タブの「入力補完機能」の「単語ファイル」に、
(サクラエディタの登録フォルダのパス)\Keyword\uwsc.dic
を登録して、「英大文字小文字を同一視する」にチェックを入れます。
下記のサイトで紹介されている「HotVBS 」を登録して、
HotVBS と、関連ソフトのダウンロード で、「スクリプト事例」をダウンロードして追加して下さい。
この中の「ソースコード整形 」を使うと、ソースの整形ができます。
http://www.aa.isas.ne.jp/v-tails/delphi/hotvbs.html
■整形内容:
@.キー・ワードの大文字・小文字を、キー・ワード・ファイルに登録された形式にそろえます。
(""で囲まれた範囲は対象外)
A.算術記号の前後に、半角スペースを挿入します。(""で囲まれた範囲は対象外)
B.行末の空白を削除します。(行末のタブは削除しません。)
UWSC用DLL作成
http://f30.aaa.livedoor.jp/~seiten/dllcreate.htm
フリーの C開発環境 を使って、UWSC で使える DLL を作るまでの手順・方法が、丁寧に書かれています。
GhostTracer
作者のホームページ
http://www.h5.dion.ne.jp/~hogeneko/ft/
ダウンロード
http://www.vector.co.jp/soft/dl/win95/util/se191041.html
AutoHotkey
AutoHotkeyを流行らせるページ
http://lukewarm.s101.xrea.com/
AutoIt
http://www.softantenna.com/lib/2418/
オンライン・ドキュメンテーション
http://64.233.179.104/translate_c?hl=ja&u=http://www.autoitscript.com/autoit3/docs/&prev=/search%3Fq%3DAutoIt%26num%3D50%26hl%3Dja%26rls%3DGGLD,GGLD:2004-24,GGLD:ja
http://64.233.179.104/translate_c?hl=ja&u=http://www.autoitscript.com/autoit3/&prev=/search%3Fq%3DAutoIt%26num%3D50%26hl%3Dja%26rls%3DGGLD,GGLD:2004-24,GGLD:ja
WindowController
http://chi.usamimi.info/Program/
Excel VBAプログラムの作成支援
Excel VBAは、以下のような点で、優れたプログラム言語だと思います。
1.プログラム作成が容易
@.入門書や解説書が豊富にある
A.日本語変数を使えるので、ソースを解読しやすい。
B.強力な統合開発環境 (エディタ・デバッガ)
C.コードを自動作成(マクロの記録)できる
2.プログラミングの生産性が高い
豊富なExcelの関数や、メソッドを、そのまま使える
3.高機能
グラフなど、豊富なプロパティが、準備されている
ソース‐プログラムを逐次解釈しながら実行する(インタープリタ形式) Excel VBA の欠点だった、「スピード」の問題が、パソコンの処理速度の向上で、実用上、満足できるレベルになったことも、 Excel VBA の評価を高める背景になっています。
ここでは、Excel VBA プログラムの開発支援ツールを紹介します。
editVBCs(モジュールの取込み、書出し、削除)
ソースの管理が、楽になります。
作者のホームページ(だるまのエクセルVBA)
http://members3.jcom.home.ne.jp/daruma_kyo/
ダウンロードページ(EVC.zip)
http://members3.jcom.home.ne.jp/daruma_kyo/download/download.html
VBA_VariableProcedureXref
デバッグの時に便利なツールです。
上の editVBCs で抽出した、ExcelVBAのモジュールやシートから、VBAプログラムて使われている、変数一覧表を作るとともに、それらの変数が、どのサブルーチンやファンクションで使われているかを、対応表示してくれます。
VBA_VariableProcedureXref.xls
私が、プログラムを作っていて、デバッグで引っかかる不具合の半分は、変数の処理の部分です。
使い回す変数の初期化を忘れていたり、あるいは、別の所で、想定外の値が代入されていたりといったものです。
こんなバグを見つけ易くするために自作しました。重宝しています。
VBScript
VBScript を使うと、ちょっとしたプログラムが、簡単?に作れます。
VBScript の項で紹介したホームページに、実用的なプログラムの事例が豊富に掲載されているので、これを、そのままか、あるいは、少しアレンジすると良いでしょう。
VBScript 作るとき、あなたが、Excel をお持ちなら、その VBE を使うと、文法チェックや色分けが便利です。また MS Script Editor も使えます。
下の、「HotVBS」や、「WSHを始めよう!」も、便利です。
HotVBS
ツリー管理ホットキー実行の、VBScript/JScript編集ソフトです。
これを書いている時点で、私が知る限り、VBScript の開発環境(「エディタ」+「デバッガ」)として、最強のものです。
スクリプトの変数の部分に「?」を追記しておくだけで、変数の内容を簡単にモニタできます。
変数や関数名に日本語が使えます 。変数に漢字を使って記述すると、スクリプトの可読性が、飛躍的に向上します。
スクリプトを、ツリー・リストとして登録・整理して、「ホットキー」で簡単に起動できるので、「マクロ・ランチャ」として、あらゆる場面で使えるでしょう。
DDwin 検索起動 は、良い事例だと思います。
「ホットキー」 で、ブラウザを起動するなど、重い処理をするときには、たとえばIEの起動画面が表示されるまで、[CTRL]キーを押したままにします 。そうしないと、エディタなどに、「a」や「c」の文字が入力されることがあります。
HotVBS は、起動時に常駐させると便利です。
スタートアップに登録して、電源起動時に常駐させる方法 を参照下さい。
私の Win95 マシンで、マクロも含め、それなりに動いています。
作者のホームページ(使い方と、ダウンロード)
http://www.ac.cyberhome.ne.jp/~v-tails/delphi/hotvbs.html
スクリプトの事例
下記には、
私が編集したスクリプト を、掲示してあります。
HotVBS 用スクリプトの事例 ← 一括ダウンロードもできます。
参考:私の設定例
@.左下のステータスを見て、途中でストップしていたら、ループ回数制限数を、それなりに増やします。
A.インデント範囲も、選択できるようにしています。
B.2重起動すると、変更前後の状態が発生して紛らわしいので、禁止しています。
C.「テスト」と「エラー」は、常に凹ませておきます。
ホットキーで使うときには、「編集」をふくらませて、狭くして使います。
スクリプトの編集をするときは、「編集」を押して、スクリプトの部分を表示させます。スクリプトの表示部分を広くするために、「モニタ」は凹ませません。
テスト「実行」する時は、「編集」と「モニタ」を凹ませます。
注:
全角文字の「変数名」や「関数名」は、HotBVSが、前処理で、文字コード(UNICODE)に変換してくれます。
全角1文字は、半角5文字に変換されます。
VBScript では、変数名として、半角で255 文字まで使えます。したがって、日本語全角文字を使っても、51文字と、充分な長さを確保できます。
文字変換の結果は、右側のモニタ画面に表示されます。
バイナリーエディタ を使って、全角文字→文字コードへの変換内容を、確認することができます。
WSHを始めよう!
スクリプトを保存して、「!」ボタンで即実行できる点が、便利です。
作者のホームページ
http://homepage3.nifty.com/aokura/
説明のページ
http://homepage3.nifty.com/aokura/aswshed/aswshed.html
「表示」→「オプション」の「構文強調表示」で、「VBScript」か、「JScript」か、いずれかを選択します。この選択は、オート・インデントの動作にも影響します。
「WSHを始めよう!」のマクロは、 Windows Script Control を利用しているため、「ScriptControlオブジェクトを作成できません。」と表示される場合は、下記で「sct10jp.exe」をダウンロードして下さい。
http://www.microsoft.com/downloads/details.aspx?familyid=151EF63D-23E9-4367-BB25-37310C6222FE&displaylang=ja
私の Win95 マシンで、マクロも含め、問題なく動いています。
BASIC
ここでは、無償のプログラム開発言語、Beginner's All purpose Symbolic Instruction Code をいくつか紹介します。
BASICは、1964年に、ダートマス大学のケムニー J. G. Kemeny が設計・開発したコンピュータ言語で、複数の端末から、中央のコンピューターを、会話方式で時分割使用(TSS)する目的で、使いやすく作られています。
70年代半ばに登場したマイクロコンピューターに移植され、マイクロコンピューターの性能の向上に合わせて、図形や音の扱いをはじめとして、言語の仕様を拡張してきました。
その発達の過程から、いくつものバリエーション(分派)が有ります。
ここで紹介する各BASICの、関数・コマンドの比較表 を作ってみましたので、よろしければ、ご覧下さい。各BASIC の特長・守備範囲の違いが分かります。
計算速度の比較は、付録:BASIC プログラムの例 の項を参照下さい。
下記の「BASIC活用研究」は、BASIC学習の参考になるでしょう。
http://homepage2.nifty.com/kasayan/bindex.htm
Function View でも、Basic 風の文法でマクロを作成できます。
Excelのマクロ も、BASIC の派系の一つです。もし貴方が Excel をお持ちなら、昔からの BASICプログラムの、画面まわりの入出力部分を、Excelのセル操作に小修正するだけで、動かすことができるでしょう。
BASICプログラムを作るとき、Excelは、強力な開発環境になります。
Excel の VBE(Visual Basic Editor) の、入力支援機能やデバッグ機能は、優れものだからです。
また、Excelのメソッドをそのまま使えるので、コーディングが少なくてすみます。例えば、Sort メソッドを利用すると、簡単にデータの並べ替え ができます。
BASIC 以外のプログラム言語については、例えば下記を参照下さい。
http://www10.plala.or.jp/bunme/tada/tada010.html
無料で楽しむパソコン生活(開発環境)
C/C++については、下記を参照下さい。
http://www.ooyashima.net/db/prog.htm
タダで始めるC/C++プログラミング for Windows(大八洲.NET)
FreeBASIC と FbEdit
Free BASIC は、無料オープン・ソースの、32ビットBASICコンパイラです。
構文は、MS-QuickBASIC の系列で、ポインターや、データ型や、インラインアセンブリや、オブジェクト・オリエンテーションなど、多くの機能が、加えられています。
ユニコードもサポートされています。
プログラム事例:
(1).ソース中の「行番号」も、そのまま使うことができます。
(2).19桁までの整数演算ができます。(素因数分解の例を参照下さい)
(3).N88 Basic で書かれた画像表示プログラムも、容易に移植できました。
(4).ヒルベルト曲線、フラクタ、数式絵
(5).シェルピンスキーの三角形
Visual Basic 2008 Express Edition に対する、FreeBASIC のアドバンテージは、実行環境を選ばない点です。
FreeBASIC でコンパイルした exe は、Win95パソコン でも動きます!
ダウンロード
http://www.freebasic.net/
excite機械翻訳
examples フォルダに、1,000本以上のサンプル・プログラムが収録されています。
インストールするとき、外部ライブラリの全てがデフォルトで選択されているのではないので、必要なら、選択します。一旦インストールした後で、追加インストールも、できます。
ウィキペディア(Wikipedia)の紹介
http://ja.wikipedia.org/wiki/FreeBASIC
FreeBASIC Manual (日本語マニュアル は着手中です。)
http://makoto-watanabe.main.jp/freebasic/
↑ 私一人では日本語化は困難なので、手分けして日本語化を進めようという方がいらっしゃれば、連絡下さい。
(↑ 英語版は、FreeBASIC をダウンロードすると、ヘルプ・ファイルとして含まれています。)
2ちゃんねる【QBASIC互換!?】FreeBasic【GPL 】
http://hibari.2ch.net/test/read.cgi/tech/1139379786/
または、
http://unkar.jp/read/hibari.2ch.net/tech/1139379786/
http://syntaxerror445.blog21.fc2.com/
↑ 画面の右の一番下の部分で、Solbianca さんの、日本語付き chm ヘルプを、ダウンロードできます。
FreeBASIC で作られたゲーム集
http://games.freebasic.net/
(FreeBASIC で作られたプログラムは、FreeBASIC サイトの「gallery」にも登録されています。)
その他、ダウンロード
http://www.petesqbsite.com/downloads/downloads.shtml
下で、wave 音声の再生用のサンプル一式「fmod_example_program.zip」をダウンロードできます。
http://www.petesqbsite.com/sections/express/issue26/index.html
QuickBasic Cafe
http://www.qbcafe.net/
QBasic Forum
http://www.tek-tips.com/threadminder.cfm?pid=314
Forum of Quick BASIC→テーマ別の索引
http://www.auemath.aichi-edu.ac.jp/teacher/iijima/qbforum/theme.htm
FbEdit は、FreeBASIC 用の、統合開発環境です。
コード・エディタで、キーワードの色分けはもちろん、キーワードの頭文字が 自動的に大文字になったり、自動入力支援機能も有ります。
キーワードでF1を押すとWin32APIのリファレンスか、 FreeBASIC の HELP が立ち上がります。
GUI のフォーム・エディタもあります。
Projects フォルダに、50本程度のサンプル・プログラムが収録されています。
ダウンロード
http://radasm.cherrytree.at/
http://fbedit.svn.sourceforge.net/
excite機械翻訳
最新情報:http://www.freebasic.net/forum/viewforum.php?f=8
freebasic.net Forum Index -> Projects -> FbEdit
FbEdit日本語ヘルプ
http://www.hi-ho.ne.jp/makoto_watanabe/FbEdit/
日本語言語ファイルは、まだ英語の部分が残っていて、完成度は低いです(^^ゞ
ActiveBasic
http://www.activebasic.com/
N88BASICの文法、命令語を基本としている、プログラミング言語です。BASICの勉強をしたことが有る人であれば、すぐにでもプログラムを記述することができます。詳細なヘルプ・ファイルが付いているので、初心者の方も挑戦してみて下さい。
でき上がったプログラムは、インタプリタで動作させるだけでなく、コンパイルして".exe"ファイルにすることができます。
コンパイルすると、実行時に ActiveBasic 本体を必要としないため、exeプログラムのみ配布できることになります。コンパイルすると、動作速度の向上も期待できます。
Microsoft Visual Basic .NETライクの「統合開発環境(IDE:Integrated Development Environment:マウスなどを利用して視覚的にウィンドウをデザインし、コーディングをサポートする、RAD (Rapid Application Development) 環境。ソース ファイル管理をはじめ、プロシージャ管理、リソース管理など、開発に関する資源管理。)」まで装備しているので、容易にWindowsプログラムを作成できます。
Win95でも使える 点が嬉しいですね。
V4 では、ネイティブ コンパイラ(機械語レベルのコードを生成するコンパイラ)を採用しているので、既に充分速かったV2より、さらに2倍以上も高速な、「実行ファイル」を生成 することができます。
V4 のデバッガビューは、インストールして初めて実行した時点では、下のステータス・ラインの部分に隠れています。
このため、「デバッグ実行」をした後、マウスを下に持って行って、当該ペインをひきづり出すと、「デバッガビュー」が現れます。
一旦そのペインを表示させておけば、その後は、AB4を再起動しても、「デバッグ実行」をすると、自動で「デバッガビュー」が表示されるようになります。
ActiveBasicV4 でコンパイルした、画像表示プログラムの事例を
ここ に置きますので、よろしければダウンロードして、その実行スピードを体感してみて下さい。この .exe は、私の Win95、Win98、Win2000 パソコンで動作確認済みです。
Microsoft の Visual Basic .NET で開発したソフトは、コンパイルすると、.exe ファイルになりますが、それはアッセンブラ (
CIL : Common Intermediate Language) に変換されるだけで、その .exe の実行のためには、クライアント・パソコン上に、.NET Framework という実行環境が必要です。その.NET Framework は、Win98 以降にしか導入できません。Visual Basic .NET でコンパイルした .exe ファイルは、実際のプログラム動作時に、.NET Framework の Just In Time コンパイラが、都度ネイティブ・コードに変換して実行します。
つまり、ActiveBasicV4 は、
Microsoft VB .NET に比して、Win 環境を選ばない点で勝っているのです。
V4 をインストールする場合は、N88BASICと互換性の高い V2 にも切り替えて使えるように、別のフォルダに登録することを推奨します。 (私は、ActiveBasic2とActiveBasic4のフォルダに、それぞれ登録しています。)
V4 でも、「デバッグ実行」を使うと、コンパイルせずに、インタプリタとして、プログラムを動かすことができるので、プログラムのテストが簡単にできます。
V4で無くなった関数やコマンドは、下記で探すと見つかることがあります。
コミュニティ フォーラム一覧 → 実践コードモジュール
http://www.activebasic.com/forum/viewforum.php?f=2
ActiveBasic は、次に紹介する N88互換BASIC と比べると、文法は、若干、厳格です。
例えば、文字データの場合には "" が必須で、V4 では、さらに変数の定義 DIM がプログラムの先頭で必須になります。関数は一桁目大文字で以下小文字です。また行vウしでも動くようにしてあるため、END IF が無い場合には、THEN の後の改行はできません。
ActiveBasic V2のダウンロード
http://www.activebasic.com/activebasic2.6/
上記サイトが消えているようなので、こちら でダウンロードできるようにしました。
ActiveBasicのコーナー
http://www1.ocn.ne.jp/~ahosato/ab/actbasic.htm
ActiveBasicを応援するページ
http://www.ex.biwa.ne.jp/~runa-p/nanasi/ab/
OriosのActiveBasic講座
http://orios.s151.xrea.com/activebasic/
ON ERROR RESUME NEXT
http://resume-next.hp.infoseek.co.jp/
N88互換BASIC for Windows95
http://www.vector.co.jp/soft/win95/prog/se055956.html (bas95110.lzh)
Windowsで動作する N88BASIC互換 のBASICインタプリタ です。N88BASIC 上で蓄積したプログラム資産を、Windows 上で走らせることが可能です。エディタに文法ヘルパが付いており、学習しながらプログラムを作ることができます。
豊富なサンプルプログラムが付属しています。
N88互換BASIC for Windowsの利用方法
http://www.cc.u-ryukyu.ac.jp/guide/manual/windows/Basic/
注意点:TAB キーを行の始めに使うと、その行にある命令は無視されます。スペースを空ける時はスペースキーをいくつも入れます。
Tiny Basic
BASICインタプリタ です。初心者用の解説と、豊富なサンプル・プログラムが親切です。
http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/
インストールしたら、「ヘルプ」→「Basic入門」で、「Tiny Basic操作方法」の項を一通り読めば、直ぐサンプル・プログラムを楽しむことができます。
Tiny Basic 自習サイト
http://members3.jcom.home.ne.jp/tbasic/
中学生・高校生向けの教材があります。
私の Win95 で、以前動いていましたが、ハードディスクの容量を拡大するため、「ドライブスペース3」を導入した時?から、「プログラム開始エラー」「システムに装着してあるデバイスは動作していません。」とメッセージが出て、Win95 で起動しなくなりました。
(-_-;)
付録:BASICプログラムの例
1.最大公約数と最小公倍数を求める(ユークリッドの互除法)。euclid.bas
2.素因数分解する。prime_factors.bas
素因数分解の計算時間で、各 BASIC のスピードを、私のパソコンで比較してみました。
ドラマを通して、 整数論が、 興味深く 語られています。
3.部品表の構成子部品を抽出する。
bom_jp.txt
テキスト・ファイルですので、万一ブラウザで表示して文字化けしたら、ブラウザのエンコードで、「日本語(自動選択)」にしてみて下さい。
各種 ERPパッケージ・ソフトの間で、部品表データの授受のファイル形式を標準化することで、著名な ERP(COPICS、SyteLine、SAP、BAAN など)の部品表データを、相互に交換できます。
添付プログラムは、この部品表標準フォーマットから、特定親品目番号の部品表構成子部品を抽出するプログラムです。テキスト・エディタで表示できます。このプログラムは、ActiveBasic と N88互換BASIC のどちらでも動きます。
使い方:
@C:\temp\ に、この標準BOMファイル (サンプル:bom0001_2.txt)を保存します。
A上記のプログラムの拡張子 をtxtからbasに変更して、実行します。
B画面に結果を表示すると共に、C:\temp\に、Prod_St.txtというファイル名で結果を書き出します。
同じプログラムを、Excel マクロ に修正したものも、参考に添付します。bom.xls
Excel マクロのアルゴリズムを見直して、正しくマルチレベル展開できるようになりました。bom4.xls
(^^ゞ
このExcelマクロでは、標準BOMファイル (サンプル:bom0001_2.txt)は、適当なフォルダに保存すればよいようにしました。マクロのボタンを押したときに、ファイルの場所を聞いてきます。(解説はVBAの項 )
Visual Basic 2008 Express Edition
「Windows 向けソフトウェアを手軽に、楽しく作成できる」 Visual Basic が無償で使えるようになりました。
強力な統合開発環境(エディタ・デバッガ)と、コンパイルによる高速動作、が魅力です。
ただし、稼動環境が限定されているので、ご注意を。
WinXPの場合は、ServicePack2 が必須です。私はまだ SP1 なので、インストールできませんでした。
(SP2 の CD を以前、郵便局まで行ってもらってきたのですが、インストールしない間に、紛失してしまいました。捨ててしまった? ^_^;)
コンパイルしたプログラムを実行するには、.NET Framework が必要です。
http://www.microsoft.com/japan/msdn/vstudio/express/
ダウンロード
http://www.microsoft.com/japan/msdn/vstudio/express/vbasic/
東海大学のテキスト
http://www.cc.u-tokai.ac.jp/text/VisualBasic/VisualBasic.pdf
鹿児島大学工学部情報工学科 情報活用基礎
http://www.ics.kagoshima-u.ac.jp/edu/katuyoukiso/vbasic/
Visual Studio 関連書籍のご紹介と試し読みのページ
Visual Studio Express Edition に関連する書籍の一部が、抜粋されています。学習の参考になるでしょう。
http://www.microsoft.com/japan/msdn/vstudio/express/book/
注:オープン・ソフトの、SharpDevelop というものも、有ります。
なでしこ
日本語プログラム言語「ひまわり」の、後継ソフトです。
100本近い、直ぐに使えるサンプルプログラムが、おまけ ( ・・・ ) に付いています。
「なでしこエディタ」を起動させて、メニューの「ファイル」から、「なでしこデモ」を開いて、「実行」させてみて下さい。その実力が、分かります。
ReadMe.txt の「対応 OS」には書いてありませんが、私の Win95 でも動いています。
作者のマニュアルから:
なでしこは誰でも手軽に使えるプログラミング言語です!
自然な日本語を使ってプログラムが作れます。
「ひまわり」に対して、
(1)実行速度が10倍以上速くなった
(2)機能がライブラリに分けられて配布サイズが小さくなった
(3)文法が大幅に改善された
たとえば、ひまわりでは、単語ごとに読点をつけて、分かち書きしなくてはなりませんが、なでしこではこれが不要になり、今まで以上に書きやすくなりました。
注:
なでしこでは、構文をブロックの単位で処理します。ブロックはインデント(字下げ)して区別します。
したがって、インデントがずれている ( ・・・・・ ) と、思った結果になりません。
作者のホームページ:
http://nadesi.com/
日本語で10行プログラミング
http://pcweb.mycom.co.jp/column/nihongoprog/
Python(パイソン)
Python(パイソン)とは、Guido van Rossum 氏の考案による、オブジェクト指向のインタープリタ・プログラミング言語です。
Python の文法は、C や Java などに似ています。
しかし、ブロック構造の定義に、インデントを用いることが違います。
これは、「ブロックの範囲をインデントで決定する」ことで、視覚的に分りやすいプログラムを必然的に書くことになるからです。
たとえば 関数や if 文の範囲は、Python ではインデント、つまり行頭のスペースとタブの数で指定します。
プログラムのファイルの拡張子は、.py で、アイコンはニシキヘビです。
右の「速効!Pythonプログラミング」は、ステップを細かく分けて、サンプル・コードが紹介されているので、入門書として、分かりやすいと思います。
Python Japan User's Group(PyJUG)
http://www.python.jp/Zope/
PyJUG オンライン ドキュメント
http://www.python.jp/doc/
ダウンロード(私は以下で、python234jp-20040927.exeをダウンロードしました。)
日本語環境用インストーラ(Win32)Python 2.3.4
(日本語環境用Pythonを構築するインストーラ)
http://www.python.jp/Zope/download/pythonjpdist
ウィキペディア(Wikipedia)の解説
http://ja.wikipedia.org/wiki/Python
プログラムの解説は、以下など分かりやすいでしょう。
★1時間で覚える?Python★
http://kanaya.naist.jp/Zope/member/nishio/japanese/memo/LearnPythonInAnHour/
http://web.archive.org/web/20070620145457/http://kanaya.naist.jp/Zope/member/nishio/japanese/memo/LearnPythonInAnHour/
Pythonのお勉強
http://python.rdy.jp/
Python 早めぐり
http://www.shido.info/py/python2.html
Active Perl
Perlで書かれたプログラムを実行する ためのソフトです。
自分のパソコンで、CGI を動かせるようにするために、必要です。
私は下記で、ファイル・サイズが小さい、ActivePerl 5.6.1 build 635 Windows MSI 8.6MB をダウンロードしました。
http://www.activestate.com/Products/ActivePerl/
導入方法は、下記のホームページを参照下さい。
http://penguin.nakayosi.jp/windows/perl.html
ハードディスクに、50M 程度の容量を必要とします。インストールのとき、「数分待て」と表示してきます。私のPentium 150Mhzのパソコン では、10分以上待たされたので、インストールに失敗したのかと思いましたが、辛抱強く待った結果、うまくいきました。
一般に、サーバの perl のパスは、#!/usr/local/bin/perl となっています。が、パソコンのどこに Active Perl をインストールしても、拡張子の関係付けをしておけば、CGI は動きます。
ウィキペディア(Wikipedia)の解説
http://ja.wikipedia.org/wiki/Perl
バイナリエディタ
ファイルのダイレクト修正や、コードの確認などに必須のアイテムです。
Stirling
1.ダウンロードサイト
http://www.vector.co.jp/soft/win95/util/se079072.html
2.Stirlingの特長
・ビットイメージ表示機能
・回数無制限のアンドゥ、リドゥ
・検索、不一致検索、置換、比較(相違箇所強調表示機能つき)
・選択範囲のファイルへの書き出しや、指定データパターンでの初期化
・テキスト部に文字入力できるので、文字コードの確認に使える
・ASCII、シフトJIS、EUC、UNICODE (2バイト系UTF-16 [リトルエンディアン(インテル形式)] or [ビッグエンディアン(モトローラ形式)] )、EBCDIC、EBCIDK各キャラクターセット対応
注:独自のクリップボードを使っているため、外部のソフトでコピーした文字やコードを、Stirlingに貼り付けすることはできません。
ファイルの比較機能で、ファイル相違箇所を確認する方法:
まず、準備として、「設定」→「環境設定」の「ツールバー」タブの「追加できる機能」の「ウインドウ系」で、「上下に並べて表示」を追加しておきます。
比較元と、比較対象の両方のファイルを開きます。
ウィンドウ・メニューより「上下に並べて表示」をします。
次に、比較したいファイルを指定して、「比較」を実行します。相違箇所を検索し、「相違箇所一覧」ダイアログに結果が表示されます。
「相違箇所一覧」ダイアログで、「比較結果の強調表示」と「シンクロスクロール」をチェックしてください。相違箇所が強調表示され、かつ、相違箇所を探す際に2つのウィンドウが同期してスクロールするので、確認しやすくなります。
TSXBIN
いろいろなファイルを、フォーマット解説つきでバイナリ表示&編集できます。
GIF、BMP、JPG、ICO、LZHのファイル形式のフォーマットを定義したマクロが、最初からついているので、アイコンや画像などはファイルを開くと、フォーマット解説が見られます 。
テキスト部に文字入力したいときは、メニューの「編集」→「書き込み」でテキストを選択して入力できます。クリップ・ボードからの貼付けもできます。
表示される文字コードは、シフトJISだけです。
作者のホームページ
http://www.net3-tv.net/~m-tsuchy/tsuchy/
マクロは、各種ファイル用が、何人かの手で開発・公開されていて、例えば、
http://hp.vector.co.jp/authors/VA015412/
を主催されている「名無し@沢村」さんの MIDI のマクロ Mid.sym を使えば、MIDI ファイルから下記のような内容が見られます。
このマクロは、上記のホームページからは削除されているため、「名無し@沢村」さんのご了解のもと、作者の「サポート対象外」で転載させて頂いています。
これを使えば、MIDIの音色を、容易に変更できます。
DANDP
UTF-8(漢字の3バイトコード) が表示できる点が特長です。
Ver.0.33から、内部処理(キャラクタ表示)に Unicode を選択(既定)できるようになったため、フォントに例えば、NSimSun を指定すると、日中混在テキストを文字化けせずに表示できます。
ファイルの比較、10進数での検索、バイト合計の計算、相対アドレスでのジャンプ、データの着色表示、ASCII、S hift-JIS、EUC、Unicode(UCS2、UTF-8)での文字表示、ファイル保存時のバックアップ、ステータスバーへの10進数&2進数表示などの機能があります。
http://hp.vector.co.jp/authors/VA020296/
XMLエディタ
XML(eXtensible Markup Language)は既に常識です。
右の本を読むと、「おぼえられる」とまでは言いがたいですが、10日で XML の本質を体得できる ことは確かです。
ホームページの更新情報を発信する RSS も、XML です。
XML は、XML Web サービスと呼ばれる、インターネットを経由したシステム連係での、データ記述の標準となっています。
Webサービスとは (NEC)
Webサービスとは (UNISYS)
Office XP と XML Web サービスの概要
XML Web サービスとは
この際XML をマスタしましょう。
XMLエディタとは、XMLファイルを、トゥリー形式とデータで、ペイン を分けて表示させて編集することができるソフトです。いずれもフリーソフトです。
これは部品表インポート用ファイルのサンプルです。
まずインターネット・エクスプローラで見てみましょう。
左端のタグ「<」の左に「- 」が表示されている部分が有ります。ここをマウスでクリックすると、折りたたまれて「+ 」になります。これをクリックすると、また展開できます。
つづいてこのXMLファイルを自分のパソコンにダウンロードしてから、XMLエディタで見てみましょう。違いが分かるでしょう。
注:XMLの基本的な要点
(
http://www.ridual.jp/column/04.html より引用させていただきました)
1) 文頭にXML宣言文(version情報/文字コードを含む)
例:<?xml version="1.0" encoding="Shift_JIS"?>
2) タグは開始タグと終了タグの一対で記述
a) 基本形:<タグ>...</タグ>
b) 省略形:<タグ/>(これ以外の省略形は許さない)
c) タグ名は自由に記述可能
- 大文字小文字は別ものとして扱う
- 日本語も可能(推奨しない)
3) タグでくくられている単位を要素(エンティティ)と呼ぶ
a) 要素は入れ子にすることが可能
b) 一番上の階層に1つの要素が必要
c) 要素は属性という形で複数の情報を持つことが出来る
例:<AAA name="foo" comment="boo">aaa</AAA>
XMLEditor.NET
XML文書をツリー形式や表形式で表示できる点が特長です。
作者のホームページ
http://www.xmleditor.jp/
上の部品表サンプルを表示した例です。
窓の杜の紹介
http://www.forest.impress.co.jp/article/2005/07/27/xmleditornet.html
エディタとしての編集方法の事例 :(when要素の間のデータを追加する)
(下の画面コピーは、説明を分りやすくするために、ソースビューにデータが入っていますが、実際の操作では、「ボタン」を押したときに、初めてソースが表示されます。)
1.ツリービューでwhenノードを選択
2.ノード・エディット・ビューで、ノード名に「span」、テキストに「円」、属性名に「style」、属性値に「font-weight:bold;」を入力
3.ツールバーの「新規要素を子ノードの末尾に追加」ボタンを押す
→span要素の部分が挿入される。
4.ツリービューで、3で作成したspanノードを選択
5.ノードエディットビューでノード名に「value-of」、名前空間接頭辞に「xsl」、属性名に「select」、属性値に「price」を入力
6.ツールバーの「新規要素を子ノードの先頭に追加」ボタンを押す
繰返し性の要素を追加するときは、表モードで追加すると簡単です。
XML Notepad
データも表形式で一覧表示されて便利
http://www.webattack.com/get/xmlnotepad.shtml
マイクロソフトのホームページからは消えているので、一応ここ にも添付します。
(日本語タグには対応していません。)
eXeed
■作者のホームページ
http://www.toru.marumoto.net/software2.html#eXeed
ダウンロード
http://www.vector.co.jp/soft/dl/win95/net/se205249.html
■機能
I. ツリー表示でビジュアルなXML編集
:マウスで直感的にXMLを編集、作成。ソースもリアルタイムで参照可。
II. XMLを解析しながら編集
:タグを気にせずに、文法に確実な編集。
III. 外部ソフトの連携
:テキストエディタ、ブラウザーを直接起動。
IV. CSV−>XMLコンバーターで、直接CSV をXMLへ変換&編集
:Ver0.9からは、一行目をタグ名として利用できるようになりました。
追記:Excel-XPは、ファイルの保存形式にXMLが選択できます。
Excel-2000以下でも、eXeed(ツール→CSVから取り込み)や、次の、XML データ・コンバータ を使うと、CSV経由でXMLにすることができます。
XML データ・コンバータ
CSV 形式や、タブ区切り形式のデータファイルから、XMLデータファイルへ変換するソフトです。
データの一行目をXMLタグとして使用することも可能です。
■作者のホームページ
http://www6.ueda.ne.jp/~mtvictory/soft/index_2.html
ダウンロードしたファイルの中の、sample の yama_data.xml をブラウザで開くと、表の上にマウスカーソルを乗せると、ソートされるホームページになっています。XML, XSL の威力を体感できます。
Micorosoft Internet Exploer 5.0〜 では XML 文書を XSL スタイ ルシートを使って HTML に変換して、表示することができるのです。
XMLについての参考資料
たのしいXML
http://www6.airnet.ne.jp/manyo/xml/
XML文書入門
http://wisdom.sakura.ne.jp/web/xml/
Internet ExplorerとMSXML
http://www.keiyu.com/doc/msxml.htm
DOMとは何か
http://www.doraneko.org/misc/dom1/introduction.html
XMLについて専門家に質問しよう
http://www.atmarkit.co.jp/fxml/askxmlexpert/askxml01/askxml01.html
XMLの基礎を理解する10のポイント
http://www.atmarkit.co.jp/fxml/tanpatsu/07xmlbegin/xmlbegin01.html
技術者のためのXML再入門
http://www.atmarkit.co.jp/fxml/rensai/rexml01/rexml01.html
Studying XML First Step
http://www.asahi-net.or.jp/~ps8a-okzk/xml/xml_1/new.html
XML Cafe(仕様など)
http://www.fxis.co.jp/xmlcafe/
AutoHotKey
AutoHotkey(オートホットキー)とは、
〜超ウルトラスーパーキーボードランチャー?〜 です。
http://www.sd-dream.com/toolinside/vol080.html
AutoHotkeyを流行らせるページ跡地 に関連資料が有ります。
http://lukewarm.s101.xrea.com/
DvorakJ は、AutoHotkey を使って開発されたツールで、ソースも公開されています。
AutoHotKey
http://www.autohotkey.com/
AutoHotkey_L
http://www.autohotkey.net/~Lexikos/AutoHotkey_L/
AutoHotkey_N, AutoHotkey.dll
http://www.autohotkey.net/~tinku99/ahkdll/
AutoHotkey スレッド part10
http://pc12.2ch.net/test/read.cgi/software/1265518996/
窓の杜
ホットキーでWindowsやアプリを自由自在に操作できる「AutoHotkey」
http://www.forest.impress.co.jp/article/2007/06/27/autohotkey.html
今更ながらAutoHotKeyが便利すぎる
http://blog.lilyx.net/2008/10/25/autohotkey/
XBRLビュア
XBRL(Extensible Business Reporting Language)は、財務会計情報を、作成・流通・再利用できるように標準化された、XML ベースの言語です。
XBRLとは
http://www.xbrl-jp.org/
http://www.tse.or.jp/rules/td/xbrl/about.html
日本公認会計士協会:ちょっと教えてXBRL
http://www.jicpa.or.jp/xbrl/
3.XBRLのしくみ(★分かりやすいです)
http://www.jicpa.or.jp/xbrl/flash_3.html
TeCAX
XBRLデータ を参照するための、専用のソフトウェアです。
EDINET、TDnetで公開されるXBRLの自動収集と、閲覧ができます。
http://www.tecaweb.net/
ダウンロード
http://www.vector.co.jp/soft/winnt/business/se451464.html
http://www.tecaweb.net/index.php?option=com_docman&Itemid=43
ソフトの紹介と使い方
http://www.tecaweb.net/index.php?option=com_content&task=view&id=16&Itemid=1
初回は、オートパイロットで、データ全件のダウンロードを行うので、それなりの時間がかかります。
ダウンロードの状況は、メニューの「表示」→「コンソールウインドウ」で、確認できます。
XMLデータベース
データベースには、リレーショナル・データベース や、階層型データベース以外に、XML データベースがあります。
XML データベースは、構造化されにくい文字データを柔軟に取り扱うことができるのが特長で、RDBMを拡張したものと、ネイティブ・データベースが有ります。
文書管理システム、やスキーマ変更の頻発するワークフロー管理、異機種間データ統合などで、活用が進んでいます。
例えば、出版社の「三省堂」では、「大辞林(第三版) 」の編集に、XMLデータベースを使いました。XMLデータベースを使うことにより、データの更新が、迅速・柔軟にできるようになるともに、インターネットでの同時公開も可能になりました。(XML→XSLT )
http://ascii24.com/news/i/serv/article/2006/09/11/664504-000.html
http://www.dual-d.net/doc/20060911aDomew.pdf
XMLデータベースで辞書データを作っておけば、同時に複数の辞書(小辞典・中辞典)を編纂することもできます。
XPriori
「XPriori」は、第2世代XMLデータベースといわれるもので、有償版の「NeoCore XMS」の機能限定バージョンです。
右の解説書「XMLデータベース入門 NeoCore/XprioriでXMLDBを極める! 」では、Xprioriの、インストールから使い方まで、詳解されています。
この入門書は、必携です。
紹介とダウンロード
http://www.xmldb.jp/
「2008年11月1日をもって、「XMLDB.JP」からの「Xpriori」(NeoCoreXMSの機能制限版・個人の学習用途のみ利用可能)のダウンロードを終了しました。」とのことです。
Xindice
これも、無料で使えるXMLデータベースです。
http://www.atmarkit.co.jp/fxml/tanpatsu/18xindice/xindice01.html
XMLデータベース 「Xindice」にチャレンジ
http://www.theylive.jp/apache/xindice.html
リレーショナル・データベース
リレーショナルデータベースとは、データを表形式で管理するツールです。複数の表を、キー項目で関係付けて、容易に検索できる点が特長です。 Access も、リレーショナル・データベースの一つです。
データベースには、たとえば IMS(DL/1) のような階層型(ツリー型)のものも有ります。ツリー型のデータベースは、部品表データ を管理するのに、高速で最適ですが、現在は、データの融通性が高く、検索が容易だという点で、リレーショナル・データベースが主流です。
参考:DBMSの歴史(東海大学資料)
http://www.cc.u-tokai.ac.jp/text/2005/Access-intro.pdf
XMLデータベース と言うものもあります。
DBMSの基礎知識
http://www.rfs.jp/sb/sql/01/01.html
リレーショナルデータベース
http://www.imasy.or.jp/~folio/folio/RDB/
データベースとは
http://www.src-j.com/books/pdf/153_pt.pdf
ファイル&データベース
http://www.econ.kyoto-u.ac.jp/~hmatsui/lecture/archive/IS-2001/IS-14/IS-14.pdf
情報処理概論
http://www.econ.kyoto-u.ac.jp/~hmatsui/lecture/archive/IS-2001/IS-14/ppframe.htm
DB2 Express-C
DB2は、IBM が、1983年に DB2 (Database2) としてリリースしたものです。
2006年2月、「日本IBMは、汎用性が高く導入が容易であるデータベース管理ミドルウェア「DB2 Universal DatabaseR Express-C」の提供を発表しました。お客様、開発者やパートナーは、当製品を無償でダウンロードできます。」
http://www-06.ibm.com/jp/press/20060201002.html
時代は変わったものですね。
ダウンロード
http://www-306.ibm.com/software/data/db2/udb/db2express/download.html
400Mも有るので、ブロードバンドでないとダウンロードできませんが (^^ゞ
MySQL
MySQL.com
http://www.mysql.com/
日本MySQLユーザ会
http://www.mysql.gr.jp/
MySQL リファレンスマニュアル
http://dev.mysql.com/doc/mysql/ja/
PostgreSQL
ダウンロード
http://www.postgresql.org/
日本PostgreSQLユーザ会
http://www.postgresql.jp/