差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
lazarus:helloworld [2025/06/28 20:40] – [ボタンのプロパティ] Write more body freemikanlazarus:helloworld [2025/06/29 18:13] (現在) – [ボタンのプロパティ] Set link to install page on Fcitx5 description freemikan
行 1: 行 1:
-====== 最初のプログラム Hello World======+====== 最初のプログラム Hello World ======
 [[lazarus:|{{:lazarus:lazarus_logo.png?150|Lazarus Logo}}]] [[lazarus:|{{:lazarus:lazarus_logo.png?150|Lazarus Logo}}]]
  
行 219: 行 219:
 ボタンのクリックのイベントはOnClickと名前が決められています。 ボタンのクリックのイベントはOnClickと名前が決められています。
 OnClickイベントに対して、ユーザーが自由に記述できるメソッドを結びつけることができれば目的を達成できます。 OnClickイベントに対して、ユーザーが自由に記述できるメソッドを結びつけることができれば目的を達成できます。
-イベントを処理するメソッドは**イベントハンドラ**と呼ばれます。+イベントを処理するメソッドは**イベントハンドラ**と呼ばれます。
  
 ボタンのOnClickイベントにイベントハンドラを設定する最も簡単な方法は、フォームエディタでボタンをダブルクリックすることです。 ボタンのOnClickイベントにイベントハンドラを設定する最も簡単な方法は、フォームエディタでボタンをダブルクリックすることです。
行 304: 行 304:
 [{{:lazarus:lazarus_ide_object_inspector_button_caption.png|オブジェクトインスペクタでCaptionプロパティを変更する}}] [{{:lazarus:lazarus_ide_object_inspector_button_caption.png|オブジェクトインスペクタでCaptionプロパティを変更する}}]
  
-変更された項目は、そうでない項目と一目で区別できるように強調表示されます。 
 この時点でフォームエディタのボタンのラベルに反映されて「こんにちは」に変わっています。 この時点でフォームエディタのボタンのラベルに反映されて「こんにちは」に変わっています。
  
行 310: 行 309:
  
 <note> <note>
-インストールのところでLazarus IDEとFcitx5には相性問題があると書きました。+[[install#fcitx5を利用している場合の注意|インストール]]のところでLazarus IDEとFcitx5には相性問題があると書きました。
 少し奇妙な感じがしますが、ソースコードエディタ以外のところではおおよそ問題なく日本語の入力が可能です。 少し奇妙な感じがしますが、ソースコードエディタ以外のところではおおよそ問題なく日本語の入力が可能です。
  
行 338: 行 337:
 ... ...
 ... ...
-procedure TForm1.HelloButtonClick(Sender: TObject); { ここでも使われている }+procedure TForm1.Button1Click(Sender: TObject); { ここでも使われている }
 begin begin
   ShowMessage('Hello, Lazarus World!');   ShowMessage('Hello, Lazarus World!');
行 374: 行 373:
  
 ==== フォームのプロパティ ==== ==== フォームのプロパティ ====
 +最後に、メインフォームのプロパティも変更しておきます。
 +メインフォームにもCaptionプロパティとNameプロパティが存在します。
 +
 +  * Captionは、設定したテキストが実行時のウィンドウのタイトルになります。
 +  * Nameは、このフォームコンポーネントを識別する名前です。
 +
 +ボタンのときと同じようにしてCaptionとNameの値を変更します。
 +オブジェクトインスペクタでForm1を選択するか、フォームエディタでフォームのどこか(ボタンではないところ)をクリックすると、Form1のプロパティが表示されます。
 +そこで次の変更を加えます。
 +
 +  * Captionを「Form1」から「My First App」に変更します。
 +  * Nameを「Form1」から「MyForm」に変更します。
 +
 +変更が終わると、ソースコードが更新されます。
 +最終的にUnit1の内容は次のようになります。
 +
 +<code pascal>
 +unit Unit1;
 +
 +{$mode objfpc}{$H+}
 +
 +interface
 +
 +uses
 +  Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls;
 +
 +type
 +
 +  { TMyForm }
 +
 +  TMyForm = class(TForm)
 +    HelloButton: TButton;
 +    procedure HelloButtonClick(Sender: TObject);
 +  private
 +
 +  public
 +
 +  end;
 +
 +var
 +  MyForm: TMyForm;
 +
 +implementation
 +
 +{$R *.lfm}
 +
 +{ TMyForm }
 +
 +procedure TMyForm.HelloButtonClick(Sender: TObject);
 +begin
 +  ShowMessage('Hello, Lazarus World!');
 +end;
 +
 +end.
 +</code>
 +
 +この時点でプログラムを実行すると、最初に提示したプログラムの実行画面と同じ結果が得られます。
 +
 +これで完成です。
 +
 +
 +===== お疲れ様でした! =====
 +予定していたよりずっと多くの分量になってしまいました。
 +もし最初から順番に追いかけてやってきていたとしたら、結構大変な仕事だったと思います。
 +なぜこんな簡単なプログラムのためにこんなに多くのことをやらないといけないんだ、と疑問に思われるかもしれません。
 +これだけ多くなってしまったのは、必要なIDEの使い方を逐一取り上げて説明を加えていったからです。
 +もしそれらについてすでに知っているなら、大幅に簡略化できます。
 +慣れてしまえばこのページで作成した程度のプログラムなら、数分足らずで作ることができるようになります。
 +
 +IDEを利用したプログラミングは、最初の取っ掛かりに時間がかかるのが厄介です。
 +一方で、一度基本を身につけてしまえば、その応用によって新たな機能を覚えるのにあまり時間はかからなくなっていきます。
 +このページで学んだことが十分な基本となっているかどうかはわかりませんが、今後のIDEの使用において何らかの助けになれば幸いです。
 +
 +
  
-  * 名前 
  
文書の先頭へ