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}
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |