本連載では、オープンソースの開発ツール「Lazarus」を使って、いろいろなデスクトップアプリを開発する方法を紹介します。Lazarusは、Pascal言語を利用したアプリの開発ツールです。かつてのPascal/Delphi好きに刺さること間違いなく、モダンなスクリプト言語しか知らない皆さんにもオススメです。

  • Lazarusでオリジナルメモ帳を作ろう

    Lazarusでオリジナルメモ帳を作ろう

Lazarusとは?

Lazarusはオープンソースの統合環境です。Pascal言語を利用して気軽にデスクトップアプリの開発が可能です。マルチプラットフォームであり、Windows/macOS/Linuxで動作します。画面上のパレットに、テキストボックスやボタンなど、さまざまなコンポーネントが配置されており、これをフォームにドラッグ&ドロップすることで、デスクトップアプリを開発できます。

  • Lazarusを起動してフォームのデザインをしているところ

    Lazarusを起動してフォームのデザインをしているところ

上記の画面のように、Lazarusを使うとドラッグ&ドロップで画面をデザインしてデスクトップアプリを手軽に開発できるのがポイントです。そして、本家Webサイトでも明言されているのですが、2001年頃にボーランドから発売されていた「Delphi」と似た画面構成となっています。

Lazarusをインストールしよう

