Difference between revisions of "Lazarus Tutorial/ja"

From Free Pascal wiki
Jump to navigationJump to search
(Moved main menu section to page Main menu/ja and inserted link)
(16 intermediate revisions by one other user not shown)
Line 6: Line 6:
  
 
== 概要 ==
 
== 概要 ==
Lazarusはフリーでオープンソースの開発ツールです。これは、フリーでオープンソースのFreePascalコンパイラ(object pascal)を利用しています。Lazarus IDE([http://lazarus-ccr.sourceforge.net/kbdata/lazide.jpg スクリーンショット]) はとても安定し、他への依存度がほとんどありません。Lazarusを使って機能豊富なグラフィカルアプリケーション、コンソールアプリケーションの開発ができます。
+
Lazarusは Free Pascal コンパイラのためのフリーでオープンソースな開発ツールです。 Lazarus IDE([http://lazarus-ccr.sourceforge.net/kbdata/lazide.jpg スクリーンショット]) は、機能が豊富なプログラム環境であり、単独で機能するGUIアプリケーションやコンソールアプリケーションを開発できます。 Lazarusは、現在 Linux、 FreeBSD、 Win32 そして Mac OS X の上で動作し、カスタマイズ可能なソースエディタ、FreePascalコンパイラと統合された完全なGUI、
Lazarusは現在Linux、FreeBSD、Win32そしてOS Xの上で動作し、カスタマイズ可能なソースエディタ、ビジュアルなフォーム作成機能、パッケージマネージャ、デバッガといったものが、GUIによって備えられてFreePascalと完璧に統合しています。
+
パッケージマネージャやデバッガを持つビジュアルなフォーム作成環境を提供します。
 
 
  
 
== Lazarusでプログラムをはじめてみよう ==
 
== Lazarusでプログラムをはじめてみよう ==
Line 104: Line 103:
 
=== メインメニュー ===
 
=== メインメニュー ===
  
メインメニューバーには、
 
ファイル(<u>F</u>)、編集(<u>E</u>)、検索(<u>S</u>)、表示(<u>V</u>)、プロジェクト(<u>P</u>)、実行(<u>R</u>)、パッケージ(<u>P</u>)、ツール(<u>T</u>)、環境(<u>N</u>)、ウィンドウ(<u>W</u>)、そしてヘルプ(<u>H</u>)という項目があります。
 
 
メニューの項目を確認するには、マウスカーソルでそのメニュー項目をクリックするか、キーボードのAltとF(ファイルメニューの場合)を同時に押してください。(訳注:Lazarus0.9.26では、ここにあったフォーカスの記述が不要であり削除)。
 
 
==== ファイル  ====
 
<div class="floatright"> [[Image:FileMenu.png]] </div>
 
* '''新規ユニット''': 新しいユニットファイル(Pascalソースコード)を生成します。
 
* '''新規フォーム''': 新しいフォーム(GUIウィンドウと関連するPascalソースコード)を生成します。
 
* '''新規''': 新規作成できるファイルを示すダイアログ ([http://lazarus-ccr.sourceforge.net/kbdata/menu-new.jpg screenshot]) が表示されます。
 
* '''開く ...''': "ファイルを開く"ダイアログが表示されます。
 
* '''元に戻す''': 現在のファイルの編集内容を破棄して元の状態に戻します。
 
* '''最近扱ったファイルを開く''': 最近編集したファイルのリストが表示されます。
 
* '''保存''': 現在のファイルを元の名前で保存します。名前が無い場合(新規ファイルの場合)は、"名前を付けて保存"ダイアログが表示されます。
 
* '''名前を付けて保存''': 現在のファイルを保存先のディレクトリと名前を指定して保存します。
 
* '''すべて保存''': 現在選択しているファイルに加え、エディタで開かれている全てのファイルを保存します。
 
* '''閉じる''': 現在のファイルを閉じます。変更を保存するかどうかを尋ねるダイアログが表示されます。
 
* '''全ファイルを閉じる''': 現在エディタで開いている全てのファイルを閉じます。変更を保存するかどうかを尋ねるダイアログが表示されます。
 
* '''ディレクトリの中身を消去 ...''': カレントディレクトリからファイルを取り除くために、除去ファイルのフィルタ編集ダイアログが表示されます。 バックアップファイル(.bak)や Delphi のプロジェクトを読み込んだ場合の不要物を取り除くのに便利です。
 
* '''Print ...''': システムのプリンターを用いて、選択されたファイルを印刷します。
 
* '''再起動''': Lazarusを再起動します。ファイルが絶望的にぐちゃぐちゃになったときに役に立つでしょう!
 
* '''終了''': Lazarusを終了します。全ての変更されたファイルを保存するかどうかを尋ねるダイアログが表示されます。
 
<div style="clear:both;"></div>
 
 
 
==== 編集 ====
 
<div class="floatright"> [[Image:EditMenu.png]] </div>
 
* '''元に戻す''': 最後の編集内容を元に戻します。 エディタの状態は、最後の編集時の手前の状態になります。
 
* '''やり直し''': "元に戻す"によって戻された最後の編集内容が再び実行されます。Re-instates the last action that was reversed by Undo.
 
* '''切り取り''': 選択されたテキストやアイテムを削除して、その内容をクリップボードに転送します。
 
* '''コピー''': 選択されたテキストやアイテムをコピーします。コピー元は変更されず、コピー内容をクリップボードに転送します。
 
* '''貼り付け''': クリップボードの内容をカーソル位置に貼り付けます。テキストがカーソルによって選択されている場合、クリップボードの内容によって選択箇所が置き換えられます。
 
* '''選択部分をインデント''': 選択されたテキストを '''環境 -> エディターオプション -> 一般 -> ブロックインデント''' の設定に従い右に移動します。Pascalソースコードのブロック構造をはっきりさせるために便利です。
 
* '''選択部分のインデントを解除''':1レベルのインデントを解除します。テキストはブロックインデントの設定に従い左に移動します。
 
* '''選択部分を囲む''': 選択されたテキストを論理的な構造 (begin ... end; try ... except; try ... finally; repeat ... until; { ... } その他) で囲むためのダイアログが表示されます。
 
* '''選択部分を注釈にする''': 選択されたテキストの各行に // を挿入し[[Comments|コメント]]化します。
 
* '''選択部分の注釈を外す''': コメントマークを削除します。
 
* '''$IFDEFを挿入''': $IFDEF文を追加するための条件定義のダイアログが表示されます。
 
* '''選択部分をソートする''': 行(や単語やパラグラフ)をアルファベット順にソートします。 ダイアログが表示され、昇順・降順、大文字小文字の区別の有無を選ぶことができます。 もちろん、ソースコードの途中で実行することに意味はありませんが、リストのソートなどには役立ちます。
 
* '''選択部分を大文字化''': 選択されたテキストを大文字にします。
 
* '''選択部分を小文字化''': 選択されたテキストを小文字にします。
 
* '''選択部分のTabをスペースに変換''': 選択されたテキスト内にあるタブを '''環境 -> エディターオプション -> 一般 -> タブ幅''' で設定された幅のスペースに変換します。
 
* '''選択された行を適切に改行''': 選択されたテキストのうち、80文字または '''環境 -> エディターオプション -> 表示 -> 右マージン''' での設定値を超える行を改行します。単語は分割されず丸ごと次の行に移動します。
 
* '''選択''': テキストブロックの選択を行います。 サブメニューより、"すべて、括弧、コードブロック、行、段落" を選択することができます。
 
* '''キャラクターマップから挿入''': アクセント記号など、キーボードから入力できない記号を挿入するキャラクターマップが表示されます。
 
* '''テキストを挿入''': サブメニューより、"CVSキーワード(著者、日付、ヘッダ等)、GPL覚書き、現在のユーザー名、現在の日付と時刻" などの定型句を挿入します。
 
* '''コードを補完''': カーソル部分のコードを補完します。 補完は文脈に応じて実行され、作業時間をかなり短縮できます。 例えば、クラスには、プライベート変数を追加し、プロパティにアクセスするメソッドを取得・設定し、メソッド本体を追加します。 変数の代入(例えば i := 3)には、変数宣言を追加します。 先に宣言されている手続には、手続本体を加えます。 イベントの設定(OnClick:=)には、メソッドの定義とメソッド本体を加えます。[[Lazarus IDE Tools]]も参照してください。
 
* '''手続きを展開 ...''': 選択された文(一つの宣言、ないし一連の宣言)を用いて新しい手続を作ります。
 
<div style="clear:both;"></div>
 
 
==== 検索 ====
 
<div class="floatright"> [[Image:SearchMenu.png]] </div>
 
* '''検索''': 一般的なテキストエディタ同様に、文字列検索用のダイアログが表示されます。 大文字小文字の区別の有無や単語全体、正規表現、起点、スコープ、方向などのオプションがあります。
 
* '''次を検索、前を検索''': 直前に検索した文字列を、次または前の方向に再検索します。
 
* '''ファイルの中を検索 ...''': ファイル内の文字列を検索するダイアログが表示されます。プロジェクト内のファイルをすべて検索、ディレクトリ内を検索、検索するファイルの種類を設定するためのマスクなどのオプションがあります。
 
* '''置換''': '''検索'''と同様に、文字列置換用のダイアログが表示されます。
 
* '''インクリメンタル検索''': 検索する文字列を入力している間、文字列が検索されます。 例: "インクリメンタル検索" を選択後に、 はじめに "l" を押せば、"l" がハイライトされ、次に "a" を押すと "la" がハイライトされます。
 
* '''行へ移動 ...''': カーソルをファイルの指定された行へ移動させます。
 
* '''後方へ移動''': 前の位置に移動します。 エラー行への移動や宣言の検索ごとに移動の履歴を保存しているため、以前に移動したソース位置へ移動することができます。
 
* '''前方へ移動''': 次の位置へ移動します。 後方へ移動のアンドゥです。
 
* '''履歴の移動先を追加''': 現在のソース位置を移動先の履歴へ追加します。
 
* '''移動先履歴を表示 ...''': 移動先の履歴を表示します。 '''表示'''に実装されています。
 
* '''次のエラーへ移動''', '''前のエラーへ移動''': 次または前のエラー箇所へ移動します。
 
* '''自由なブックマークを付ける''': 現在のカーソル行にブックマークを付けます(ブックマーク番号は、ブックマークリストの空き番号が自動的に割り当てられます)。 右クリックによるポップアップメニューの方が、番号を指定したブックマークの割当、移動ができるなど、機能が豊富です。(訳注)0.9.26ベータではポップアップメニューしか動作しないようです。
 
* '''次のブックマークへ移動''', '''前のブックマークへ移動''': ブックマークの数値順に、次または前のブックマークへ移動します。
 
* '''コードブロックの他の終了位置を検索''': カーソル位置の手続や関数の終了箇所へ移動します。(例えば '''begin''' にカーソルがある場合、対応した '''end''' へ移動します。)
 
* '''コードブロックの開始を検索''': カーソル位置の手続や関数の '''begin''' へ移動します。
 
* '''カーソル位置の変数の宣言を検索''': カーソル位置の変数の宣言箇所へ移動します。 宣言が他のファイルにある場合、もしファイルが開いていなければ、そのファイルが開かれます。(例えば、ある関数が<u>classesh.inc</u>で宣言されていたときは、そのファイルがエディタによって開かれます)。
 
* '''カーソル位置のファイル名を開く''': カーソルで選択されたファイル名のファイルを開きます。 インクルードされているファイルやプロジェクトで使用されている Unit を含むファイルを見るときに便利です。(訳注)ソースエディタでctrlを押しながらマウスカーソルを移動させると、カーソル位置の識別子にアンダーラインが表れます。このときマウスをクリックすると、指し示す識別子のファイルが開かれます。usesのunitで試してみてください。
 
* '''インクルード指令に移動''': 他のファイルにインクルードされるファイルにカーソルがある場合、 呼び出しているファイルのインクルード宣言位置へ移動します。
 
* '''識別子参照を検索 ...''': 現在開いているプロジェクトやファイルなどを対象に、識別子について言及している行を表示します。
 
* '''識別子名を変更''': 現在開いているファイルのみ、またはプロジェクト全てなどを対象に、識別子を変更します。 さらに、コメント内で表れる識別子も名前の変更ができます。例えば、コンパイル時に識別子重複のエラーメッセージが出て、識別子を変更する必要があるときに役立ちます。
 
* '''手続き一覧 ...''': 現在開いているファイルの手続や関数を表示します。
 
'''<div style="clear:both;"></div>
 
 
==== 表示 ====
 
<div class="floatright"> [[Image:ViewMenu.png]] </div>
 
画面上のウィンドウやパネルの表示を制御します。
 
* '''オブジェクトインスペクタ''': 通常はデスクトップの左側に位置する、オブジェクトの情報を表示するウィンドウです。 フォームのコンポーネントをクリックすると、その詳細が表示されます。 上部パネルに現プロジェクトのオブジェクトのツリー構造が表示され、ここからコンポーネントを選択することもできます。下部パネルには、選択されているコンポーネントの '''プロパティ'''(左列; name などのプロパティ、右列; プロパティの値) や '''イベント'''(左列; MouseClick などの関連イベント、右列;イベントに関連付けられたアクション) が表示されます。'''イベント''' タブでアクションを定義するには、 ダブルクリックや '''[...]''' ボタンを押すことでソースエディタにイベントの定義コードのテンプレートが追加されるので、続けてアクションのコードを記述してください。
 
* '''ソースエディタ''': ソースコードを編集するウィンドウです。 多くのテキストエディタと同じように、カーソルをマウスで移動させたり、ドラッグ操作で文字列を選択して強調表示したりできます。 右クリックによるポップアップメニューから、切り取り、コピー、貼り付けなどの編集ができます。 ソースエディタ上部には、開いているファイルがタブ表示されますので、ファイルの切り替え、ファイル間のコピーや貼り付けなどが容易に行えます。 ソースエディタでは、コメント、文字列定数などの文法要素の色付けやインデントの自動設定ができます。 ソースエディタの機能や概観は、メニューの '''環境 -> エディターオプション''' から設定できます。
 
* '''メッセージ''': コンパイルの経過やエラーのリストを表示するウィンドウです。
 
* '''コードエクスプローラー''': 通常はデスクトップの右側に位置し、現在のユニットやプログラムソースの構造をツリー表示するウィンドウです。 ソースエディタでファイルを編集した場合、リフレッシュボタンを押して、コードエクスプローラーの表示を更新する必要があります。
 
* '''FPDocエディタ''':
 
* '''コードブラウザ''':
 
* '''制限ブラウザ''':
 
* '''コンポーネント''':
 
* '''ToDoリスト''': プロジェクトに関連付けられたToDoリストを表示します。('''//TODO''' で始まる行が自動的にToDoリストになります。表示されていない場合、ソースの保存後にリフレッシュボタンを押してみてください。) リストの '''優先順位''' は、ToDoコメントに付けられた数字によります。(例えば、'''//TODO''' では '''0'''、'''//TODO999''' では '''999''' と表示されます。)
 
* '''移動先履歴を表示 ...''': 移動先の履歴を表示します。
 
* '''ユニット ...''': 現在のプロジェクトのユニットをリストで表示します。 クリックでソースエディタにファイルを表示します。 '''複数選択'''をチェックして、同時に複数のファイルを開くこともできます。 '''プロジェクト->プロジェクトインスペクタ''' と似ていますが、ユニットのリストを表示し、開くだけの機能になっています。
 
* '''フォーム ...''': 現在のプロジェクトのフォームをリストで表示します。クリックでフォームを前面に表示します。
 
* '''ユニットの依存性を表示''': 現在開いているユニットの依存性がツリー構造で表示されます。
 
* '''ユニットの情報を表示''': 現在開いているユニットのサイズやパスなどの情報を表示します。
 
* '''フォーム/ユニット表示切替''': ソースエディタと現在のフォームの表示を切り替え、デスクトップの前面に表示してフォーカスを与えます。
 
* '''結果を検索''': 検索結果を表示するウィンドウです。
 
* '''アンカーエディタを表示''': コントロールのアンカーを細かく設定するアンカーエディタを表示します。
 
* '''コンポーネントパレットを表示''': コンポーネントパレットの表示する/しないを切り替えます。
 
* '''IDEスピードボタンを表示''': IDEスピードボタンの表示する/しないを切り替えます。
 
* '''デバッグウィンドウ''': サブメニューから、デバッガを利用するためのウィンドウを開くことができます。[[#デバッガ |デバッガ]]も参照してください。
 
* '''IDE内部''':
 
<div style="clear:both;"></div>
 
 
==== プロジェクト ====
 
<div class="floatright"> [[Image:ProjectMenu.png]] </div>
 
* '''新規プロジェクト ...''': 新規に作成するプロジェクトの種類を選択するダイアログが表示されます。
 
* '''ファイルから新規プロジェクト ...''': ソースプログラムを選択するダイアログが表示され、そのファイルを元に新規プロジェクトを作成します。
 
* '''プロジェクトを開く ...''': 既存のプロジェクトファイル('''(.lpi: Lazarus Project Information)''')を開くダイアログが表示されます。
 
* '''最近扱ったプロジェクト ...''': サブメニューに表示される最近扱ったプロジェクトのリストからプロジェクトを開きます。
 
* '''プロジェクトを閉じる''': 現在のプロジェクトを閉じます。
 
* '''プロジェクト保存''': '''ファイル->保存''' と同じように、現在のプロジェクトのファイルを全て保存します。プロジェクトを初めて保存する場合は、ファイル名を入力するダイアログが開きます。(「名前を付けてプロジェクト保存 ...」と同じになります。)
 
* '''名前を付けてプロジェクト保存 ...''': プロジェクト保存のダイアログが表示されるので、ファイル名を入力してプロジェクトを保存します。ファイル名の初期値は Project1.lpi ですが、別のファイル名を付けることをお勧めします。 ちなみにユニット名と同じファイル名は付けられません。([[Lazarus Tutorial/ja#Lazarusのファイルについて |下記]]を参照)。
 
* '''プロジェクトを発行''': プロジェクト全体の複製を生成します。 ソースとコンパイラの設定を他の人に送付する場合などに利用できます。 プロジェクトファイルが保存されているディレクトリには、多くの不要な情報 - '''.lpi''' ファイルに含まれるセッションの情報(カーソル位置や閉じられたユニットのブックマークなど)、 '''.ppu''' や '''.o''' などの中間ファイルや実行ファイル - があります。 基本となる情報とソース、サブディレクトリからなる '''lpi''' ファイルを生成するために '''プロジェクトを発行''' を利用してください。 ダイアログには、ファイルの要不要を設定するフィルタがあります。実行後には、全体をまとめて1つのアーカイブにできます。[[Lazarus IDE Tools/ja]]を参照してください。
 
* '''プロジェクトインスペクタ''': ダイアログに現在のプロジェクトのファイルをツリー状に表示します。 ここでは、ファイルの追加や削除、プロジェクトのオプションの変更ができます。
 
* '''プロジェクトオプション ...''': プロジェクトオプションの設定ダイアログ(アプリケーションのタイトル、出力ファイル名、フォームの選択の可否、 セッションの情報など)を表示します。
 
* '''コンパイラオプション ...''': 複数タブからなるコンパイラオプションの設定ウィンドウが表示されます。 タブは、 '''パス'''(ユニットやインクルードするファイル、ライブラリのパスやウィジェットの種類(gtk,gnome,win32など)などの設定); '''構文解析'''(ソースを解析する際のルールの設定); '''コード'''(速度や実行ファイルの大きさなどの最適化、対象とするプロセッサの選択などの設定); '''リンク'''(デバッグにあたり静的または動的にライブラリにリンクするかどうかなどの設定); '''メッセージ'''(コンパイル時の状況表示の設定); '''その他'''(標準コンパイラ設定ファイル(fpc.cfg)を使用するかどうかなどの設定); '''継承されたもの'''(導入されたユニットからどんなオプションが継承されたかをツリー構造で表示する); '''コンパイル'''(Makeファイルの利用やコンパイル後にファイルを実行するかどうかなどのコマンドの定義)
 
* '''プロジェクトに編集中のファイルを追加''': 現在編集しているファイルをプロジェクトに追加します。
 
* '''プロジェクトから削除 ...''': プロジェクトから削除できるファイルのリストが表示されます。
 
* '''ソースを表示''': どのファイルを編集していても、主プログラムファイル'''(.lpr)'''または '''(.lpr)''' が無い場合は、主となる '''(.pas)''' ファイルを開きます。
 
 
==== 実行 ====
 
<div class="floatright"> [[Image:RunMenu.png]] </div>
 
* '''構築Build''': Lazarusを起動し、前回の構築から変更されたプロジェクトのファイルを全て構築(つまりコンパイル)します。Causes Lazarus to build (ie compile) any files in the project that have been changed since the last build.
 
* '''全て構築Build all''': 変更の有り無しに関わらず、プロジェクトの全てのファイルを構築します。Builds all files in the project, whether or not there have been any changes.
 
* '''構築を中止Abort build''': 愚かなことをしたのを思い出し構築を止めたいときや、明らかにどこかがおかしくて構築に時間がかかり過ぎているときに、実行中の構築を中止します。Stop the build process once it is running - either you have remembered that you did something silly and want to stop the build, or the system seems to be taking far too long and something is obviously wrong.
 
 
* '''実行Run''': 通常コンパイラを起動するときはこの命令(訳検討・機能?メニュー?)を用います。コンパイルに成功するとアプリケーションを起動します。This is the usual way to  launch the compiler and, if compilation is successful, to start execution of the application.  この時、Lazarus はファイルを保存し、コンパイラとリンカを起動し、プログラムを実行します。What actually happens is that Lazarus saves a copy of your files, then starts the compiler and linker, then begins execution of the final linked binary program.
 
* '''一時停止Pause''': 現在実行中のプログラムの実行を一時停止します。Suspend execution of the currently running program.  This may allow you to inspect any output that has been generated; execution may be resumed by selecting '''Run''' again.
 
* '''Step into''': Used in conjunction with the debugger, causes execution of the program    one step at a time up to a bookmarked point in the source.
 
* '''Step over''': Causes stepwise execution up to the statement marked, then skips the marked statement, and continues execution at normal speed. Useful in trying to isolate a statement that introduces a logical error.
 
* '''Run to cursor''': Causes execution at normal speed (ie NOT one statement at a time) until the statement is reached where the cursor is located;  then stops.  Resume execution at normal speed by selecting '''Run'''.
 
* '''中止Stop''': 実行中のプログラムを中止します。Cease execution of the running program.  '''実行'''を選んでも再開はできません。'''実行'''を選ぶと、(必要ならば再コンパイルし)プログラムを最初から実行します。Cannot be resumed by selecting '''Run''';  this will start the program again from the beginning (re-compiling if necessary).
 
 
* '''Run Parameters''': Opens a multi-page pop-up window which allows command-line options and parameters to be passed to the program to be executed;  allows selection of display to run program (eg a remote X terminal may be used in Linux);  some system Environment variables may be overridden.
 
: One very important use of this sub-menu is to activate a terminal window in which conventional Pascal console input/output is displayed.  If you are developing a console-mode Pascal program (ie one that doesn't use the Graphical User Interface with its forms, buttons and boxes) then you should check the box for "Use launching application". The first time you do this and try the Compile/Run sequence, you will probably get a rude message to say
 
"xterm: Can't execvp /usr/share/lazarus//tools/runwait.sh: Permission denied". 
 
: If this happens, you need to change the permissions on the appropriate file (for example using chmod +x ''filename'', or using the Windows utility for changing permissions); you might have to do this as root. After this, each time you launch you program, a console box will appear and all your text i/o (readln, writeln etc) will appear in it.
 
: After your program has finished execution, a message "Press enter" appears on the screen.  Thus any output your program generated will remain on the screen until you have had a chance to read it;  after you press 'enter' the console window closes.
 
: See the separate tutorial on [[Console Mode Pascal]] programming.
 
* '''Reset debugger''': Restores the debugger to its original state, so that breakpoints and values of variables etc are forgotten.
 
 
* '''Build file''': Compile (build) just the file that is currently open in the Editor.
 
* '''Run file''': Compile, link and execute just the currently open file.
 
* '''Configure Build + Run File''': Opens a multi-page tabbed window with options to allow for build of just this file when '''Build Project''' is selected, allows selection of the working directory, the use of various Macros, etc.  Then Builds and Runs the file.
 
:These last three options enable you to open (and maintain) a test project. Use File -> Open to open an .lpr file, pressing cancel on the next dialog to open this file as "normal source" file.
 
 
<div style="clear:both;"></div>
 
 
==== パッケージ ====
 
* '''Open Package''': Displays a [http://lazarus-ccr.sourceforge.net/kbdata/OpenPackageSnapshot.png list of installed packages], with an invitation to [http://lazarus-ccr.sourceforge.net/kbdata/PackageContentsSnapshot.png open one or more of them], or to select various general or compiler options.
 
* '''Open Package File''': Open one of the files in the selected package.
 
* '''Open Recent Package''': Open a package that was opened recently.
 
* '''Add Active Unit to Package''': Place the unit file (currently in the editor) into a package.
 
* '''Package Graph''': Displays a [http://lazarus-ccr.sourceforge.net/kbdata/PackageGraphSnapshot.png graph] showing the relationships of the packages currently being used (if you aren't using any other packages, the Lazarus package and the FCL and LCL will be displayed).
 
* '''Configure custom components''': If you have created some components, allows you to configure them.
 
 
==== ツール ====
 
<div class="floatright"> [[Image:ToolsMenu.png]] </div>
 
* '''カスタムメニューの構成''' '''Configure custom tools''': ツールキットに様々な外部ツール(普通、マクロです)を加えることができます。
 
* '''お手軽文法チェック''' '''Quick syntax check''': 実際にコンパイルすることなく、手早くソースの文法チェックを行います。大きく複雑なプログラムを組む際は必須の機能です。時間をかけてコンパイルした挙げ句エラーで止まるのはやるせないでしょう。
 
* '''閉じられていないブロックの推定''' '''Guess unclosed block''': 複雑にネストされたブロック構造を組んで、endを入れ忘れた際便利です。
 
* '''IFDEF/ENDIFのミスタイプの推定''' '''guess misplaced IFDEF/ENDIF''': 複雑にネストされたマクロ構造を組んで、ENDIFを入れ忘れた気がする際便利です。
 
* '''文字列をリソースにする''' '''Make resource string''': 選択された文字列をリソースセクションに置き、リソースとして扱えるようにします。リソースにしておけば、プロジェクトをコンパイルし直さなくてもそれを変更することができます。
 
* '''差分''' '''Diff''': 二つのファイル(あるいは同じファイルの二つの版)を比較し、相違点を見つけます。行頭行末のホワイトスベースを無視したり、行末記号の相違(CR+LFとLF)を無視したりするオプションがあります。最後のCSV更新等の後に変更があったかどうか調べるのに便利です。
 
* '''LFMファイルをエディタで調べる''' '''Check LFM file in editor''': 現在のフォームを記述するための設定を含む LFM ファイルを調べるのに用いることができます。
 
* '''DelphiユニットのLazarusユニットへの変換''' '''Convert Delphi unit to Lazarus unit''': DelphiアプリケーションをLazarus用にする際役立ちます。ソースファイルに必要な変更を行います。[[Lazarus For Delphi Users]] 及び [[Code Conversion Guide]] 参照のこと。
 
*  '''DFM ファイルの LFM への変換''' '''Convert DFM file to LFM''': DelphiからLazarusへのポーティングの際、Delphiのフォーム定義ファイルをLazarusのものに変換します。[[Lazarus For Delphi Users]] と [[Code Conversion Guide]] 参照のこと。
 
* '''Lazarus のビルド''' '''Build Lazarus''': Lazarus のリビルドを開始します。ダウンロードあるいはアップデートした最新の CVS ファイルを元にします。ボタンを押したら腰を落ち着けて何が起きるか見ましょう('''Messages'''ウィンドウに注目)
 
* '''「Lazarusのビルド」の構成''' '''Configure "Build Lazarus"''': Lazarus のどの部分をどのようにリビルドするか設定します。例えばLCLのみのビルド、サンプル以外全てのビルドなどです。利用する LCLインターフェース の種類(ウィジェットのセット)、ターゲットOS・ターゲットディレクトリを選択することもできます。
 
<div style="clear:both;"></div>
 
 
==== 環境 ====
 
<div class="floatright"> [[Image:EnvironmentMenu.png]] </div>
 
* '''環境設定''' '''Environment options''': 複数のページを持つウィンドウが現れます。次のようなタブがあります。
 
** '''Files''' - 省略時ディレクトリ、コンパイラのあるディレクトリ、ソースのあるディレクトリ、コンパイラが一時的に用いるティレクトリを指定することができます。
 
** '''Desktop''' - 次の項目のオプションを指定します。言語、自動保存の動作、デスクトッププロパティの保存、コンポーネントパレットやスピードボタンのヒント。
 
** '''Windows''' - 様々なウィンドウの大きさや動作を指定することができます。
 
** '''Form Editor''' - フォームを編集する際の色を選べます。
 
** '''Object Inspector''' - 色と各項目の高さを選べます。
 
** '''Backup''' - 編集時のバックアップファイルについて指定します。
 
** '''Naming''' - Pascalファイルの拡張子(.pas, .pp, .p)、保存するファイルの名を小文字にするか、名前の自動削除と自動改名を設定するかを選びます。
 
* '''エディタ''' '''Editor options''': 複数のページを持つウィンドウが現れます。次のようなタブがあります。
 
** '''General''' - 自動インデント、括弧の強調表示、ドラッグ&ドロップ編集、スクローリング、文法強調、ヒント表示、ブロックインデントとタブの字数、Undo可能な回数などを設定します。
 
** '''Display''' - 行数表示の有無、ガター(画面左のブロック表示制御)の有無、エディタのフォントと文字の大きさを設定します。プレビュー画面があり、注釈・コンパイラ指令・punctuation・エラー・ブレークポイントの表示具合がわかります。
 
** '''Key Mappings''' - キー操作を Lazarus 流にするか Turbo Pascal 流にするか決めます。
 
** '''Color''' - エディタの文字の色使いを選びます。Object Pascal、C++、Perl、HTML、XML、各種シェルスクリプトのような様々な言語向けの設定があり、各言語のプレビューが表示されます。
 
** '''Code Tools''' - 識別子の補完、tooltipsを設定します。
 
* '''コードのテンプレート''' '''Code Templates''': コード補完用テンプレートのファイル名といった設定が可能です。
 
* '''デバガ''' '''Debugger Options''': 複数のページを持つウィンドウが現れます。次のようなタブがあります。
 
 
** '''General''' - デバガを選びます。デバガなし、GNU debugger (gdb)、SSH(セキュアシェル)経由のgdbを選ぶことができます。デバガを検索するパス名、デバガに指定するオプションを設定することができます。
 
** '''Event log''' - ログを初期化するか、何行まで受け入れるかを指定します。
 
** '''Language Exceptions''' - 無視する例外を指定します。
 
** '''OS Exceptions''' - 特定のシグナルを現在走行中のOSに向けて発行することができます(実装されていません)。
 
* '''コードツール''' '''Code Tool Options''': 複数のページを持つウィンドウが現れます。次のようなタブがあります。
 
** '''General''' - ソースを検索するための付加的なパスを指定します。またどのようにジャンプするかを指定します。
 
** '''Code Creation''' - エディタが生成したコードをどこに追加するか決めます。さまざまな要素の前か後かで指定します。
 
** '''Words''' - Pascal のキーワードを大文字、小文字、先頭だけ大文字のどれで追加するか指定します。
 
** '''Line Splitting''' - 改行規則を定義します。特定のキーワードの後、特定の記号の前後などです。
 
** '''Space''' - 特定の文法要素・記号の前や後で自動的に空白を挿入するか指定します。
 
* '''コードツールの定義を編集する''' '''Code Tools Defines Editor''': ここでは IDE がソースコードを解析(パージング)するために内部的に利用している定義を全て見ることができます。すべての define、ユニット、ソース、すべてのソースディレクトリに対するインクルードパスです。現行の FPCの設定 から始まり、Lazarus ソースディレクトリ、全パッケージのディレクトリ、プロジェクトのディレクトリに至ります。これらはほとんどが自動的に生成され、読み出し専用です。
 
* '''FPCソースディレクトリの再走査''' '''Re-scan FPC Source directory''' を実行すると、ディレクトリ全体を調査します。Lazarus はイヴェントハンドラを正しく生成したり、宣言を探索したりするために FPC のソースを利用します。環境設定でソースディレクトリを変更した際は、Lazarus が確実にそのディレクトリに含まれるヴァージョンのソースを利用することができるように、ディレクトリを再走査します。しかし、Lazarus が知らないうちにディレクトリが変更されると、フォームをデザインする際または「宣言を検索する」 "Find declaration" を実行する際にエラーとなる場合があります。その場合は、次の二つのどちらかを行ってください。
 
*# 環境設定のFPCソースディレクトリを確かめる
 
*# FPCソースディレクトリの再走査を実行する
 
 
==== ウィンドウ ====
 
<div class="floatright"> [[Image:WindowsMenu.png]] </div>
 
現在開いているファイルと利用可能なウィンドウ(ソースエディタ、オブジェクトインスペクタ、プロジェクトインスペクタなど)のリストです。ウィンドウの名前をクリックするとそれが最前面に移動し、フォーカスがあたります。<div style="clear:both;"></div>
 
 
==== ヘルプ ====
 
 
いまのところ、三つの項目があります。
 
* '''オンラインヘルプ''' 現状では、Webブラウザが開き、走るチーターが表示されます。Lazarus、FreePascal、Wikiへのリンクがあります。
 
* '''バグを報告中''' バグ報告の方法 [[How_do_I_create_a_bug_report]] ページが開きます。
 
* '''ヘルプを設定'''ポップアップメニューが現れ、ヘルプを読むためのビューア、データベースを選択することができます。Lazarus-CCR ウェブサイト、ドキュメントを含む他のウェブサイト、あるいはオフラインでも読むことのできるローカルに保存されたドキュメントを選ぶことができます。ヘルプシステムが完成した暁には、ローカルなドキュメントがデフォルトになりますが、いまのところオンライン検索がデフォルトになっています。Free Pascalのライブラリ(Components Library, FCL、またはランタイムライブラリ, RTL。Lazarus Component Library, LCL は含まれません)に属するなんらかのキーワードの上にエディタのカーソルを置き <<F1>> キーを押すと、ウェブサイトにあるヘルプを見ることができます。'''この項目は現在作業中です'''
 
* '''Lazarusについて''' Lazarus に関する情報を表示します。
 
  
将来的には、完全なオンラインヘルプが用意される予定です。そこでは、Pascalの文法、IDEの使い方、コンポーネントの使い方・改造法・新規作成法、特定のタスクを行うためのヒントが提供されます。皆さんがいまお読みになっているこのセクションはそのための第一歩です。'''よーし、私も、と思われる方は、私達と一緒にドキュメント整備に参加してください。Wiki上での編集はとても容易です。'''
+
For a detailed description of every menu item which is accessible from the Lazarus IDE Main Menu, please refer to the [[Main menu/ja]] page.
  
=== ボタンツールバー ===
+
=== IDEスピードボタン ===
小さなツールバーがメインエディタウィンドウの左、メインメニューの直下、コンポーネントパレットの左にあります。このツールバーには、メインメニューの項目の中で頻繁に用いられるものに対応する小さなボタンがあります:
+
メインコントロールウィンドウの左側、メインメニューの直下、コンポーネントパレットの左にIDEスピードボタンがあります。ここには、メインメニューの中でよく用いられる機能のボタンがあります:
: '''New unit'''(新しいユニット)、'''Open''' (開く。下向き矢印を押すと最近用いたファイルの一覧が現れます)、'''Save'''(保存)、'''Save all'''(全保存)、'''New Form'''(新しいフォーム)、'''Toggle Form/Unit'''(ユニット表示におけるフォームとソースの切り替え)、'''View Units'''(ユニットを見る)、'''View Forms'''(フォームを見る)'''Run'''(実行。コンパイルして実行します)、'''Pause'''(実行の一時停止)、'''Step Into'''(ステップイン)、'''Step over'''(ステップオーヴァー)。最後の二つはデバガ関係の機能です。
+
: '''新規ユニット''''''開く''' (ボタン右側の下向き矢印を押すと最近扱ったファイルの一覧が表示されます)、'''保存''''''すべて保存''''''新規フォーム''''''フォーム/ユニット切り替え'''(フォームかユニットのソースコードを表示)、'''ユニットを表示''''''フォームを表示''''''実行'''(コンパイルして実行)、'''一時停止''''''トレース実行''''''ステップ実行'''(最後の二つはデバッガの機能)
  
 
=== コンポーネントパレット ===
 
=== コンポーネントパレット ===

Revision as of 13:14, 8 December 2021

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) italiano (it) 日本語 (ja) македонски (mk) Nederlands (nl) português (pt) русский (ru) slovenčina (sk) shqip (sq) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

日本語版メニュー
メインページ - Lazarus Documentation日本語版 - 翻訳ノート - 日本語障害情報

このLazarusチュートリアルに、遠慮なくあなたの経験を書き加えてみませんか? どうぞご遠慮なく。

概要

Lazarusは Free Pascal コンパイラのためのフリーでオープンソースな開発ツールです。 Lazarus IDE(スクリーンショット) は、機能が豊富なプログラム環境であり、単独で機能するGUIアプリケーションやコンソールアプリケーションを開発できます。 Lazarusは、現在 Linux、 FreeBSD、 Win32 そして Mac OS X の上で動作し、カスタマイズ可能なソースエディタ、FreePascalコンパイラと統合された完全なGUI、 パッケージマネージャやデバッガを持つビジュアルなフォーム作成環境を提供します。

Lazarusでプログラムをはじめてみよう

Lazarusをインストールして、起動してみてください。これだけで、Free PascalやLazarusをつかったプログラムをはじめてみることができます。

起動すると、いくつかのウィンドウがデスクトップ上に現れます。上の方にはメインメニューがあります。左には、オブジェクトインスペクタがあります。そのほかのデスクトップの大部分は、Lazarusソースエディタです。多分Form1ウィンドウが作られていて、ソースエディタの上にかぶさっているはずです。

上の方にあるメニューウィンドウの、メニューの下にタブの列があります。'標準'タブが選択されていますね。そこでButtonアイコン(四角の中に「OK」と書いてあるもの)を探してクリックしてください。そして、Form1の上の左中央あたりでクリックしてください。すると'Button1'と書かれた四角い図形(=ボタンです)が現れるはずです。もう一回標準タブのButtonアイコンをクリックして、Form1の右中央でクリックしてください。'Button2'と書かれたボタンが現れます。

Button1をクリックしましょう。オブジェクトインスペクタに、オブジェクトButton1のプロパティが表示されます。'Caption'と名付けられたプロパティに'Button1'と表示されていますね。その部分をクリックして'Button1'を'Press'に書き換えてください。あなたがENTERキーを押すか、別のボックスをクリックすれば、最初にForm1に置いたボタンが'Press'という名前になります。 続いて、オブジェクトインスペクタ上のイベントタブをクリックすると、ボタンに関連付けられている色々なイベントを見ることができます。 イベントには、たとえば、OnClick、OnEnter、OnExitなどがあります。OnClickボックスの右側を選択してください。小さなボックスが...と一緒に表示されます。あなたがこれをクリックすれば、自動的にソースエディタに移動してカーソルはコードの開始部分に移動します。

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   {ここで次のように入力:}    Button1.caption := 'Press again';
   {エディタは、このプロシージャ名を補完しました。}
 end;

と入力したら、F12を押してソースエディタから出てForm1ウィンドウを選択してください。

続いてButton2のプロパティを編集します。Button2をクリックして、プロパティをオブジェクトインスペクタに表示させてください。Captionプロパティを変更して'Button2'から'Exit'にします。イベントタブを選択して、OnClickボックスをクリックしてください。...をクリックして、ソースエディタに入り、真ん中あたりのプロシージャに

 procedure TForm1.Button2Click(Sender: TObject);
 begin
   {ここで次のように入力:}   Close;
   {エディタは、このプロシージャ名を補完しました。}
 end;

こう書いて、もう一度F12を押してForm1ウィンドウに戻ります。 これで、コンパイルを試みる段階まで来ました。コンパイルはとても簡単です。メインメニューにある'実行'を選択するだけです。 サブメニューで'実行'のオプションを選ぶこともできます。 また、単純にF9を押しても行えます。最初のコンパイルが行われ(うまくいけば)、リンクが完了し、コンパイルされたプログラムが実行されます。

複数のテキストウィンドウが現れてすべてのコンパイラメッセージが表示され、その後はForm1ウィンドウが現れますが、グリッドの点は表示されません。これはあなたのアプリケーションのメインウィンドウであり、あなたがボタンを押すか他の方法で操作をするのを待っています。

では'Press'と書かれたボタンを押してみましょう。あなたはそれが'Press again'と変わることに気づくでしょう。あなたがそれをもう一度押してもそれは'Press again'でしょう!!

'Exit'のボタンも押してみます。ウィンドウが閉じてプログラムが終了します。オリジナルのForm1ウィンドウがドットによるグリッドとともに表示され、編集可能な状態になります。

それではこれまでの作業を保存しておきましょう(これは頻繁に行いましょうね!!)。プロジェクトメニュー > 別名で保存 > your_selected_file_name.pas(適当な名前を付けます)とすれば完了です。これで、プログラムを終了して、PCの電源を切っても、保存したところから作業を再開できます。

第2段階

先ほど保存しておいた、プロジェクトを開いてください。 Form1ウィンドウにある'Press'ボタンをクリックして、選択してください。 オブジェクトインスペクタのイベントタブを選択して、OnClickボックスの右側をクリックして、ソースエディタの適切な位置に戻りましょう。

次に続くコードを参考に、さきほどのコードを書き直してみてください。

 procedure TForm1.Button1Click(Sender: TObject);
{TButtonのTagプロパティを使います。ここでは0か1の値を設定しています。}
 begin
   if Button1.tag =0 then
   begin
     Button1.caption := 'Press again';
     Button1.tag := 1
   end else
   begin
     Button1.caption := 'Press';
     Button1.tag := 0
   end
 end;

保存し、もう一度コンパイルして実行しましょう。このコードによって、左側のボタンを押すと、今度はふたつのメッセージを交互に表示するようになりました。

さあ、後は自由に工夫してみてください。

もし、このようなGUIをもつプログラムでなく、たとえばあなたが基本的なPascalプログラミングを試してみたい、とかバッチモードで動作するプログラムを書く必要がある、とかシステムプログラミングをしたいとかそういう時には、コンソールやテキストベースのPascalプログラムを書く場面があるかもしれません。

そんな時にも、プログラムを編集、コンパイル、実行するために、Pascalの統合開発環境としてLazarusを使うことができます。 LazarusはPascalによる開発のための理想的な環境を作ります。詳しくはコンソールモードPascalをご覧ください。

IDEのウインドウ

概要

Lazarusを起動すると、いくつかに分割されている'フローティング'ウィンドウが、あなたのデスクトップ上に現れます。

デスクトップ右上に、Lazarus Editor vXXXXXX - project1(これはあなたが現在開いているプロジェクトの名前になります)とタイトルに書かれたものが表示されています。

これがプロジェクトのメインコントロールウィンドウで、メインメニューとコンポーネントパレットを含んでいます。

LazMain GTK2.png

タイトルバー下のラインはメインメニューでファイル、編集、検索、表示メニューなどを含んでおり、Lazarusの基本的な操作をおこなえます。

この下に一組のビットボタン(よく使うメニューアイテムへのショートカットになっています)があり、その右側にはコンポートネントパレットがあります。

Lazarus Editorウィンドウの下にはオブジェクトインスペクタが左側に、 Lazarusソースエディタが右側にあります。他に小さな窓があり、Form1と名付けられていてLazarusソースエディタウィンドウの上に覆いかぶさっているでしょう。これが見えなければF12キーを押すことですぐに画面上に復帰させることができます。 Formウィンドウはあなたのアプリケーションのグラフィカルインターフェイスを作成するためにあり、ソースエディタはあなたのアプリケーションのPascalコードを表示します。The operation of the Object Inspector is discussed in more detail below while the Component Palette is described.

あなたが新しいプロジェクトを始めるとき、(Lazarusもしくはあなたが最初にLazarusを起動するとき)デフォルトのフォームが既に作成されていることでしょう。ここにはドットでグリッドが描かれており、あなたがコンポーネントをフォームに配置するときの手助けをします。そしてタイトルバーには最小化最大化 そして 閉じるのボタンがあります。もし あなたがこのウィンドウをクリックすればデスクトップの左側にあるオブジェクトインスペクタにこのフォームのプロパティが表示されます。

他のウィンドウが貴方の作業中に目にはいるようになることもあるでしょう。 プロジェクトインスペクタはあなたのプロジェクトの詳細と、関連するファイルを表示し、またファイルの追加や削除を行うことができます。メッセージウィンドウ は貴方のプロジェクトに関するコンパイラからのメッセージやエラー、もしくは進行状態を表示します。もしもLazarusをターミナルウィンドウから起動しているなら、本来ターミナルに表示されるべきことがらや、コンパイラメッセージの詳細が出力されます。

メインメニュー

For a detailed description of every menu item which is accessible from the Lazarus IDE Main Menu, please refer to the Main menu/ja page.

IDEスピードボタン

メインコントロールウィンドウの左側、メインメニューの直下、コンポーネントパレットの左にIDEスピードボタンがあります。ここには、メインメニューの中でよく用いられる機能のボタンがあります:

新規ユニット開く (ボタン右側の下向き矢印を押すと最近扱ったファイルの一覧が表示されます)、保存すべて保存新規フォームフォーム/ユニット切り替え(フォームかユニットのソースコードを表示)、ユニットを表示フォームを表示実行(コンパイルして実行)、一時停止トレース実行ステップ実行(最後の二つはデバッガの機能)

コンポーネントパレット

概要

コンポーネントパレットとは、多くのアイコンが並んだタブ付きのツールバーのことです。各アイコンは、フォームを作成する際によく用いられるコンポーネントを表しています。

それぞれのタブは機能ごとに分けられており、異なった組のアイコンからなります。 全てのタブでは、一番左に矢印のアイコンがあります。これは選択ツール(Selection Tool)と呼びます。

マウスカーソルをコンポーネントパレットのアイコンの上に移動して、しばらくクリックしないで待つと、アイコンが意味するコンポーネントの名前がポップアップします。 それらの名前がすべて 'T' で始まることに注意してください。これは、そのコンポーネントの 「型:'Type'」 、正確に言うとコンポーネントの 「クラス:'Class'」 を示しています。

コンポーネントをフォームに加えると、その ClassUnitInterface 部の Type セクションに追加されます。(通常は TForm1 の定義の一部として) 同時に、そのクラスの instanceVar セクションに加えられます(通常、Form1という名前の変数として)。 フォームやコンポーネントが用いる Methods は、全て(つまり全ての ProcedureFunction )、そのユニットの Implementation 部で宣言する必要があります。

コンポーネントのサンプルプログラム

コンポーネントのサンプルプログラムは、 $LazarusPath/lazarus/examples に保存されています。

多くのプログラムで、IDEやコンポーネントパレットを使わないでダイアログや他のコンポーネントを利用する方法が分かるでしょう。全てのコンポーネントは、明確に主となるpascalプログラムで定義されています。 IDEを大いに利用するサンプルもあります。

サンプルプログラムの中には、そのままでは動作しないものもあるでしょう。ファイルやディレクトリのパス、パーミッションを設定する必要があるかも知れません。サンプルプログラムをコンパイルするにあたり、ファイル及びディレクトリに対する 読み/書き/実行 (read/write/execute) のパーミッションを確認して下さい。または適切なパーミッションを持ったディレクトリにファイルをコピーしてください。

まずは、'testall' プログラムを実行してみましょう。利用可能なコンポーネントのメニューと簡単な実行例があります。コードを読んでどう動いているか調べてみましょう!

コンポーネントの一覧

コンポーネントの一覧を以下に示します。各ユニットには、それらの解説するページへのリンクが張ってあります(ないのもあります)。 あるコンポーネントのプロパティについて知りたければ、そのコンポーネントの継承を調べ、継承元となるコンポーネントについて調べるとよいでしょう。 例えば、TMaskEdit について理解することは、 TCustomMaskEditについて調査する際にも役に立ちます。

タブの名前 (タブ自体の名前がおよその説明になっています。)

Component Palette Standart.png
TMainMenu, TPopupMenu, TButton, TLabel, TEdit, TMemo, TToggleBox, TCheckBox, TRadioButton, TListBox, TComboBox, TScrollBar, TGroupBox,TRadioGroup, TCheckGroup, TPanel, TActionList
Component Palette Additional.png
TBitBtn, TSpeedButton, TStaticText, TImage, TShape, TBevel, TPaintBox, TNotebook, TLabeledEdit, TSplitter, TTrayIcon, TMaskEdit, TCheckListBox, TScrollBox, TApplicationProperties, TStringGrid, TDrawGrid, TPairSplitter, TColorBox, TColorListBox, TChart
Component Palette Common Controls.png
TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar, TToolBar, TUpDown, TPageControl, TTabControl, THeaderControl, TImageList, TPopupNotifier
Component Palette Dialogs.png
TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog, TFontDialog, TFindDialog, TReplaceDialog, TOpenPictureDialog, TSavePictureDialog, TCalendarDialog, TCalculatorDialog, TPrinterSetupDialog, TPrintDialog, TPageSetupDialog

パレットに含まれていませんが、他にもいくつかの便利な ダイアログ手続きや関数があります。それらはソースプログラムから直接に呼び出せ、簡単に利用できます。


  • Misc(その他)
Component Palette Misc.png
TColorButton, TSpinEdit, TFloatSpinEdit, TArrow, TCalendar, TEditButton, TFileNameEdit, TDirectoryEdit, TDateEdit, TCalcEdit, TFileListBox, TXMLPropStorage, TIniPropStorage, TBarChart, TButtonPanel, TIDEDialogLayoutStorage
  • Data Controls(データの制御。Standard及びAdditionalグループに似ていますが、データベースに適用できます)
Component Palette DataControls.png
TDBNavigator, TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox, TDBComboBox, TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox, TDBGrid
  • Data Access(データへのアクセス)
Component Palette DataAccess.png
TDatasource, TMemDataset, TSdfDataSet, TFixedFormatDataSet, TDbf
  • System(システム)
Component Palette System.png
TTimer, TIdleTimer, TLazComponentQueue, THtmlHelpDatabase, THtmlBrowserHelpViewer, TProcessUTF8, TAsyncProcess, TProcess, TSimpleIPCClient, TSimpleIPCServer, TXMLConfig, TEventLog
  • SynEdit(SynEdit:他の言語や開発ツールへのインターフェースとなるコンポーネントsourceforge
Component Palette SynEdit.png
TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo, TSynPasSyn, TSynFreePascalSyn, TSynCppSyn, TSynJavaSyn, TSynPerlSyn, TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn, TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynPythonSyn, TSynVBSyn, TSynAnySyn, TSynMultiSyn

SynEditは、 Borland Delphi, Kylix と C++Builder用の複数行編集コントロールであり、文法ハイライト機能やコード補完機能、HTMLやTeX、RTFへのエクスポート機能を持っています。これは完全なVCL/CLXコントロールであり、Microsoft Windows のコントロールのラッパーではなく、ランタイムライブラリを必要としない、クロスプラットフォームで利用できるコンポーネントです。FreePascalとの互換性も計画されており、 Lararus IDE をエディタも SynEditが利用されています。sourceforgeも参照ください。

コンポーネントパレットの使い方

コンポーネントパレットの利用にあたっては、フォームが作成されており、エディタ上で見えている必要があります(フォームが無い場合は、 File -> New Form で新たなフォームが作成してください)。 次に、使いたいコンポーネントのアイコンをクリックして選択し、フォーム上のコンポーネントを配置したい位置でクリックすることで、選択されたコンポーネントが配置されます。 コンポーネントの移動やサイズの調整は、マウスで直接操作することでもできますし、コンポーネントのプロパティの値をオブジェクトエディタから直接操作することでもできます。

コンポーネントを新たに追加したときには(自作や他のパッケージから追加するなど)、コンポーネントパレットに新しいタブが現れ、コンポーネントに応じたアイコンが表示されます。それらは他のコンポーネントと同様に使用できます。

デバッガ

(まだ書かれていません)

Lazarusのファイルについて

ファイルの保存操作をすると、次の二つのファイルを保存することになります:

  xxx.pas
  yyy.lpr 

他にも保存されるファイルはありますが、あなたが名前をつけられるのはこの二つです。 プロジェクトファイル (lpr) 及びユニットファイル (pas) は同じ名前であってはいけません。Lazarus はユニットの名前(ソースコードに現れる名前)をユニットファイル名(xxxの部分)と同じになるように、またプログラムの名前をプロジェクトファイル名(yyyの部分)と同じになるように設定するので、同じになっていると、プロジェクト中で識別子が重複してしまいます。 一貫性を維持するため、project1 や、unit1 に適当な名前をつけましょう。

たとえば、again という名前のプロジェクトを保存しようとする際に、again.pas と again.lpr という名前で保存しようとするとうまくいきません。ユニット名とプログラム名は同じプロジェクト中にあるため、名前が重複したというエラー duplicate name error になります。

そこで、次のようになりました:

e:/lazarus/kj/lazhello:

total 4740  free 76500
-rwxrwxrwx   1 kjwh     root  4618697 Mar 24 11:19 again.exe
-rw-rw-rw-   1 kjwh     root     3002 Mar 24 11:21 again.lpi
-rw-rw-rw-   1 kjwh     root      190 Mar 24 11:18 again.lpr
-rw-rw-rw-   1 kjwh     root      506 Mar 24 11:08 againu.lfm
-rw-rw-rw-   1 kjwh     root      679 Mar 24 11:08 againu.lrs
-rw-rw-rw-   1 kjwh     root      677 Mar 24 11:08 againu.pas
-rw-rw-rw-   1 kjwh     root     2124 Mar 24 11:08 againu.ppu
-rwxrwxrwx   1 kjwh     root      335 Mar 24 11:07 ppas.bat

二つのファイル (again.lpr、againu.pas) を保存したと思っていたのに、もっと多くのファイルが保存されています。

それぞれのファイルの簡単な説明をしておきましょう:

again.exe:
メインプログラムのバイナリ実行ファイルです。Win32では拡張子"exe"がつきます。Linux(やMac OS X)では何もつきません。デバッグ用のシンボルを含むために、Linuxでは巨大なファイルになります。"strip"コマンドでそれらを除去すると実行ファイルを小さくすることができます。
again.lpi:
Lazarus プロジェクトのメインファイルです (Lazarus Project Information); Delphi でこれと同等なものが .dpr です。このファイルは XML フォーマットで保存されます。
again.lpr:
メインプログラムのソースファイルです。Lazarus特有の拡張部分を除くと、実際にはごく普通の Pascal ソースファイルです。

uses節があり、コンパイラはその記述に従って必要な全ユニットを見つけます。Program 宣言の名前はファイル名と一致する必要があります。

againu.lfm:
フォームユニットのレイアウトを格納します。Lazarus はこれを用いてリソースファイルを生成し、それが againu.pas の初期化セクション でインクルードされます。 Lazarus IDE の Tools->Convert DFM file to LFM utility を用いると、Delphi の dfm ファイルをlfmに変換することができます。
againu.lrs:
生成されたリソースファイルです。Windows のリソースファイルとは異なります。
againu.pas:
このユニットにフォームのコードを書きます。
againu.ppu:
ユニットをコンパイルしたオブジェクトコードです。
ppas.bat:
プログラムをリンクし実行ファイルを作るための簡単なスクリプト(バッチファイル)です。コンパイルが成功すれば、コンパイラによって削除されます。

Original contributors and changes

This page has been imported from the epikwiki version.

  • Created initial page and template. T. Lisjac - 11/04/2003 VlxAdmin
  • Inserted a note containing instructions for writing your first Lazarus Program. Suggest an administrator places it in the appropriate place on the Tutorial menu. 3/09/2004 User:Kirkpatc
  • Per above, moved Chris's writeup to the main body of the tutorial VlxAdmin
  • Began to insert text describing the Lazarus Editor - more to follow! 24 Mar 2004 User:Kirkpatc
  • Added some more to Lazarus Editor section of Tutorial. 25 Mar 2004 User:Kirkpatc
  • Added screenshots and revised some of the page formatting VlxAdmin 3/25/2004
  • Moved some of kwhitefoot's comments into Tutorial section. Formatting not quite right, but have to go to bed now! 26 Mar 2004 User:Kirkpatc
  • Formatted, added credits and comments. Removed original notes. VlxAdmin 3/26/2004
  • More material added to Editor section of tutorial. 26 Mar 2004 User:Kirkpatc
  • More material added describing the Main Menu. Renamed 'Hello World' to 'Getting Started' and moved it to nearer the top. 31 March 2004 User:Kirkpatc
  • Inserted section on Run sub-menu. Some general editing (eg ended each entry with a period to ensure consistency). 9 Apr 2004 User:Kirkpatc
  • Inserted a new section on How to get started with MySQL in FPC/Lazarus. 13 Apr 2004 User:Kirkpatc
  • Deleted the section on MySQL from here: it has been copied to Lazarus Database section of tutorial. 14 Apr 2004 User:Kirkpatc
  • Added some more to the description of the Editor Main Menu. 18 Apr 2004 User:Kirkpatc
  • Added section on Environment sub-menu. 19 Apr 2004 User:Kirkpatc
  • Added section on Components sub-menu. 4 May 2004 User:Kirkpatc
  • Adding Tools sub-menu description (incomplete). 7 May 2004 User:Kirkpatc
  • Added some screenshots to Menu descriptions. 9 May 2004 User:Kirkpatc
  • Fixed a bit in Environment Options - thanks VincentSnijders. 14 May 2004 User:Kirkpatc
  • More additions to Tools sub-menu. 19 May 2004 User:Kirkpatc
  • Added a section on the Button Bar and started work on The Component Palette. 20 May 2004 User:Kirkpatc
  • Posted a description file for the StdCtrls unit of the LCL, in the hope that people will add comments. 26 May 2004 User:Kirkpatc
  • Edited the StdCtrls file, removing a lot of repetitive material and doing some formatting. It is still far too long. 28 May 2004 User:Kirkpatc
  • Expanding on the Components Palette. 5 June 2004 User:Kirkpatc
  • Added a lot to the DialogExamples page. 10 June 2004 User:Kirkpatc
  • Considerable revision of the StdCtrls page, hopefully making it clearer and encouraging people to contribute - particularly in the 'Description' sections. 14 June 2004 User:Kirkpatc
  • Added pages for Menus and Dialogs units (linked to Component Palette description) - please feel free to add to these pages. 14 June 2004 User:Kirkpatc
  • Added page for Common Controls (linked to Component Palette). 16 June 2004 User:Kirkpatc
  • Added MaskEdit page (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Added Buttons, ExtCtrls pages (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Edited MainMenu component description page. 23 June 2004 User:Kirkpatc
  • Some additions to Common Controls. 28 June 2004 User:Kirkpatc
  • A new tutorial on Text-mode Pascal programming has been added. 5 July 2004 User:Kirkpatc
  • Minor changes to ComCtrls, ExtCtrls, Environment Menu. 10 July User:Kirkpatc
  • Added FormsTxt, component description page for Component Palette. 20 July 2004 User:Kirkpatc
  • Some corrections to ConsoleModePascal. 21 July 2004 User:Kirkpatc
  • Some small changes to ComponentPalette. 22 July 2004 User:Kirkpatc
  • Some edits and additions to the Lazarus Component section. 23th Jan 2009 User: Miyatake