LoginSignup
1
4

More than 3 years have passed since last update.

Delphiの開発の進め方(入門)

Last updated at Posted at 2021-02-24

はじめに

この記事はWIndowsアプリケーションをDelphiで作成する際の基本的な進め方を説明する

進め方目次

  1. プロジェクトとユニットを作成
  2. ビジュアルプログラミング
  3. コードの記述
  4. コンパイル

プロジェクトとユニットを作成

プロジェクトとユニットについて

プロジェクトとユニットの関係性は以下のように、各ユニットをプロジェクトでまとめている

プロジェクト
  ├ ユニット1
  ├ ユニット2
  ├ ユニット3

プロジェクトはアプリケーションやシステムのことを指し、ユニットはそのプロジェクトを機能別、役割別に分けているものである。
そのため、それぞれのファイル名は以下にするとよい

ファイル ファイル名
プロジェクト 作成したいアプリケーションを表す名前
ユニット アプリケーション内での役割や機能を表す名前

作成方法

「ファイル」>「新規作成」を選択し、該当するメニューを選択する

作成するファイル 選択するメニュー
プロジェクト Windows VCL アプリケーション - Delphi
ユニット(フォームあり) VCL フォーム - Delphi
ユニット(フォームなし) ユニット - Delphi

※ プロジェクトを作成した際は自動的にユニット(フォーム)も作成する

その他のメニューの種類と説明については以下
参考:[新規作成]([ファイル]メニュー)

ビジュアルプログラミング

Delphiの開発は「ビジュアルプログラミング」と「コードの記述」と2つの方法で開発していく。
ビジュアルプログラミングとはマウスでコンポーネントという部品をフォームにドラッグ&ドロップしてアプリ画面を作成する
前提として、フォーム付きのユニットに対して行う

フォーム画面とコード画面の切替

F12を押すと画面が切り替わる

フォーム画面
image.png
コード画面
image.png

フォームのプロパティ設定

F11を押してオブジェクトインスペクタを表示する
image.png

コンポーネントの配置

フォーム画面の状態でCtrl + Alt + Pを押してパレットを表示する
image.png

ここでは例としてTButtonを配置する

Standardを押す
image.png

TButtonを押して、フォームにドラッグ&ドロップする

image.png

プロパティの設定

オブジェクトインスペクタで以下のCaptionを変更する
image.png

フォームに置かれたボタンの文字が変更される
image.png

その他のプロパティについてはHELPを参照する
※HELPはF1で表示される

コードの記述

上記のビジュアルプログラミングを実施後にコード画面を開くと以下のコードが記載されている

test.pas
unit test;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

end.

ここでは例として、「実行ボタンを押したらメッセージが表示される」コードを記述する。

イベントとは

まず、「ボタンを押したとき」に何かをしなければならないことをDelphiに教えなければならない。
これをイベントという。
他には、「フォームを消したとき」「キーボードが押されたとき」などがある

イベントの設定

オブジェクトインスペクタからTButtonを選択する
image.png

イベントを押す
image.png

今回は「ボタンを押したとき」なのでOnClickの設定値の入力箇所をダブルクリックする

image.png

Button1Clickというイベントが設定された
image.png

コード画面にも追加されている]

procedure TForm1.Button1Click(Sender: TObject);
begin
//ここに処理を記載する
end;

処理内容を記載

追加されたコードの枠に処理内容(メッセージを表示する)を記載する

test.pas
unit test;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;                         //コンポーネントの配置時自動入力
    procedure Button1Click(Sender: TObject);  //イベント設定時自動入力
  private
    { Private 宣言 }
  public
    { Public 宣言 }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage('実行ボタンが押されました')
end;

end.

コンパイル

F9を押すとコンパイルが実行され、アプリケーションが表示される
image.png

実行ボタンを押すとメッセージが表示される
image.png

右上の「×」ボタンでプログラムが終了する
Ctrl + F2で強制終了させる事も可能(メモリの破棄等が行われないので注意)

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4