Lazarusをインストールするには、公式Webサイト(https://www.lazarus-ide.org/)で配付されている各OS向けのインストーラーを利用します。ブラウザでWebサイトにアクセスし、「Download Now」をクリックして、SourceForgeからインストーラーをダウンロードできます。

なお、Lazarusのインストールについては、こちらの姉妹連載でも紹介していますので参考にしてください。また、記事の中でも紹介していますが、Lazarusバージョン3.4のmacOS版は少々不安定なところがあります。そこで、できれば、開発にはWindows版を利用すると良いでしょう。

インストールの方法は一般的なアプリと代わりありません。インストーラーをダブルクリックして起動したら、言語に「English」を選び「Next」ボタンを数回押すだけで、インスト−ルが完了します。

  • インストーラーがあるのでLazarusのインストールは楽々

    インストーラーがあるのでLazarusのインストールは楽々

完全オリジナル - 自分だけの画像付きメモ帳を作成しよう

それでは、実際にLazarusを利用して、メモ帳を作成しましょう。今回作成するのは、次のような好きな画像を貼り付けたオリジナルメモ帳です。「読み込み」ボタンを押して既存のテキストファイルを読み込んだり、「保存」ボタンを押してファイルの保存ができます。

  • オリジナルメモ帳を作成しよう

    オリジナルメモ帳を作成しよう

画面に画像を配置しよう

まずは、メモ帳の基本機能を作成しましょう。気持ちよくアプリを開発するために、最初に横長の画像を用意しましょう。今回は、ChatGPTに対して雑に「日本のオタクが喜ぶ絵を描画してください。美少女が教室にいる風景で…」などと注文を入れて次のようなイラストを描いてもらいました。

  • 素材画像をChatGPTに作ってもらいました

    素材画像をChatGPTに作ってもらいました

そして、Lazarusを起動させたら、マウス操作で適当なサイズにフォームの大きさを変更して、画面にTImageを配置します。TImageは画面上部の「コンポーネントパレット」の[Additional]のタブに配置されています。ダブルクリックするか、ドラッグ&ドロップしてフォーム上に配置しましょう。

  • TImageをフォームに配置します

    TImageをフォームに配置します

続いて、画面右側にある「オブジェクトインスペクタ」の「プロパティ」から「Picture」を探しましょう。そして、右側にある「(TPicture) [...]」のボタンをクリックします。すると、イメージ読み込みダイアログが開くので「読み込み」ボタンを押して、素材画像を読み込みます。「OK」を押すとフォームに画像が貼り付けられます。

  • 画像を読み込みます

    画像を読み込みます

続いて、TImageを選択したままで、プロパティの「Stretch」を探してチェックを入れます(値をTrueにします)。すると、フォーム上のTImageをマウスでドラッグすると、それに従って画像も拡大できます。メモ帳のサイズにうまく入るように、リサイズしておきます。

  • StretchをTrueにして、マウスで画像をリサイズします

    StretchをTrueにして、マウスで画像をリサイズします

メモ帳の機能を配置しよう

次に、フォームにメモ(TMemo)とボタン(TButton)を貼り付けましょう。TMemoは複数行の入力が可能なエディタで、TButtonはその名の通りボタンです。いずれも画面上部のコンポーネントパレットの[Standard]のタブにありますので、探して貼り付けましょう。

  • メモとボタンを貼り付けましょう

    メモとボタンを貼り付けましょう

その後、メモやボタンのプロパティを設定しましょう。画面左側のオブジェクトインスペクタを操作して、貼り付けたオブジェクトの名前(Name)やキャプション(Caption)を設定しましょう。オブジェクトのプロパティを変更するには、まず、フォーム上でボタンをクリックし、その後、オブジェクトインスペクタ上のプロパティを変更します。

  • プロパティを設定しましょう

    プロパティを設定しましょう

ここでは、次のように設定しましょう。

一つ目のボタン:

- Name: btnLoad
- Caption: 読み込み

二つ目のボタン:

- Name: btnSave
- Caption: 保存

メモ:

- Name: memoMain

ファイルダイアログを貼り付けよう

そして、画面上部のコンポーネントパレットの[Dialogs]から保存用と読込用の2つのダイアログをフォームに貼り付けましょう。「保存用(TSaveDialog)」、「読込用(TOpenDialog)」の二つです。

  • ファイルダイアログを貼り付けましょう

    ファイルダイアログを貼り付けましょう

ここまで作業したら、一度、プロジェクトを保存しておきましょう。 画面上部のメニューから「プロジェクト>名前を付けてプロジェクト保存」をクリックして「memopad」など適当な名前をつけて保存しましょう。また、何度かファイルの保存ダイアログが表示されますが、今回は、あまり考えずデフォルトの名前のまま「保存」ボタンを押して、プロジェクトやユニットを保存しましょう。このようにして保存したプロジェクトは、メニューから「プロジェクト>プロジェクトを開く」から読み込むことができます。

なお、マシン環境によって動作が不安定になってしまう場合もあるようです。その場合は、メニューの「ファイル>保存」をクリックして、こまめに作業を保存しましょう。加えて、プロジェクトを保存した後で、メニューの「ファイル>再起動」をクリックして、Lazarus IDEを起動し直すと改善する可能性があります。試してみてください。

いよいよプログラムを記述しよう

以上で、全ての要素が出そろいました。プログラムを記述しましょう。まずは、フォーム上にある「保存」ボタン(btnSave)をクリックして選択状態にします。そして、オブジェクトインスペクタの「イベント」タブを開きましょう。

その後、「OnClick」の右側をダブルクリックします。すると、コードエディタに、ボタンをクリックした時に記述すべきコードが自動的に挿入されます。

  • OnClickのイベントを作成したところ

    OnClickのイベントを作成したところ

そして、赤枠の部分に以下のプログラムを記述しましょう。

procedure TForm1.btnSaveClick(Sender: TObject);
begin
  // --- ここから記述 --->
  if SaveDialog1.Execute then begin
    memoMain.Lines.SaveToFile(SaveDialog1.FileName);
  end;
  // <--- ここまで記述 ---
end;

続けて、読み込みボタン(btnLoad)も、同じように選択して、オブジェクトインスペクタで「OnClick」をダブルクリックして、下記のコードを記述しましょう。

procedure TForm1.btnLoadClick(Sender: TObject);
begin
  // --- ここから記述 --->
  if OpenDialog1.Execute then begin
    memoMain.Lines.LoadFromFile(OpenDialog1.FileName);
  end;
  // <--- ここまで記述 ---
end;   

実行してみよう

以上で、ほぼ完成です。画面上部にある実行ボタン「▶」をクリックするか、メニューから「実行>実行」をクリックしましょう。初回実行時には、次のようなデバッグダイアログが表示されます。これは、デバッグレベルを指定するダイアログです。こだわりがなければデフォルトのまま「OK」ボタンをクリックしましょう。

すると、下記のように実行されます。メモ帳の部分(memoMain)に、テキストを記入して「保存」ボタン(btnSave)を押すと、保存用のファイルダイアログが出てファイルを保存できます。また「読み込み」ボタンを押すと、読み込み用のファイルダイアログが出てきて、テキストファイルを選択すると、内容を読み込みます。

  • プログラムを実行してみよう

    プログラムを実行してみよう

最後に微修正しよう

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら