ここで、usesの宣言のところよく見てください。アプリケーションのusesの宣言とはクラスの名前が若干異なることに気がついたかと思います。Monkey)では使用するコンポーネント全く異なります。Monkey)独自のクラスになります。コメントは受け付けていません。X)、iOS、Android向けのアプリケーションを開発出来る統合開発環境(IDE)です。Development」の略)と呼ばれており、ウサギのように素早くアプリケーションを作成するとの意味が込められています。その開発手法は、先ず、フォームと呼ばれるウインドウにボタンやリストボックス、エディタにメモ等(Delphiではこれらをコンポーネントと総称しています)を配置し、ビジュアルに画面を設計します。設定もコンポーネントのプロパティをビジュアルに設定します。画面の設計が終わったら、コンポーネントのイベントハンドラ(ボタンを押した、エディタにキー入力がされた、リストボックスの値が変更された、などを感知する箇所)に記述し、ソースコードを書くといった開発手法になります。当然ですが、ビジュアルな開発だけではなくソースコードからコンポーネントを動的に生成したり、プロパティ(設定)を実行時に変更するように記述する事も出来ます。因みに、Delphiの歴史は浅い様で深く、Delphiと言う名称で登場したのは今から20年近く前の事になります。1995年、Windows3.1(Windows95の前身。Windows」としてデビューしたのを皮切りに、今に至るまで紆余曲折を経ながら進化を続けています。Basic)か、パフォーマンスに勝るが難解なC++か、実質二者択一の選択肢しかありませんでした。そこにDelphiは、VBの様に安易に開発が可能で、その上、C++の様にパフォーマンスに優れ且つ当時最先端だったオブジェクト指向を先駆けて搭載した言語仕様として登場しました。Delphiは、2WayToolと呼ばれる機能やVCLと呼ばれるコンポーネント群を有しています。VCLはホワイトボックス化している為、そのソースコードを追い掛ける事が可能です。(当時、例えばVBではコンポーネントはC++で開発されており、しかもブラックボックスなのでコンポーネントのソースコードを見る事は出来なかった。)その為、Delphiは大変な衝撃をもってエンジニアに受け入れられ、2000年前後迄、爆発的にヒットしました。Monkeyと呼ばれるフレームワークも搭載され、Windowsの枠を超えた開発が可能になりました。OSやAndroid、及びiOSにも対応が可能です。Editionは無償版とはいえ、コンポーネントも豊富で、搭載された機能も潤沢である為、無償版だからと言って困る事はないでしょう。コメントは受け付けていません。金曜日アプリケーションの実行とテストコンパイル/ビルド/デバッグ/実行これらの作業(コンパイル/ビルド/デバッグ/実行)は人間が理解できるPascal言語の記述をコンピュータが理解できる機械語に翻訳する作業になります。Delphiを始め、Pascal系のすべての言語に共通する事であり、同じ作業を必要とする言語にC言語、C++言語が該当します。これらの言語を総称して「ネイティブコンパイラ」と呼びます。似たような仕組みの言語に「インタプリタ」系の言語があります。有名どころとしては「Java」、「C#」、「VB.net(VB)」が存在します。インタプリタ言語は「ネイティブコンパイラ」系の言語と異なり、アプリケーション単体では動かず、それぞれの言語に対応したライブラリをパソコンにインストールしておかないと、アプリケーションを起動する事が出来ません。逆に言うと、このライブラリさえインストールすればWindowsでも、Macでも、Linuxでも同じ実行ファイルで動いてしまう事になります。(特定のOS環境に依存した機能を使ったり、書き方をした場合は除く)上記の言語と一線を画するのが「スクリプト」系言語です。「インタプリタ」系言語と同じでライブラリを必要とします。このスクリプト系言語の最大の特徴はただのテキストファイルが実行権限を持って動いてしまう事です。この最大の強みは特定の開発環境がなくとも、極端な話、メモ帳一つで作れてしまう事です。拡張子を表示できるようにします。Windows7なら、コントロールパネルを起動し、表示方法を「大きなアイコン」にして、「コントロールパネル」→「フォルダーオプション」→「表示」から、「登録されている拡張子を表示しない」のチェックボックスを外します。Windows10なら適当なフォルダを開くか、エクスプローラを起動し、「表示」タブを選択、ファイル名拡張子のチェックボックスを入れます。Script)で作っていきます。Delphiで実行した場合コンソールアプリケーションを新規に作り、以下のコードをtryとexceptの間に記述し、実行します。ソース7writeln(DateTimeToStr(now));sleep(4000);実行結果:メモ帳を起動します。Script:下記をメモ帳に記述し、「nowtime.vbs」という名前で保存します。完了したら、そのファイルをダブルクリックします。ソース8msgbox(now)違いが判りましたでしょうか?Delphiで記述するには必ずDelphiが必要で、僅かでも変更をするには必ずDelphiで編集しないとなりません。対して、スクリプトはメモ帳一つでも作れてしまいます。「実行形式プログラム(*.exe)」プログラムのテストコンパイラとリンカが動いて、実行形式プログラムが生成されても、これでプログラムが正しく動くとは限りません。先ほどのプログラムを保存が完了したら、新しいプロジェクトを作ります。VCLフォームアプリケーション」を選ぶか、ツールバーから新規作成を選びます。すると、見慣れた新規作成のダイアログが出るので「VCLアプリケーションを選びます」。新しいフォームが表示されるので、以下の画面の様にコンポーネントを配置します。配置するものは「Edit」コンポーネント2つ、「Button」コンポーネント1つです。Editコンポーネント二つのTextプロパティを数字の「0」に、ButtonコンポーネントのCaptionプロパティを「足す」にします。Buttonのイベントハンドラを記述します。Buttonコンポーネントをダブルクリックします。ソース9をイベントハンドラに貼り付けます。('計算が出来ません、エラーです。すると、コンパイルが始まります。論理エラーが発生した例この論理エラーはプログラム設計時に想定された入力が数値と仮定していたものの、実際には数値ではなく、文字列が入力された事によって生じます。例示したものは単純ではありますが、このような事は実際に何かを作ってみると、よくある事で、細心の注意が必要です。今回は入力という見やすいものでしたが、これがインターフェースからは見えない内部的な処理だったりすると、とても厄介なものになります。今度は、設計時エラーを実践してみましょう。ソース10を先ほどのイベントハンドラの記述と置き換えます。Showmessage('計算が出来ません、エラーです。押すと、ビルドが始まり、コンパイルの段階でエラーが表示される筈です。「OK」を押すと、以下の様に31行目が赤く表示される筈です。イタリック表示にしたところが、エラーの原因箇所です。StrToInt(Edit2.Text)));では、エラーを修正しましょう。{IntToStr}の、グリーンの箇所を削除しましょう。IntToStrとなる筈です。押して、ビルドをして実行しましょう。今度は実行できたはずです。先ほどのエラーの意味は「文字列を期待したのに、数値が入っていたので、実行できませんでした」というエラー結果でした。基本中の基本の型変換になります。次章で詳しく説明するかと思います。この一連の作業を「デバッグ」と呼び、論理エラーや設計時エラーを修正していく作業になります。一回、細かくデバッグをしていきましょう。コメントは受け付けていません。水曜日ビジュアル設計ツールの使い方~ツール紹介編~ユーザーインターフェースユーザーインターフェースとはユーザー(アプリケーションを使う人)とアプリケーションとの対話の手段で、アプリケーションの目に見える表示要素と言えます。かみ砕いて書くと、ユーザーインターフェースとは「ユーザー(使う人)」との「インターフェース(接点又は接続部分)」であり、固い言い方をすると、「アプリケーションと人とを繋ぐ接続コネクタ」であると定義できます。Delphiに例えるなら、画面真ん中にある「フォーム(ウインドウ)」がそれであり、エディット、リスト、ボタン等、限られた、しかし多くの要素(コンポーネント)の中からユーザーの使用目的に合致すると思われる要素を適切なサイズで、適切な場所に、適切な操作方法で、設置/設定する必要があります。これらの要素にはユーザーからの入力に応答し、他の要素に操作した結果、得た情報やメッセージ(これを値、又は返り値と呼びます)を表示させる事が出来ます。ここで重要なことは、ユーザーが想像し得る適切な要素に値を渡す必要があるという事です。これらが思いの外、時間が掛かったり、ユーザーが操作法を想像しにくかったり、手間暇のかかる操作だったとしましょう。一つの操作をする度に、5回の確認やマウス、キー操作を要すると仮定します。時間がないときに大急ぎで操作していたとしたら、ユーザーは何を思うでしょうか?答えは幾つか考えられます。そんな設計をした人が誰なのか、不条理な思いをしながら操作するか、あるいは直ぐに放り投げて、興味を失ってしまうかのどちらかと思われます。操作する際の階層の深さや手数は3回迄、要素の配置には熟慮を重ねた上で、ルールを作ってグループ分けをしっかり定義して配置すべきでしょう。以上が、ユーザーインターフェースを設計する上での、基本的で重要な考え方になります。ビジュアル設計ツールDelphiでは、ユーザーインターフェースを実際に動かした時と同じ状態で設計、作成する事が出来ます。フォーム:実行時にウインドウとなり、アプリケーションの画面となる部分で、先ほど説明したユーザーインターフェースを設計し、作っていく土台となるものです。ツールパレット(コンポーネントパレット):コンポーネントがグループ分けされて、パレットに収まっています。「検索」から、欲しいコンポーネント名を検索すると、全てのコンポーネントから検索して一覧を表示してくれます。検索したら、ダブルクリックか、ドラックアンドドロップで、フォーム上に配置していきます。構造(オブジェクトツリー)真ん中の画面が「デザイン」(フォーム)なら、コンポーネントの配置を「コード」なら、ソースコードのそれぞれのツリー構造(オブジェクト同士の上下関係)を表示します。「デザイン」(フォームの場合)「コード」(コードエディタ)の場合オブジェクトインスペクタオブジェクトインスペクタはDelphiでアプリケーションを開発する上で、決して欠く事の出来ない、非常に重要なツール、又はオブジェクトリポジトリです。このオブジェクトインスペクタはフォーム(ウインドウ)やコンポーネント(要素)のプロパティ(設定)を変えたり、又は、それらのイベントハンドラを設定して作成し、開発する人(つまりあなた)に、コードを記述する場所をナビゲートしてくれます。このツールが使えなくなったら、オブジェクト指向での開発は不可能ないし、酷く効率の悪いもの(全て、1から自分で書く必要に迫られます)になってしまうでしょう。プロジェクトマネージャで「Project1.exe」をアクティブプロジェクトに設定します。判らなくなったら、プロジェクトマネージャの説明まで戻りましょう。選択出来たら、「Project1.exe」のツリー構造を展開し、更に「Unit1.pas」のツリー構造を展開、「Unit1.dfm」をダブルクリックします。次に、真ん中の画面で下にある「コード/デザイン」を、「デザイン」が選択されていることを確認してください。されていなかったら、デザインをクリックして選択します。ツールパレット(画面の右下側)から、「検索」から「Panel」と入力します。Panelコンポーネントが検索で引っかかるので、これを、配置します。4.の手順で、「Memo」をForm1に配置します。5.の手順で、「Panel1」をクリックして選択します。4.の手順で、「Button」を3つ、Panelに配置します。4.の手順で、「OpenDialog」、「SaveDialog」を、何処でもいいので配置します(これを非ビジュアルコンポーネントと呼びます。実行時は見えないのが特徴です)。5.の手順で、「Panel1」を選択します。オブジェクトインスペクタのプロパティタブを選択し、検索から「Caption」と入力します。「Caption」プロパティが見つかるので、右隣りのテキスト編集領域から、「Panel1」という文字を削除します。この文字を「プロパティの値」と言い、ここを変えてあげることで、コンポーネントの設定を変える事が出来ます。今度は、11.の手順で、「Align」と入力し、テキスト領域をクリック、パネルの図がドロップダウンして表示されるので、一番上の細長いパネルをクリックします。値が「alTop」に変わったことを確認します。「Panel1」に配置した「Button」コンポーネントを左詰めで、バランスよく、Panel1上に並べます。11.の手順で、「Button」コンポーネントの表示されている名称を変えていきます。左端から、「新規」、「開く」、「保存」と入力していきます。5.の手順で、「Memo1」を選択し、「Align」を12.の手順で真ん中のパネルの設定をし「alClient」に変わったことを確認し、検索から「Lines」を探して、テキスト入力エリア(プロパティエディタと呼びます)の「(TString)」をダブルクリック、メモがあるポップアップダイアログが表示されるので、「Memo1」という文字を消して「OK」を押します。以下の様に、フォームが設定される筈です。Button「新規」、「開く」、「保存」の「イベントハンドラ」を、設定していきます。新規Buttonをクリックするか、5.の手順で選択します。オブジェクトインスペクタのイベントタブをクリックし、検索から「OnClick」を探し、右の空白をダブルクリックし、イベントハンドラを作成します。コードエディタと呼ばれるウインドウが出現し、以下の文言(コード)がある筈です。TForm1.Button1Click(Sender:TObject);beginend;Beginとendの間に、以下の命令文を貼り付けます。ソース3//新規作成(メモ帳の初期化)Memo1.Lines.Clear;22.今度は、20.21.の手順で、「開く」、「保存」に、以下の命令文を貼り付けていきます。thenexit;tryMemo1.Lines.LoadFromFile(OpenDialog1.FileName);except//実行時例外の発生Showmessage('ファイル:'+OpenDialog1.FileName+'は開けませんでした。thenexit;tryMemo1.Lines.SaveToFile(SaveDialog1.FileName);except//実行時例外の発生Showmessage('ファイル:'+SaveDialog1.FileName+'は保存出来ませんでした。');end;全体を見ると、以下の様な形になる筈です。'は開けませんでした。'は保存出来ませんでした。以上で、一つ目のアプリケーションのコーディングが完了しました。今度は実行してみましょう。ツールバーから、以下のボタンを探します。このボタンを探して押します。何か間違いがあれば、以下の画面が表示されます。エラーの箇所はダイアログの「OK」を押した後、赤線が引かれて表示されます。(今は、そういうものだと思ってください)ここでは、エラーは出ない筈なので、イベントハンドラの記述をよく見比べてください。成功すると、以下の画面が表示され、アプリケーションが動きます。今度は「Project2.exe」をアクティブプロジェクトにして、こちらも全く同じものを制作してみてください。フォームの画面やコンポーネントの種類や数が若干変わりますが、作り方もイベントハンドラの記述も全く同じです。出来上がったら、名前を付けて保存しましょう。今回作ったものは次回の章でも使いますのでご注意ください。Monkey双方で特徴がはっきりと分かれ、コードの書き方や、コンポーネントの設定が両者で大きく変わっていきます。次はコンパイル、デバッグ、実行についてになります。右のアイコンをクリックします。\Documents\Embarcadero\Studio\Projects」に保存してしまわない事。ここに保存してしまうと、後でいろいろと厄介なことになります。\Documents\Embarcadero\Studio\Projects」というフォルダは、Delphiがプロジェクトを新規作成する際に使用するデフォルトのフォルダになります。ここに保存してしまうと、後から新規作成した際にDelphiが既にProjectがあるのを察して、例えば、今回作った(二つのエディタ)ものだと、グループ名は「ProjectGroup1」ではなく「ProjectGroup2」(既に「ProjectGroup1」が保存されている為、1は使えない)、プロジェクト名も「Project1,Project2」が保存されているので、「Project3」からになり、ユニット名も、二つ保存されているので、「Unit3」からになります。フォルダ階層も結構深いので、ここに保存してしまうと、「あれ、あのファイル何処行った??」、「この前編集したプロジェクトは、この中のフォルダのどれだっけ??」という事になりかねません。以上の事を気を付けたうえで、今回は「デスクトップ」に「エディター」というフォルダを作成してそこに保存します。ユニットから保存することになります。今回は標準の名前でもいいでしょう。名前を付けるなら「unit1」が「vcl_edit」、「unit2」が「FireMonkey_Edit」が妥当でしょう。次はプロジェクトの保存になります。これは実行ファイル名になるので、慎重に名前を付けましょう。今回だと、ユニット名と同じ名前で良いでしょう。一つのプロジェクト(グループではなく)に複数のユニットがある場合はユニット名と名前を重ねてしまうと、命名管理に支障をきたす(何が何だか、名前の意味が分からなくなりかねない)ので、プロジェクト名にアプリの名前(日本語は避ける事)、ユニット名に、ユニット(フォーム)の機能名あるいは何をするユニット化を分り易く命名した方がいいでしょう。コメントは受け付けていません。Monkeyの二つを使います。同じ簡単なメモ帳アプリケーションを作りながら、オブジェクトリポジトリの使い方を実践的に学んでいきます。途中、コードの打ち込み作業もありますが、今は何も考えずにコピーアンドペーストして、指示通りの箇所に貼り付けていってください。この章で取り扱う事は、Delphiを扱ううえで、必要最低限の基本的なことです。ここを理解できないと、この先の章で間違いなく躓きます(交通規則への理解や車の運転免許証を持っていても、車の操作方法が判らないと、何もできないのと同じです)。繰り返し読んでみて頑張りましょう。触る、慣れない道具を使うというのは、本人にしか判らない苦痛かと思いますが、めげずに頑張っていきましょう。頑張れば、半年から1年後、楽しみながらDelphiを使いこなすあなたが、そこにいる筈です!プロジェクトの新規作成メニューから、「ファイル」→「プロジェクト」→新規作成→「その他」を選択します。するとダイアログウインドウが現れます。これを「オブジェクトリポジトリダイアログ」と呼びます。そこから「VCLフォームアプリケーション」を選択します。プロジェクトマネージャDelphiの画面右上に、「プロジェクトマネージャ」と表示されている枠がある筈です。無い、又は表示を間違って外してしまったならば、メニューから、「表示」→「ツールウインドウ」→「プロジェクトマネージャ」を選択すると、表示されます。この枠(又はウインドウ)を「プロジェクトマネージャ」と呼び、プロジェクト(これから作るアプリケーション)を管理したり、切り替えたり、呼び出したりと、頻繁に使う機能の一つです。プロジェクトの追加(新規作成)「プロジェクトマネージャ」の「ツールバー」から、フォルダアイコンに+マークが付いたアイコンにマウスカーソルを合わせます。1秒程待つと、「新規プロジェクトの追加」というポップアップヘルプが表示されますので、そのボタンを押します。すると、先ほど新規作成で表示された、「オブジェクトリポジトリダイアログ」が表示されます。そこから、「マルチデバイスアプリケーション」をダブルクリックするか、選択して「OK」を押します。すると、「プロジェクトマネージャ」に、「Project2.exe」という、新しいプロジェクトが表示されたはずです。アクティブプロジェクトアクティブプロジェクトとは、現在編集中(編集が有効になっている)のプロジェクトの事を指します。かみ砕くと、現在作業中(現在編集作業中)のプロジェクトの事を指します。アクティブプロジェクトを調べるには、プロジェクトマネージャのタイトルバーを見ます。左詰めで、プロジェクト名が表示されているはずです。細字ならば、非アクティブプロジェクト、と判別する事が出来ます。全体を見渡すとこんな感じ。アクティブプロジェクトを切り替えたい場合はこの場合の例で言うと、「ProjectGroup1」直下の「Project1.exe」又は「Project2.exe」をダブルクリックするか、それを右クリックし、右クリックメニューを出して、「アクティブ化」を押します。コメントは受け付けていません。以下の画面が表示されます。以下の種類のアプリケーションを作成できます。AndroidサービスWindowsで言うところの「常駐アプリ」の様なものです。見た目(ユーザーインターフェース又は画面)が無く、ずっと実行され続ける(バックグラウンドで動くとも言います)性質のアプリです。それを作る事が出来ます。Serviceを新規作成した時の画面。見た目が無いので、フォームも当然表示されません。Monkeyコンポーネントを使って、Windows8の見た目や動きにそっくりなアプリケーションを作る(Windows8のルックアンドフィールに準拠している、とも言います)事が出来ます。この機能の面白い点として、Windows8以外のWindowsであっても、Windows8の見た目になります。UIアプリケーションDelphiの伝統的なVCLコンポーネントを使って、Windows8の見た目や動きにそっくりなアプリケーションを作る事が出来ます。(Windows8のルックアンドフィールに準拠している、とも言います)この機能の面白い点として、Windows8以外のWindowsであっても、Windows8の見た目になります。VCLフォームアプリケーションDelphiの伝統的なアプリケーションを作る手法。初代Delphiから脈々と続く手法であるため、過去に発売されたDelphiの書籍やインターネット上の過去の資産を活用しやすいのが特徴。このVCLは初代から現在のバージョンに至るまで、様々な改良や修正が加えられているので、過去のバージョンがそのまま直ぐに動くとは限りません。(余談ではありますが、これは他の言語にも言える事で、Delphiに限った事ではなく、セキュリティ上の対策や、機能向上の為に変更や改良、廃止があることは、珍しいことではありません)MDIアプリケーション論より証拠で、見た方が理解は早いと思います。下の画面を見てください。背景はDelphi、前面はMDIアプリケーションを新規作成して、実行したところです。因みに、一行も書いていないし、何の設定もいじっていません。これだけの事が出来ます。この画面まで、まっさらなフォームからも作れますが、時間は当然消費するし、最初からあるのなら、当たり前ですが使った方がいいです。勉強の為なら、このまっさらのMDIを調べて、自分で再現してみると、初歩のうちは大変勉強になります。SDIアプリケーションこれも論より証拠で、見た方が理解は早いと思います。下の画面を見てください。最初から、コンポーネントが配置してあり、お膳立てがされてあります。MDIの時程至れり尽くせりではないですが、この後やることは、フォームを新規に追加して、フォームを呼び出す処理を書いてあげるだけでいいのです。最初は、SDIから入るのは難しいかもしれないでしょう。お膳立てされたMDIをマスターして、そのMDIを再現できるようになり、意味も理解出来たら、SDIに進むといいでしょう。すれば、お膳立ての効いたDelphiの良さが判る様になると思います。コンソールアプリケーション下の画面を説明していきます。以下のプログラムの文(命令文)を書きました。実行したのが、下記の画面です。World!」と表示されていると思います。これがコンソールアプリケーションというものです。このコンソールアプリケーションには、特に意識してコードを書かない限り、オブジェクト指向ではなく、それ以前の時代の書き方になります。上から始まって、下に流れ、一番最後の命令文が終わると、有無を言わさず、アプリケーションは終了してしまいます。この例でいうと、「sleep(50000);」が実行され、50000マイクロ秒経過したら、アプリケーションは終了してしまいます。それがコンソールアプリケーションが持つ、他のアプリケーションとの最大の違いであり、特徴です。//※「Hello,World!」を表示して改行してね。//※50000マイクロ秒待機してね。コントロールパネルアプリケーションこれはちょっと特殊かもしれません。平たく書くと、コントロールパネルの機能を作ります。初心者向けでは確実にないです。画面はコントロールパネルアプリケーションの初期状態のコードエディタの画面です。サービスアプリケーションバックグラウンドで(常駐して継続的に)実行されるアプリケーションを作成します。ダイナミックリンクライブラリダイナミックリンクライブラリ(DLL)を作ります。これ単体は実行可能アプリケーションではなく、拡張子も.dllになります。「ダイナミック」に、アプリケーションに「リンク」する「ライブラリ」と考えると分り易いかも。アプリケーションの機能を拡張出来るライブラリを作れます。パッケージコンポーネントをパッケージにします。作るよりも、恐らく使う事の方が多いかもしれません。今はそういう機能もある、といった程度に捉えて置くだけでいいかと思います。コントールパネルアプリケーション、サービスアプリケーション、ダイナミックリンクライブラリ、パッケージ、が作れるようになったら、立派な上級者の仲間入りでしょう。ある意味、XE2以降のDelphiの最大の売りといっても過言ではないでしょう。個人的意見で恐縮ではありますが、プライベートで使うならば、使わなければ損!と思っております。その最大の売りは、ユニークで個性的なコンポーネント群と美しくそして非常に強力な描画機能を持っている点でしょう。Monkeyの特筆すべき点はマルチデバイス対応もさることながら、「Shapes」グループ等に属する、風変わりで、そして強力なコンポーネント達です。Monkeyは、VCLとは全く異なるアーキテクチャの様です。その顕著な証明として、2Dグラフィックスアプリケーションを、いとも簡単に作れてしまう事です。それもコーディング作業、つまりコードを殆ど書く事もなく(!)。これは驚異的なことであると考えております。Delphiは、C++と同列に分類できる、ネイティブコンパイラ(ソースコードをアプリケーションに変換すると、コンピュータが理解し易い機械語に翻訳され、高速に動作する仕組みのアプリの事)です。統合開発環境でもあり、潤沢な機能とコンポーネントを搭載しています。そこに非常に高機能な2Dや3Dの開発機能が(しかも標準で)備わっているのです。コメントは受け付けていません。月曜日Delphi開発の手法Delphiでは、コードの記述とビジュアルプログラミングと呼ばれる手法を組み合わせて開発を行います。ビジュアルプログラミングとは?➀ボタンやテキスト等のコンポーネントをマウス操作によってフォームに配置してプログラムを作成する手法。➁最初からプログラムの流れを記述していくのではなく、ユーザーのインターフェースを設計し、それを構成するコンポーネントに行われた操作に対して、どの様な処理を実行するのか定義していく。基本的にはコーディングが必要になるのは、イベントが発生した時に呼び出される。イベントハンドラへの処理を記述するだけとなる。Delphi開発の手順Delphiでの開発手法を纏めると、次の様になる。コメントは受け付けていません。水曜日DelphiプロジェクトについてプロジェクトDelphiの開発はプロジェクト単位で進めていく形になっています。プロジェクトとは一つのプログラムの開発に必要な複数の要素を管理する単位で、一つのプロジェクトが一つのプログラムとなります。プロジェクトグループその名の通り、プロジェクトが複数集まったものです。Dlephiプロジェクトのファイルの種類Delphiプロジェクトファイルの構成は以下になります。「プロジェクト名.dprproj」及び「プロジェクト名.dpr」Delphiで開発するアプリのプロジェクトです。(このファイルを開いてアプリを開発します)「プロジェクト名」はそのままアプリの名前になります。慎重に命名しましょう。「ユニット名.dfm(又は.fmx)」及び「ユニット名.pas」この二つのファイルは対になっていると考えた方が良いでしょう。「.dfm(又は.fmx)」はフォーム(ウインドウ画面)を、「.pas」はそこに記述したソースコードが収まっています。フォームを持たないユニット(ウインドウ画面の無い)を新規に追加した場合、「.dfm」ファイルは生成されず、「.pas」だけが生成されます。【備考】「.dfm」VCLアプリケーションを開発した時のフォーム情報を格納したファイル。「.fmx」FireMonkeyアプリケーションを開発した時のフォーム情報を格納したファイル。「ユニット名.dcu」コンパイル済みユニットファイル。「プロジェクト名.res」リソースファイル。「プロジェクト名.local」ユーザ固有プロジェクトオプションファイル。プロジェクトオプションの情報を格納したファイル。「プロジェクト名.exe」Delphi構築し生成されたアプリケーションです。「\Win32\debug\」ビルド時や実行時、デバッグ時に生成され、フォルダに格納されます。Delphi開発の要素デフォルトプロジェクトの場合、下記の様にファイルが作成され、それぞれ名前が付けられています。「プロジェクト名.dproj」プロジェクトファイル(新)。「プロジェクト名.dpr」プロジェクトファイル(旧)。プロジェクトの管理及び、プロジェクトのメインプログラムになります。「プロジェクト名.res」リソースファイル。「ユニット名.dfm(又は.fmx)」フォームのプロパティ等の情報が詰まったファイル。コメントは受け付けていません。火曜日あ行iOSiPhoneやiPadなどに用いられるOS。アプリケーション実行可能なソフトウェアの事で俗語に近く、最近ではアプリケーションを略して「アプリ」と呼ぶ風潮もある。WordやExcelも広義の意味ではアプリケーションであり、アプリと略す事も出来る。Delphi自体もOSから見れば、「アプリケーション」という事になる。ややこしいが、Delphiを始めとした開発環境は「アプリを作る為のアプリ」という事になる。開発環境(Delphi等)でアプリを作る為のアプリを作る事すら出来る。簡易的に表現する為に敢えて俗語に近いが、理解しやすい言葉を選んだ。AndloidGoogle社が開発したモバイル用途向けOS。2005年にAndroid社がGoogle社によって買収した経緯があり、Andoroid社の社名がそのままOS名となっている。イベントハンドラ「イベントハンドラ」とは「イベント(何かしらの動作によって起きた、又は起きる出来事)」の「ハンドル(イベントの動作を操作する為の機能を持つ)」のこと。「ボタンを押したら(ハロー)と表示させたい」とする。それを実現するのが「イベントハンドラ」になる。イベントハンドラはコンポーネントによって複数の種類があり、動作するタイミングや動作の管理が異なったりする。以下の画面がイベントハンドラ。Windowsはマイクロソフトが開発・販売するOS。Windowsには多数の商品ラインナップやヴァージョンがあり、大きな特徴としては、CUIを採用したDOS(MS-DOS)の操作の流れを残しつつ、伝統的にGUIを全面的に採用している。Windows3.11994年当時のWindows3.1は一つの独立したOSではなく、DOSと呼ばれるOSの上で動作する。いわゆるシェルを大きくした様な(DOSから見たら)DOSプログラムの様な形態をとっていた。今の様な一つのOSとして纏まったのは、Windows3.1の後継となるWindows95になる。「object-oriented」の日本語訳。Delphiに限らず、現代のプログラミングに於いては必須の考え方であり、重要なファクター(要素)ともいえる。開発ソフトウェア開発とも呼ぶ。ユーザ(又は開発者自身)の不満(ニーズ)を解決する手段を提供することである。作りたいものとユーザ受けするものは必ずしも一致せず、そこには緻密なニーズの調査と大胆或いはユニークな発想と柔軟な思考が求められる。開発手法ソフトウェア開発手法、又はソフトウェア開発方法とも言う。様々な開発手法があり、ウォーターフォール、プロトタイピング、アジャイル、エクストリーム等がある。時代とともに開発手法は遷移していったが、それぞれに一長一短がある。画面の設計ソフトウェアを開発する上で、とても重要な工程でもある。画面とはコンソールアプリケーションを除く、フォーム(ウインドウ)の設計がそれにあたる。その設計にはプログラミングと同じく明確なルールと基準があり、現在に至るまで既に研究され尽くした感がある。操作は3階層(3手)以上深くしてはいけない上に、部品の配置もユーザがコンピュータを操作する接点(マウス、キーボード、タッチディスプレイ等)の配置を考えたうえで画面を設計しないといけない。ボタンやリストボックス等の配置位置やどの機能のボタンがどの個所にグルーピング(纏めて配置すること)するかについても重要になる。どんなに優れたコーディングをしたとしても、そのポテンシャルを引き出せる割合が大きく変わってくる。これは専門的に勉強するか、プログラミングと同じく経験を積んで学んでいくしかない。「ソースコードを書く」とは言わずに、多くの場合「記述する」と表現します。さ行C++Cを拡張したオブジェクト指向言語。動作も速く、非常に強力で高機能だが、記述は難解で可読性にも劣る。その記述の自由性は驚異的でもあり、柔軟性に富む。その自由度が高すぎるが故に、コーディング(プログラミング)時にはコーディング規約、又はコーディングルールをしっかり決めておかないと、可読性の低さも相まって、後で手痛いしっぺ返しを受ける事になる。それ故に扱う人を非常に選ぶ言語ではある。扱う事が出来れば、Delphi以上に強力な開発言語である事は間違いない。デバイスの制御やOSの深いところを操作する局面では威力を発揮する。C++(マイクロソフト社)とC++Builder(エンバカデロテクノロジーズ社)が有名どころでもある。実行時に変更アプリケーションを実行している時にプロパティ等を変更する事。ソースコードソースと略す事もある。プログラミング(コーディング)作業によって記述された文章(本来であれば適切な表現ではないが)の事を指す。た行2WayTool例えば、一つのVCLコンポーネントをフォームに配置する。そのコンポーネントをコピーし、コードエディタ上にペーストしたとすると、コンポーネントがコードエディタ上にソースコードで表現される。いった具合に、ソースコード上とフォーム上のコンポーネントが密接に連携している。Delphiがデビューした当時は画期的だった。Environment」の略。多くの機能が統合された開発環境(アプリを作る為のアプリ)と考えると分り易いかもしれない。一つの開発環境(アプリケーション)上にコードエディタを始め、コンパイラにデバッガ等、多くの機能が纏まって入っている。現在の多くの有償、無償のIDEは数百の機能が使い切れないほどぎっしりと詰まっている。その為、扱いにはコードエディタより時間が掛かるが、慣れればコードエディタより効率良く開発ができるメリットがある。動的プログラミングをするうえで避けて通れない概念。動的があれば静的もある。語弊のある形で書くと、「能動的」か「受動的」か。「能動的」なのは動的。「受動的」なのは静的、と例える事が出来ると思う。静的な表現は簡単な部類に入る。画面設計時にコンポーネントのプロパティを設定したり、ボタン等のイベントハンドラ(動作実現部)に同じくコンポーネントのプロパティを設定する記述をすればいい。対して、動的とは(開発中のアプリ、例えばメモ帳)実行時に、コンポーネントのボタンをツールバーに追加したい、新しく文書を開くと新しくウインドウを表示して、又はタブを一つ増やしてテキストを開きたい、等。これを大雑把ですが、動的といいます。これが出来るようになると、プログラミングの幅が一気に広まります。MonkeyDelphiにヴァージョンXE2から搭載されたコンポーネント群の総称。VCLとは互換性が無く、全く新しい仕様のもの。Touch)、Android(スマートフォン)迄、一つの開発環境で開発出来る。記述はVCLとは勝手が違うが、一つの開発環境で様々なOSやデバイスの開発が出来るのは大きな魅力。Basic)Microsoft社が開発したプログラミング言語。Basicが誕生した。VCLDelphiに搭載されているコンポーネント群の正式名称。Library」の略。Windowsの多くの機能をDelphiアプリケーションから安易に呼び出せるように開発されたもの。Pascal)によって記述されている為、例えばプログラムを開発している時、あるVCLの機能を使う(コンポーネントを配置する)だけでなく、そのVCLの奥深くまで入って、その構造をDelphiから閲覧し、VCLの挙動を確かめながら、より強固なアプリケーションを作る。いった面白い開発手法を取る事が出来る。Framework(基本クラスライブラリ)はVCLの派生ライブラリである。X2000年~2015年迄の間のApple製Computerに搭載されたOSの名称。OS」と名称が変わる。OS2016年~から現在まで続くApple製Computerに搭載されたOSの名称。Sierra」である。や行ら行Linuxリーナス・トーバルズによって開発された「Linuxカーネル」を搭載したOSの事。読み方は「リナックス」、「リヌックス」、「ライナックス」等の読み方があり、公式の読み方は定まっていない。LinuxはUnix系OSの一つとされ、元はPC/AT互換機向けに開発されたが、その後、史上最も多くのハードウェアプラットフォーム向けにリリースされたOSとなる。サーバ用途等のOSとして使用される。他用途では携帯電話、テレビ、ハードディスクレコーダ、カーナビゲーションシステムやゲーム機等にも使用される。その一方で、一般ユーザでも容易に使用できる環境が充実してきており、多くのLinux系OSは無償で入手が可能であり、一般用途としてはLinuxサーバを個人でもコンピュータにインストールして使用できる。外部ネットワーク(インターネット)に接続した場合、高度な知識が無ければリスクを伴う。コメントは受け付けていません。10.2」を選択します。Windows7であればスタートメニューの検索ボックスから、Windows10であればColtanaから「Delphi」と入力してEnterを押します。するとDelphiが起動する筈です。初期起動画面ではテーマを選択できます。最近の流れでTokyoから、目に優しいとされるダーク調の外観が採用され、選択する事が出来る様になりました。これは後から変更する事も出来ます。ツール→オプション→テーママネージャからライトかダークを選択する事が出来、カスタムで独自の設定も出来ます。終了する場合は、タスクバーの×ボタンをクリックするか、ファイルメニューの「終了」をクリックします。プロジェクトを編集中だった場合、保存するかを聞いてくるので保存する必要があれば(何か作品を作っている途中であれば)、「はい」をクリックし、ファイル名を付けて保存します。一度保存されていれば上書き保存されます。「ダーク」テーマを設定したところ「ライト」テーマを設定したところDelphi統合開発環境Delphiは統合開発環境(IDE)と呼ばれる膨大で潤沢な機能を惜しみなく詰め込んだ高機能な開発環境です。その機能の多くは、初めて触られる方や他の開発環境から移行した方には、余りに膨大だったり機能が全く異なったりで戸惑う事でしょう。Studio、その他のIDEを使い込んでいても、はじめからその全てを使いこなせる人は、そうそういないでしょう。問題は、如何に慣れ、如何に覚えるかです。「編集」メニュー:フォーム上のコンポーネントや、ソースコードの編集作業時に使います。「検索」:ソースコードやファイルの検索の際に使います。「表示」:IDEの機能の表示/非表示を操作する時に使います。「リファクタリング」:リファクタリングに関する操作を行うときに使います。「プロジェクト」:プロジェクトの操作(プロジェクトへの追加/削除、コンパイル、ビルド等)の際に使います。「実行」:プロジェクトの実行やデバッグ、デバッグ操作の時に使います。「コンポーネント」:コンポーネントの作成や追加、インポート(機能の取込)等に使います。「ツール」:IDEの機能を操作する時に使います。「ウインドウ」:レイアウトが「クラシックレイアウト」の時に、ウインドウを操作します。「ヘルプ」:ヘルプとライセンス管理、バージョン情報について表示します。ツールパレットツールパレットには沢山のコンポーネントが登録されています。機能別に登録されており、コンポーネントをダブルクリックするか、ドラッグアンドドロップをしてフォームの任意の場所に配置し、外観を作っていきます。ツールバー(スピードバー)ツールバーには、メニューにある、頻繁に使用する機能が登録されています。ツールバーのアイコンの上にマウスカーソルを移すと、簡単なツールチップヘルプが表示されます。フォームアプリケーションを作成する上で土台となるフォーム(ウィンドウ)です。このフォーム上にコンポーネントを配置して、外観を設計していきます。このフォームと呼ばれるウインドウは、通常のウインドウと同じく、マウス操作でサイズを変更出来ます。フォームのプロパティを変更する事でダイアログ等のウインドウに変える事も出来ます。プロジェクトの新規作成時は、一つのまっさらなフォームが表示されます。フォームは、任意でプロジェクトに追加していくことが出来ます。フォームは上部のタブをクリックして切り替える事が出来ます。コードエディタプログラムのコードを記述するウインドウ。イベントハンドラと呼ばれる動作に対するイベントを作成(フォームやコンポーネントのダブルクリック、オブジェクトインスペクタと呼ばれるIDEの機能からの操作で作成できます)することで、自動的にコードエディタ(コードが表示されるウインドウ)が前面に表示される。フォーム同様、上部のタブをクリックして、ページ(ユニット)を切り替える事が出来る。ページ(ユニット)とウインドウ(フォーム)の切り替えは、IDE下部真ん中の「コード」/「デザイン」をクリックする事で、切り替える事が出来ます。オブジェクトインスペクタコンポーネントやフォームのプロパティの設定、イベントハンドラの作成を行うウインドウ。プロパティはコンポーネントの各プロパティにより、Bool(TrueかFalse)、文字列(String)や文章(List)、数値等、様々なタイプがある。入力方法は、そのタイプによって自動的に変化し、選択したり、入力したりと、プロパティによって変わってくる。コメントは受け付けていません。Editionのインストーラをダウンロードします。Edition」と入力し検索します。URLは以下になります。Edition」のダウンロードページ初めて登録する場合、以下の情報を入力する必要があります。登録ID(メールアドレス)パスワードを入力します。「私はロボットではありません」を押すと、画像が出て生きて質問をしてくるので、その質問に答えます。正解出来たならば、「今すぐダウンロード」を押します。ダウンロードが完了したら、ダウンロードフォルダを開くか、ブラウザ上からダウンロードアイコンダブルクリックして、インストーラーを起動させます。「プライバシーに関する声明」を読んだら、「同意する」を押して次に進みます。「製品のシリアルナンバーを既に入手している」を押します。トライアル版を選択してしまうと、コミュニティエディションではなく、トライアル版がインストールされてしまいます。間違えた場合は、一旦アンインストールして、もう一度、インストールし直しましょう。Editionの場合、シリアルナンバーだけの入力で大丈夫です。シリアルナンバーが記されたメールが、エンバカデロから届いているので、それを開いてシリアルナンバーを取得します。再インストールの場合、3回インストールを行うと、登録回数の上限に達してしまう。これは、不正コピー防止の為のライセンス保護の為にそのような制約があるようです。翌営業日には登録回数が回復し、登録する事が出来ます。再インストールする際、使用許諾ライセンスの更新は以下のページになります。Editionは、他のどのバージョン(のプロフェッショナル版以上)とも、共存する事が出来ない。Editionを諦めるかのどちらかしか選択肢がありません。Edition認証を行います。以上で、インストールは終了です。コメントは受け付けていません。月曜日フルネスでは、SESを中心としたITパートナー様のビジネスへ様々な形で貢献できるよう、月1回のペースで交流会を開催し、交流の場をご提供しております。SES向け1時間で学べる勉強会も非常に人気となっており、プログラミング、データベース、RPA、最新技術など様々なちょい学びネタを揃えております。最近では新規参加される企業様も多くいらっしゃり、新しい営業様も常にご参加されますので、お気軽にご参加ください。2019年6月よりSESランチ交流会も始めました。ランチ食べながらゆっくり名刺交換が出来てお酒飲めない方向けにオススメです。※どちらも参加頂けますとお得です。※領収書を発行致します。コメントは受け付けていません。株式会社フルネスではDelphiシステム改修のご案内資料をslideshareにて公開開始しました。全国でDelphiにおけるお悩みを抱えていらっしゃる企業様がいらっしゃったらお気軽にご相談ください。コメントは受け付けていません。様々なDelphiプロジェクトに立ち向かい、お客様にとって信頼されるレガシーシステムのプロジェクトチームを創設しました。国内には、Delphiで開発されたシステムが数多く眠っております。肝心の相談先が分からなかったり、そもそも社内に専門家が不在の為に、システムが更新されないまま放置され、将来的なリスクとなっている事例を多数お聞きします。そこで、弊社がDelphiの様々な課題を抱えていらっしゃるお客様の相談窓口として、弊社が得意分野としているDelphi技術によりお客様の課題を解決する一助となるべく本グループを創設致しました。下記の様なご契約形態でのご支援を想定しております。・Delphiコンサルタント:システム保守契約(年間)・Delphiコンサルタント:技術サポート・Delphiコンサルタント:マイグレーションコンサルティングご相談事例ご相談事例の一部をご紹介致します。・Interbase2007、Delphi2007で開発したソフトを最新のWindowsOS対応に変更したい。・1990年代に作成したDelphi3.1のC/S型アプリケーションをWin10で稼働させるべく、最新のDelphiにマイグレーションをしたい。・Delphi2009+BDE+paradoxで開発運用している計算用プログラムのマイグレーションをしたい。・リモートでDelphiに関するQ&A対応やサポートをして欲しい。・Delphiの基礎研修を受講したい。XEシリーズの使い方について社員を受講させたい。XE5の応用研修を受講したい。・Delphiマイグレーション研修を受講したい。Stars」に登録希望と問い合わせフォームに明記の上、送信ください。フォームはこちら担当者より面談設定を設けます。Delphiシステム関連でお困りの企業様は?お気軽にお問い合わせからDelphiシステムのご相談をください。可能でしたらご要望と望まれているサービスをお知らせいただけると幸いです。コメントは受け付けていません。コメントは受け付けていません。概要Windows、MAC、iOSに加えてAndroidにも対応したDelphiシリーズ。本研修はDelphiシリーズによる開発の基本技術を学ぶことのできる研修コースです。※Delphiはエンバカデロ・テクノロジーズの製品です。お客様はお気軽にお問い合わせください。下記お問い合わせフォームにて受講希望とご連絡下さい。・最大定員数は(20名)となります。オープン講座キャンセルポリシー(必ず御一読下さい)オープンお申し込みの取り消しに関しましては、研修開催日からの日数によって以下のキャンセル料をご請求させていただきます。・欠席された場合には、全額ご請求させていただきます。・弊社都合で開催を中止または延期する事由が発生した場合には、お客様からの請求により取り消しを無料でお受けいたします。・申し込みの際にはキャンセルポリシーに同意するチェックをお願いします。コメントは受け付けていません。概要Windows、MAC、iOSに加えてAndroidにも対応したDelphi。本研修はDelphiによる開発の基本技術を発展的に学ぶことのできる研修コースです。※Delphiはエンバカデロ・テクノロジーズの製品です。コメントは受け付けていません。概要Windows、MAC、iOSに加えてAndroidにも対応したDelphiシリーズ。本研修はDelphiシリーズによる開発の基本技術を学ぶことのできる研修コースです。※Delphiはエンバカデロ・テクノロジーズの製品です。コメントは受け付けていません。講座に参加したい、実施したい」というお客様のご要望にお応えしたフルネスのオープン講座。未経験IT技術者向け・新入社員向け・既存社員向けと様々なラインナップを豊富にそろえております。Delphi,Spring5,C++,C#,Android,Python,マイクロサービスアーキテクチャ,ドメイン駆動設計、その他様々な研修をお選び頂けます。開催していない研修でも企業様のニーズに合わせて企画させて頂くことも行っておりますので、お気軽に御相談下さい。キャンセルポリシー(必ず御一読下さい)オープンお申し込みの取り消しに関しましては、研修開催日からの日数によって以下のキャンセル料をご請求させていただきます。・欠席された場合には、全額ご請求させていただきます。・弊社都合で開催を中止または延期する事由が発生した場合には、お客様からの請求により取り消しを無料でお受けいたします。コメントは受け付けていません。火曜日システム開発の短納期・低コスト・高品質を実現するために必要なスキルを持った技術者を選抜し、お客様の契約形態に合わせて、システム開発のお手伝いをいたします。自社エンジニア、パートナーエンジニアを含め数千名の中から最適なソリューションを提供しております。フルネスでは、以下のシステム開発支援サービスを提供しています(1)業務委託(請負契約)お客様の要件や仕様をお聞きして、システム開発(請負開発)を行います。(2)常駐開発(準委任契約)お客様先へ常駐して、システム開発を行います。(3)常駐派遣お客様先へ技術者を派遣して、お客様の指示の元でシステム開発を行います。業務委託(請負契約)・Javaを利用した開発Javaに精通した技術者でチームを組み、短期間でシステム開発を行います。弊社が最も得意とするDelphiの旧VerからXEシリーズへのマイグレーション開発。マイグレーション事例はこちら・Delphiコンサルティング国内でも他社があまり得意としていないDelphiコンサルティングサービス。技術支援を行っております。エンバカデロテクノローズ社からも国内2社しかいないトレーニングパートナーとしてDelphi製品の普及に努めております。マイグレーション事例はこちら・Delphi保守サービス以前から資産として持っているDelphiで開発されたシステムの保守、メンテナンス、テクニカルサポートサービス対応しております。マイグレーション事例はこちら・SalesforceエンジニアリングサービスSalesforce社をこれから導入する企業様に向けて支援をさせていただいております。・Android、iPhoneアプリ開発スマートフォンに関連するアプリケーション開発をなるべく低予算で開発致します。コメントは受け付けていません。