XE6入门(二)项目中的文件

XE6中项目文件为DPR,查看方法请参考一下以前写过的博文:

Delphi项目构成之项目文件DPR

项目文件DPR

通过主菜单【Project | View Source】,就可以看到缺省的 VCL Forms Application 的项目源代码:

program Project1;  {关键字program}

uses               {uses单元引用}
  Vcl.Forms,       //新的单元名称VCL限定
  Unit1 in ‘Unit1.pas‘ {Form1};
                   {Form1窗体单元}
{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  //默认已将MainForm显示于任务栏,而不是之前版本的Application

  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

单元文件PAS

通过菜单【New | Unit – Delphi】,就可以创建最简单的单元文件,其中的关键字都是必须的,格式如下:

unit Unit2;

interface

implementation

end.

下面这个是内容比较多的单元文件,具体详见代码中的注释:

unit Unit1;

interface
(*
  interface接口段,声明这个单元的输出标识符,
  即能被其他单元访问的项目
  以interface开始,implementation结束
*)

uses        {引用的单元列表,和D7不同是需要加命名空间}
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  {使用了一个TForm类}
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMyArray = array[0..19] of Byte;  {声明一个新的类型}

const  {const关键字用来声明常量}
  AppCation = ‘Hello World‘;

var
  Form1: TForm1;
  X: Integer;
  MyArray: TMyArray; {Type区域中声明的新类型}

  procedure DoSomething; {声明一个DoSomething过程}

implementation
(*
  执行段以implementation开始,以下一个关键字结束,
  下一个关键字通常就是单元的最后关键字end。
  但在有初始化的单元中,下一个关键就是initialization关键字。
*)

{$R *.dfm}
uses
  System.Contnrs; {implementation执行段的单元引用}

var
  ObjList: TObjectList;

Const
  BaseX = 20;
  BaseY = 200;

procedure DoSomething;
begin
  {Code for DoSomething goes here.}
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(‘Hello World‘);
end;
(*
  initialization单元初始化和finalizaiton单元结束
 用来执行启动和清理的代码,初始化中的任何代码在其单元载入内存时都要被执行,
 结束段中的任何代码在单元从内存中清理前都要被执行。
 可以只有一个初始化段,但不能只有结束段,而没有初始化段。
*)
initialization  {单元初始化}
  ObjList := TObjectList.Create;

finalization  {单元结束}
  FreeAndNil(ObjList);
end.

窗体文件DFM

在XE6中新建一个VCL Forms Application,按 F6 键启动”IDE Insight”,输入”VCL Forms”即可创建完成。

我们通过 Project Manager 就可以看到Unit1.pas下对应着Unit1.dfm。

在Unit1.pas文件中我们还能找到下面的代码:

其中的代码

{$R *.dfm}   { 这句话告诉编译器去连接对应的窗体文件,名称与单元文件相同,但扩展名为.dfm}

DFM文件内容是什么呢?我们通过在Form1窗体设计器上点击鼠标右键菜单,选择【View as Text】来进行查看。如下图:

DFM文件其实就是一个文本文件,记录的都是些非缺省属性设置和窗体上的一些组件属性设置,内容如下:

object Form1: TForm1
  Left = 0
  Top = 0
  Caption = ‘Form1‘
  ClientHeight = 329
  ClientWidth = 620
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = ‘Tahoma‘
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
end

窗体设计中的秘密

1、如果我们在 Form1 上添加一个 Button1 按钮,选中 Button1 按钮后,选择主菜单的【Edit | Cut】剪切,将 Button1 剪切掉,如下图:

2、打开Windows中的记事本,选择粘贴后,实际粘贴的是一个段 Button1 的属性参数,我们仿照 Button1 的格式,增加一个 Button2 按钮,并放置在 Button1 按钮下方,具体参数如下图:

3、将记事本中内容全选后,粘贴在XE6的窗体设计器中,我们成功创建了Button2按钮,如下图:

实际上在DFM文件中也是以TEXT格式记录着所有控件属性值。

时间: 2024-10-12 05:52:37

XE6入门(二)项目中的文件的相关文章

Android的学习之路(二)项目中原生文件的使用场景和文件介绍

1.src文件:java源代码存放目录 2.gen 文件:自动生成所有由android开发工具自动生成的文件,目录中最重要的就是R.java文件,这个文件由android开 发工具自动产生的.android开发工具会自动根据你存放res目录的资源,同步更新修稿R.java文件,正因为 R.java文件是由开发工具自动生成的,所以我们应避免手工修改R.java.R.java文件在应用中起到了字典的作 用,它包含了各种资源的ID,通过R.java,应用可以很方便的找到对应资源, 2.1R.java 

在项目中拖动文件给出的提示详解

如果你在从项目外部往里拖放一个文件, 系统会给你提示如下一个Message, 那么他们到底都有什么用呢 我将利用a作为文件.A作为文件夹, 说明具体情况 1. Destination: Copy items if needed 如果你勾选这个选项, 那么A文件将从原路径copy到项目中(如果是项目中的文件, 将不会动, 如果是其他地方的文件就会复制过来).如果你删除[Move to Trish]之后你会发现项目中的文件被删除, 原路径的A文件没有被删除 如果你没有勾选这个文件, 那么此文件将会作

如何查看.Net源代码vs版本号以及C#项目中各文件的含义

查看.Net源代码vs版本号以及C#项目中各文件的含义 用记事本打开vs项目的.sln文件. 第2行就是这个源代码包的开发软件vs版本号了 注意了,如果是vs2003的sln文件通常没有这行,可以判断他的第一行的最后一部分文字 :  Format Version 8.00 Format Version 8.00   对应 vs2003 Format Version 9.00   对应  vs2005 Format Version 10.00  对应  vs2008 Format Version

Android项目中gen文件下R文件无法生成的解决的方法

帮一个网友解决R文件无法生成的问题,搜集了些材料特整理例如以下,刚開始学习的人參考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen文件夹无法更新,或者gen文件夹下的R.JAVA文件无法生成 1.gen文件夹的用处 android gen文件夹下的R.java并非由用户创建,而是androidproject本身将android的资源进行自己主动"编号"(ID)值. 2.gen文件夹下R文件无法更新/生成的原因 1)res文件夹下的layout下的xml文件名

