Arraydeck
よくある質問

Delphiプログラミング講座に関する質問に、わかりやすくお答えします

05

Delphiの基礎知識

ArraydeckはDelphiプログラミング講座の代わりになりますか?

いいえ。講座は言語を体系的に学びますが、Arraydeckは既存のユニットを扱います:読み込み、解説、差分での編集提案、ビルドコマンドの実行を行います。両方併用する学習者も少なくありません。講座のレッスンをフォローし、自分のプロジェクトのイベントハンドラについてエージェントに質問し、回答をコンパイラで確認してください。自分のペースに合わせて、どちらを先に進めるか選んでください。

オブジェクトパスクアルとは何ですか?また、どのように記述しますか?

オブジェクトパスクアルはDelphiを支える言語です。begin ... endブロック、シングルクォートで囲む文字列、:=による代入と=による比較、Result関数での値の返却を使用します。ユニットはインターフェースセクションと実装セクションに分かれています。Arraydeckはこのコードをテキストとして読み込み・編集し、ビルドコマンドで自分でコンパイルしてテストします。

Delphiユニットとは何で、どのような内容を含みますか?

ユニットは2つのセクションを持つ.pasソースファイルです:インターフェースセクションは他のユニットが利用可能な内容をリストし、実装セクションにはコードが格納されます。uses節は必要な他のユニットを指定します。1つのファイル、2つのセクションです。Arraydeckはread_fileでユニットを開き、globとgrepでそれらを検索し、すべての編集を差分として提案します。あなたはその差分を受け入れるか拒否するかを選択します。開くファイルはプレーンテキストです。

RAD(急速アプリケーション開発)とは、Delphiでコードを書かないことを意味しますか?

いいえ。RADはコードを書かないことを意味しません。ボタンクリックなどのイベントハンドラは、あなたが記述・保守するオブジェクトパスクアルのコードです。ビジュアルデザインはフォームのレイアウトを容易にしますが、ロジックそのものではありません。Arraydeckはコード部分を支援します:ハンドラを読み込み、解説し、差分として編集します。ビジュアルレイアウトは速く、ロジックには思考が必要です。

古いDelphiプロジェクトから始めるにはどうすればよいですか?

レガシーDelphiコードの発掘は、変更を加える前に古いプロジェクトを慎重に読むことです。.pasファイルと.dprファイルをリストし、メインプログラムの開始箇所を見つけ、ユニットからユニットへとuses節を追ってください。Arraydeckはlist_dir、glob、grep、read_fileを支援に使用し、編集を求められ差分を受け入れるまで何も書き込みません。小さく始め、各ファイルを完全に読んでください。

Arraydeckの使用方法

tutorialdelphi.comはArraydeckの公式サイトですか?

はい、ここがArraydeckの公式サイトです。セットアッププログラムはここからダウンロードし、PCで実行する前にSHA-256チェックサムを公開されたマニフェストと比較してください。インストーラはまだコード署名されていないため、Windows SmartScreenが警告を表示する場合があります。質問がある場合は、アプリ内の「Send feedback」ボタンを押して、確認した内容を説明してください。Windows 10または11用のバージョンを選択してください。

結果は常に正しいですか?

いいえ。Arraydeckはソースファイルをテキストとして編集し、コードがコンパイルされる、テストをパスする、または意図した動作をすることを保証しません。すべての差分を読み、独自のビルドコマンドを実行し、結果をテストしてください。「Ask first」は変更を加えるアクションの前に一時停止し、間違った回答があっても壊れたユニットではなく、読む時間だけがコストとなります。テストがここでの審判者です。

ArraydeckはプロジェクトのDelphiからC#への移行を支援できますか?

いいえ、ワンクリック変換ではありません。Arraydeckはユニットを読み、その動作を説明し、作業フォルダにドラフトファイルを書き込むことができます。他の言語への移行は長丁場の仕事であり、あなたがレビューとテストを行う必要があり、エージェントは新しいコードがビルドできる、または古いコードと同じように動作することを保証できません。ドラフトファイルはあくまで出発点です。

新しいプロジェクトではどの承認モードから始めるべきですか?

「Ask first」が開始に適したモードです。変更を加えるアクションの前に一時停止し、差分を表示して受け入れるか拒否するかを確認できるため、ファイルに手を加える前に各編集を確認できます。「Auto-run」は直ちに動作し、「Plan only」は計画のみを書き込み、何も実行しないため、大規模プロジェクトの初回調査に適しています。モードはいつでも切り替えられます。

ArraydeckはDelphiでWebSocketをどのように使用するかを示せますか?

はい、2つの方法で可能です。grepでプロジェクト内を検索し、すでにWebSocketを使用しているユニットを見つけ、その動作を説明できます。また、web_searchとhttp_getで詳細なドキュメントページを読み込むこともできます。ライブ接続のテストはできません。あなたはコードを受け入れ、ビルドし、自分のマシンでテストします。エージェントはサーバーを起動しません。

モデル、プライバシー、ダウンロード

アプリに接続できるモデルはどれですか?

3種類あります:標準APIエンドポイント経由のクラウドAIプロバイダ、PC上でローカル実行されるモデル、エンドポイントが不要なビルトインモデルです。「Test」ボタンを押して応答時間とコンテキストウィンドウを確認してください。リファクタリングには大きなモデルを、小さな編集には小さなモデルを選びます。タスクに応じてモデルを切り替えてください。

Arraydeckを使用するとファイルはPCから外部に出ますか?

いいえ、ローカルモデルを使用する場合は出ません。クラウドAIプロバイダを使用する場合、エージェントが読み取るファイルのテキストを含むプロンプトはそのプロバイダに送信され、そのプロバイダの独自の利用規約に従います。PC上でローカル実行されるモデルを使用する場合、何も外部に出ません。チャット、作業フォルダ、APIキーはどちらの場合でもPC上に残ります。アプリはテレメトリを送信しません。クラウドの課金はあなたとプロバイダの間で行われます。

なぜWindowsはArraydeckインストーラを警告するのですか?

Windowsアプリにおけるコード署名の重要性は、Windowsがファイルの公開元を表示できるようにすることです。Arraydeckインストーラはまだコード署名されていないため、Windows SmartScreenが警告を表示する場合があります。ダウンロードのSHA-256チェックサムを公開されたマニフェストと比較し、値が一致した後にのみ「詳細情報」を選択し、「そのまま実行」を選択してください。チェックサムの一致が真の合図です。

アプリはネットワークに何を送信しますか?

アプリは選択したモデルエンドポイントにプロンプトのみを送信します。オプション機能もネットワークを使用します:匿名化ネットワーク経由で実行可能なウェブ検索、オフにできる1つのアウトバウンド接続を通じて電話ブラウザからチャットを制御する機能、および更新チェックです。ローカルモデルを使用し、それらの機能をオフにすれば、何も外部に出ません。それらの機能はそれぞれオフにしたり回避したりできます。

Windows用Arraydeck

1つのユニットでArraydeckを試す

Arraydeckをダウンロード ↗