delphi-project-structure
Delphi project file structure reference — .dpr vs .pas, .dproj, .res, .dfm. Templates for console and VCL projects.
DeepseekModel
キュレーション済みスキル
品質 優秀 · 78
v1.0.0
取得
https://deepseekmodel.com/api/download.php?id=academiadocodigo-simpleorm-claude-skills-delphi-project-structure-skill-md&format=skill
ダウンロード .skill
標準形式。system_prompt と model_config を収録し、任意の Agent で利用可能
.skill ファイルの system_prompt フィールドの実際の内容。
name delphi-project-structure description Delphi project file structure reference — .dpr vs .pas, .dproj, .res, .dfm. Templates for console and VCL projects. user-invocable false Delphi Project Structure Rules are in .claude/rules/sample-creation.md — this skill provides templates and reference. File Types File Purpose Created by .dpr Program file — entry point Developer/Claude .pas Unit file — source code Developer/Claude .dproj Project config (MSBuild XML) IDE only .res Compiled resources (binary) IDE only .dfm Form layout (visual) IDE only .groupproj Project group IDE only .dpr vs .pas — Critical Difference .dpr (PROGRAM) .pas (UNIT) ───────────────── ───────────────── program MyApp; unit MyUnit; {$APPTYPE CONSOLE} interface {$R *.res} uses ...; type ...; uses Unit1 in 'Unit1.pas'; implementation uses ...; begin // executable code // implementation code end. end. Key differences: .dpr starts with program , .pas starts with unit .dpr has executable begin/end. block .pas has interface/implementation sections .dpr uses in 'path' syntax for unit paths Only .dpr has {$R *.res} and {$APPTYPE CONSOLE} Console Application Template program SimpleORMFeature; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.Generics.Collections, SimpleDAO, SimpleInterface, SimpleQueryFiredac, FireDAC.Comp.Client, FireDAC.Stan.Def, FireDAC.Phys.FB, Entidade.Pedido in '..\Entidades\Entidade.Pedido.pas'; var LConn: TFDConnection; LDAO: iSimpleDAO<TPEDIDO>; begin try LConn := TFDConnection.Create(nil); try LConn.Params.DriverID := 'FB'; LConn.Params.Database := 'C:\database\MEUBANCO.FDB'; // Ajustar caminho LConn.Params.UserName := 'SYSDBA'; LConn.Params.Password := 'masterkey'; LConn.Connected := True; LDAO := TSimpleDAO<TPEDIDO>.New( TSimpleQueryFiredac.New(LConn) ); // === Demonstracao do recurso === Writeln('=== Feature Demo ==='); // ... Writeln(''); Writeln('Done! Press Enter to exit...'); finally LConn.Free; end; except on E: Exception do Writeln('Error: ', E.Message); end; Readln; end. VCL Application Template program SimpleORMFeature; uses Vcl.Forms, Principal in 'Principal.pas' {FormPrincipal}, Entidade.Pedido in '..\Entidades\Entidade.Pedido.pas'; {$R *.res} begin Application.Initialize; Application.MainFormOnTaskbar := True; Application.CreateForm(TFormPrincipal, FormPrincipal); Application.Run; end. VCL Form Unit Template (.pas) unit Principal; interface uses Vcl.Forms, Vcl.StdCtrls, Vcl.Controls, System.Classes, Data.DB, FireDAC.Comp.Client, System.Generics.Collections, SimpleDAO, SimpleInterface, SimpleQueryFiredac; type TFormPrincipal = class(TForm) // Components declared here are created by IDE from .dfm // Do NOT manually add component declarations private FDAO: iSimpleDAO<T>; public procedure AfterConstruction; override; end; var FormPrincipal: TFormPrincipal; implementation {$R *.dfm} procedure TFormPrincipal.AfterConstruction; begin inherited; // Initialize DAO here end; end. Sample Directory Structure samples/FeatureName/ ├── SimpleORMFeature.dpr ← Claude creates ├── [SimpleORMFeature.dproj] ← IDE generates (do not create) ├── [SimpleORMFeature.res] ← IDE generates (do not create) ├── [Principal.pas] ← Claude creates (VCL only) ├── [Principal.dfm] ← IDE generates (VCL only) └── README.md ← Claude creates README Template # Feature Name Sample Demonstrates [feature description]. ## Prerequisites - Delphi 10.3+ - [Database/dependency] - SimpleORM installed (boss or library path) ## Setup 1. Open `SimpleORMFeature.dpr` in Delphi IDE 2. Configure database connection (adjust path in source) 3. Build and run (F9) ## What It Shows - [Feature 1] - [Feature 2] Uses Clause in .dpr — the in Syntax In .dpr files, units that are NOT installed in the IDE need the in 'path' syntax: uses // Installed units (no path needed) System.SysUtils, Horse, SimpleDAO, // Non-installed units (need relative path) Entidade.Pedido in '..\Entidades\Entidade.Pedido.pas', MyLocalUnit in 'SubDir\MyLocalUnit.pas'; The {FormName} comment after in is for form units only: Principal in 'Principal.pas' {FormPrincipal}
このスキルを起動するキーワード。クリックでコピーできます。
このスキルにはトリガーワードがありません。
ダウンロードした .skill に含まれるフィールド。
| フィールド | 説明 |
|---|---|
| format | フォーマット識別子(skill/v1) |
| skill_id | スキル固有 ID |
| name | スキル名 |
| version | バージョン |
| description | 説明 |
| category | カテゴリ(配列) |
| trigger_words | トリガーワード |
| tags | タグ |
| source | ソース |
| source_url | ソース URL(本ページ) |
| exported_at | エクスポート日時(ダウンロード毎) |
| system_prompt | システムプロンプト本文 |
| model_config | モデル設定:provider / model / temperature / max_tokens / top_p |
| examples | サンプル |
| install_guide | 各プラットフォームの導入説明(Coze / Dify / Claude / カスタム) |