Android项目中gen文件下R文件无法生成的解决办法

帮一个网友解决R文件无法生成的问题,搜集了些材料特整理如下,初学者参考他人代码时极易出现此种问题,一般都是xml文件出错,无法被正确解析. gen目录无法更新,或者gen目录下的R.JAVA文件无法生成 1.gen目录的用处 android gen目录下的R.java并不是由用户创建,而是android工程本身将android的资源进行自动"编号"(ID)值. 2.gen目录下R文件无法更新/生成的原因 1)res目录下的layout下的xml文件名有错.按照android的命名规范是

Android的学习之路(四)项目中清单文件的学习和android中经常使用的显示单位

1.所谓的清单文件就是项目中的AndroidManifest.xml文件.这个文件但是有大用处的.比方:app的名字,图标.app支持的版本号app的包名等等.以下我就介绍下这个清单文件的各个參数的作用. <manifest xmlns:android="http://schemas.android.com/apk/res/android"命名空间 package="com.example.hello"包名唯一标示一个应用 android:versionCod

Eclipse 中 Java 项目中 .settings 文件夹作用

今天工作时,因对 .settings 文件夹误操作,耗时 6 个多小时,才了解到原因就出在 .settings 文件夹.经查阅资料,对 .settings 做如下整理: 就如setting这个名字,就是存放存放各种插件的配置文件..有这些文件的约束你可以更好的利用IDE进行coding.所以呢,这些文件只是用来配置环境用的. 1. org.eclipse.jdt.core.prefs 该文件是与Compile相关的配置,一般情况下的内容如下: 可以手动修改该文件,添加一些其他的配置,然后重启Ec

android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件

1.下载工具 xstream 下载最新版本地址: https://nexus.codehaus.org/content/repositories/releases/com/thoughtworks/xstream/ 下载完成后 把jar包导入到自己的android项目中 2.asset 文件夹 下的 aa.xml 文件 <?xml version="1.0" encoding="UTF-8"?><product>    <name>

关于项目中audio文件无法播放的报告

BUG现象 Nexus5等部分机型(安卓4.4版本)出现选择自定义铃声后无法播放的现象. BUG 原因 4.4的某些机型 使用的intent.setAction(Intent.ACTION_GET_CONTENT)获取的uri为 content://com.android.providers.media.documents/document/audio%3A1407 这种格式的uri在播放音乐的方法中不识别报错 4.3及以下版本使用的intent.setAction(Intent.ACTION_

Android中项目中各个文件夹的含义和用途详解

1.src:存放所有的*.java源程序. 2.gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID. 3.assets:可以存放项目一些较大的资源文件,例如:图片.音乐.字体等. 4.res:可以存放项目中所有的资源文件,例如:图片(*.png.*.jpg).文本等. 5.res/drawable-hdpi:保存高分辨率图片资源,可以使用Resources.getDrawable(id)可以获得资源类型. 6.res/drawable-ldpi:保存低分辩率图