超ローテクDelphi講座
このページは、Delphiを使うと如何に簡単に、Windows用プログラムが作れるかを書いています。
はっきり言って超初心者用です。(笑) 玄人の方は見ないでください。
またこれから、ころころと内容が変わっていくと思いますので
よろしくお付き合いのほどを
はじめに
ここに書くことは、厳密には事実と違うことがありますが、
「感覚的、大筋ではこうだ」ということを書いています。
あまりつっこまないでくださいね(^^;;)
Delphiはとても素晴らしいWindows用プログラム開発言語です。
最近はDelphi6 personalやkylix(Linux版Delphi)などフリーで使えるのもあるので
お気軽にプログラムにチャレンジできると思います。
Delphi(デルファイ)とはボーランド社が発売している、ビジュアルなプログラム開発環境です。
言語体系はPascalになります。
世にV(ビジュアル)の付く開発環境としてVC++(ビジュアルC++)やVB(ビジュアルベーシック)などがあり
意味的にはプログラムのウィンドー(画面?)を視覚的に見やすく、簡単に作成できるものです。
ウィンドーのデザインで「ここにボタン、上にはツールバーを置く」などレイアウトが簡単にできます。
別にこの機能がなくてもウィンドープログラムは作れますが、泣きたくなるくらいつらいです。
特徴としては、
1. 大まかな部品(VCLと言いボタンやメニューなど)が充実していて、作るのがかなり楽。
また世界中に便利なVCL(ビジュアルコンポーネントライブラリー)が多数ある。
慣れてくれば自分でも作れ、再利用が簡単。
2. コンパイル速度が爆速!
3. 作ったアプリの実行速度が速い
4. ビジュアルベーシック(VB)のようにランタイムライブラリが要らない。
5. 1度作った処理や関数を、コンポーネントやDLLにして再利用するのが簡単。
特に5の機能は重要です。
ネット上には、先人や達人によって作られた優れたコンポーネントが世界中にあります。
えてして始めたばかりの頃は、何か作りたいものがあってもすぐ壁にぶつかってしまい
挫折しそうになります。
この時に先に言ったコンポーネントを利用すれば、より素早く簡単に作れます。
逆にデメリットとしては、
1.C++やVBに比べてユーザーが少ない。よって資料や情報も少なめ。
2.出来上がった時のサイズがでかい。
等です。
特にWin32API等の解説などは、Cでの説明がほとんどです。
ですからCの文法も併せて勉強すると、より効果的ですね。
このページでは優れたコンポーネントを利用しつつ、簡単に素早くプログラムを
作る方法を書いていきたいと思います。
また紹介させていただいたコンポーネントや説明に不備がありましたら
ご勘弁ください。
注意!!
いくら便利に凄いアプリが出来ようとも、他人のコンポーネント(以下コンポと省略)
を使っている以上、それは自分の実力で出来たのではありません。
常に無料で提供してくれている方へ感謝の気持ちは持っていましょう。
また励ましやお礼のメールは絶対出しましょう。
強制ではありませんが、これは私自身のポリシーです。
また、余裕ができてきたらそのコンポを読み下せるよう努力してみましょう。
でないといつまでも頼り切ってしまって、自分のスキルアップにはなりませんので。
。。。といいつつ自分は >>/(^^;;;)/
DelphiとWindowプログラムについて
Delphiはデルファイと読みます。
Borlandという会社が販売しているWindows上でプログラムを開発するためのツールです。
最近はkylixというLinux上で使えるDelphiもあります。
プログラム言語としてはPascal(パスカル)というジャンルで、それを発展させたObject Pascalというものです。
特徴は上でも書いた他に、オブジェクト指向であるということです。
詳しくは説明し切れませんので、他のページなどをご参照ください(^^;;)
またWindowsプログラムの特徴として、イベント駆動型(イベントドリブン)という特徴があります。
これは「何かきっかけがあると動き出す」というスタイルです。
例えば何かのボタンやメニューを押すと、それに関連づけされた処理(プログラム)が動くというものです。
勿論ずっと動きっぱなしのものも作れますけど。
プログラムスタイル
Windows時代になってからはプログラムのスタイルがイベント駆動型が主です。
これは「何かのきっかけでプログラムが動き出す」というもので、何かを監視しているような
プログラム以外はWindowが出ていてもアイドル状態(お休み)の方が多いです。
例えばボタンを押したら、そのボタンに関連づけされた処理(ルーチン)が動き、それが終わったら
また入力があるまでお休みしているみたいなものです。
スクリーンセーバーみたいにTimerを使って定期的に動いているタイプもありますが。
それに対して昔のアプリ(MS-DOS)などのものは、常に動きっぱなしで「一直線にプログラムを実行」し
またそれを繰り返すものでした。
いわゆるスパゲッティープログラムです。どこが何で切れ目はどこ?みたいな。
このイベント駆動型になってからは、各部品(ボタンなど)や処理ごとに区切ってプログラムしていくのが
主流になってます。
この方が見渡しは利くし、あるプログラム部分(ルーチン)を再利用するのが簡単になり後々便利です。
Delphiでのプログラムでは、現在デザインしているWindowと、それに対するソースコードを両方表示して
書いていくことができます。
いわゆるビジュアルな開発ツールですね。
またWindowのデザイン、レイアウト時には、欲しい機能のVCL(ビジュアルコンポーネント)ボタンやエクスプローラーの
ツリー表示みたいな枠を選んで、Window上に配置していくだけです。
その後ボタンが押されたとか、枠がダブルクリックされた時の処理を書いていけばOKです。
また基本的な処理の雛形もDelphi自身がやってくれますので、かなりラクチンです。
とりあえず基本の基本
ちらっと用語の説明です。
Procedure |
プロシージャ。手続き。手続きという意味で、返り値の無い関数です。
何か計算や処理をしても、呼び出し元へ答えを返さなくても良い場合主に使います。
裏技じゃないですけれど、値を返す方法もあります。
|
Function |
ファンクション。関数。必ずなんかの返り値が1つあります。1つしか返り値はありません。 |
Form |
表示されるウィンドーそのもの。 |
Unit |
Form内のプログラムコードが書かれているもの。 |
Use |
Use節。そのプログラムで使用するライブラリを記述します。
WindowAPIを使うときは、Useの後にWindowsを追加します。
通常新規にFormを作ると、最低 Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs;が入っています。
大抵VCLをFormに置くと自動で追加されます。
プログラムサイズを減らしたいときなどは要らないライブラリを削除します。
|
Project |
プログラムを一元管理するものです。
この中にFormやunitなどが組み込まれて管理されます。
VC++なども同じですね。 |
変数 |
何かのデータを入れておく入れ物です。数値、文字など。 |
ローカル変数 |
一時的に使う変数です。プログラム中の一部分でしか使えない形の変数。 |
グローバル変数 |
プログラム全体で使える変数。便利みたいですが、多用すると収集がつかなくなります(^^;;) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
変数の型 たくさんありますが、よく使うのが数値と文字でしょう。
integer 整数の為の変数
single 実数、浮動小数点などに使います。円周率の3.1415・・・とか
char 文字用。でも1バイトのみ0-9、A-Zと一部の記号
string 文字用。日本語などを表したいときは主にこちらを使います。
配列変数 複数の変数をまとめて管理するもの。
とりあえず最低限、これぐらいは覚えなければならないでしょう。
それじゃDelphiを起動しましょう。
とりあえず起動すると、空のウィンドーが1つと、それに対するソースコードを書くエディターが出てきます。
保存・読み込み
データのセーブは普通のアプリケーションと同じに名前をつけてセーブすればよいのですが、
複数の設定ファイルができるので、空のフォルダを1つ用意してそこへ保存しましょう。
この時プロジェクトファイルに名前をつけて保存すると、コンパイル後のExeファイルの名前は
これになります。
またDelphi5以降だとプロジェクトグループという、複数のプロジェクトを一括管理するための
グループ名をつけて保存・管理できます。
Projectファイルについて
Projectのソースサンプル
program HAView; << HAViewはプログラム名そのものです。コンパイルするとHAView.exeができます。
uses << このプログラムが使っているライブラリやFormが書かれています。
Forms, << ここらへんはスクリーンセーバーなど、特殊なもの意外は直接いじらない方が多いです。
Main in 'Main.pas' {MainF}; << フォームの名前がMainFで、それに対するソースコードはMain.pasという名前のファイル
{$R *.RES}
<< このプロジェクトファイルがあるディレクトリの中にある、
全てのリソース(アイコンなど)がインクルード(取り込まれる)される。
begin << プログラムの開始
Application.Initialize; << ここで変数などが初期化されます
Application.Title := 'HA View'; << そのまんま。タイトルバーに出る文字
Application.CreateForm(TMainF, MainF); << MainFというウィンドーが作られます
Application.Run; << ここからほんとにアプリケーションが目に見えて動きます。
end.
<< アプリケーションの終了
Projectファイルは
これ以降はまたのちほど。かなりの尻切れトンボです(^^;;)
作ってみよう!!
いきなりですが、何か作ってみましょう。
といっても私が説明できる範囲でしか書けませんけれど。
現在2つの例をあげています。
お試し下さい。
圧縮解凍プログラムを作る
プログラムランチャーを作る
|