當前位置:首頁 » 編程軟體 » delphi條件編譯

delphi條件編譯

發布時間: 2022-04-28 09:00:09

A. delphi中{$R*.DFM}的意思

條件編譯指令 含義

$DEFINE 用於定義一個條件符號,一旦定義,條件符號就為真

$ELSE 與$IFDEF配合使用,如果$IFDEF條件為假,則只對源文件$ELSE後一小部分進行編譯

$ENDIF 結束一個以$IF開始的條件段

$IFDEF 對條件符號進行判斷,為真則編譯源文件

$IFNDEF 對條件符號進行判斷,為假則編譯源文件

$IFOPT 根據編譯開關狀態,對源文件編譯

$UNDEF 撤消以前的條件符號定義

B. DELPHI編程指的是什麼

由Borland公司推出的Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft
Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented
Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi是Borland公司研製的新一代可視化開發工具,可在Windows3.x、Windows95、WindowsNT等環境下使用。當前,DELPHI
也可以為LINUX平台上開發應用,其在LINUX上的對應產品Kylix。
DELPHI
擁有一個可視化的集成開發環境(IDE),採用面向對象的編程語言ObjectPascal和基於部件的開發結構框架。Delphi它提供了500多個可供使用的構件,利用這些部件,開發人員可以快速地構造出應用系統。開發人員也可以根據自己的需要修改部件或用Delphi本身編寫自己的部件。主要特點如下:
(1)直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
(2)支持將存取規則分別交給客戶機或伺服器處理的兩種方案,而且允許開發人員建立一個簡單的部件或部件集合,封裝起所有的規則,並獨立於伺服器和客戶機,所有的數據轉移通過這些部件來完成。這樣,大大減少了對伺服器的請求和網路上的數據傳輸量,提高了應用處理的速度。
(3)提供了許多快速方便的開發方法,使開發人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立項目的構架,然後根據用戶的實際需要逐步完善。
(4)具有可重用性和可擴展性。開發人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發效果。
(5)具有強大的數據存取功能。它的數據處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟體層,可以用來處理當前流行的數據格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型資料庫連接。
Delphi既可用於開發系統軟體,也適合於應用軟體的開發。
(6)擁有強大的網路開發能力,能夠快速的開發B/S應用,它內置的IntraWeb和ExpressWeb使得對於網路的開發效率超過了其他任何的開發工具。
(7)Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現在最優秀的類庫,它使得Delphi在軟體開發行業處於一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。
(8)從Delphi8開始Delphi也支持.Net框架下程序開發。
當前DELPHI
已經成為一個品牌,而不僅僅是一個開發平台或開發語言的名稱。
當前DELPHI產品已經由CodeGear公司繼續發展,該公司是BORLAND公司的全資子公司。

C. Delphi語言主要用於哪些編程

由Borland公司推出的Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。

Delphi是Borland公司研製的新一代可視化開發工具,可在Windows3.x、Windows95、WindowsNT等環境下使用。當前,DELPHI 也可以為LINUX平台上開發應用,其在LINUX上的對應產品Kylix。

DELPHI 擁有一個可視化的集成開發環境(IDE),採用面向對象的編程語言ObjectPascal和基於部件的開發結構框架。Delphi它提供了500多個可供使用的構件,利用這些部件,開發人員可以快速地構造出應用系統。開發人員也可以根據自己的需要修改部件或用Delphi本身編寫自己的部件。主要特點如下:

(1)直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。

(2)支持將存取規則分別交給客戶機或伺服器處理的兩種方案,而且允許開發人員建立一個簡單的部件或部件集合,封裝起所有的規則,並獨立於伺服器和客戶機,所有的數據轉移通過這些部件來完成。這樣,大大減少了對伺服器的請求和網路上的數據傳輸量,提高了應用處理的速度。

(3)提供了許多快速方便的開發方法,使開發人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立項目的構架,然後根據用戶的實際需要逐步完善。

(4)具有可重用性和可擴展性。開發人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發效果。

(5)具有強大的數據存取功能。它的數據處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟體層,可以用來處理當前流行的數據格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型資料庫連接。 Delphi既可用於開發系統軟體,也適合於應用軟體的開發。

(6)擁有強大的網路開發能力,能夠快速的開發B/S應用,它內置的IntraWeb和ExpressWeb使得對於網路的開發效率超過了其他任何的開發工具。

(7)Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現在最優秀的類庫,它使得Delphi在軟體開發行業處於一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。
(8)從Delphi8開始Delphi也支持.Net框架下程序開發。

當前DELPHI 已經成為一個品牌,而不僅僅是一個開發平台或開發語言的名稱。 當前DELPHI產品已經由CodeGear公司繼續發展,該公司是BORLAND公司的全資子公司。當前,CodeGear為廣大開發者提供了DELPHI FOR php,以高度可視化的方式全面支持面向對象的PHP 網站開發,大大提高了PHP開發網站的代碼復用程度,成為WEB應用開發的新利器。

在DELPHI中技巧實現許可權管理

在運用DELPHI編制一些應用系統時,有很多時候都需要給不同的用戶賦予不同的許可權,而不同的系統又有不同的許可權分配方式,如果在程序中去為每一位用戶分配許可權的話,不僅使得程序的編制十分麻煩,而且也不利於管理!筆者近日想得一自認為比較好的方法,願與大家共享,並望各位多指教!
在很多的系統中,許可權通常是被分成幾級的。每一級的用戶所能實現的操作是不同的,而實現這一功能的方法一般都是讓不同許可權的用戶見到不同的菜單。簡單的說就是對不具有某一許可權的用戶這一菜單就是不可見的!為了實現這一控制,程序員們往往得花費很多的時間去做這一模塊,浪費了很多寶貴的時間!
筆者的想法是:如果設一個二維數組,第一維代表第一級菜單,第二維代表子菜單,每一個數組元素只存儲0或1這兩個數,某一許可權的用戶對應著一個二維數組,而這個數組又代表了相應的菜單。給某一級別的用戶分配許可權後,他便擁有了一個相應的數組。登錄時,從數組中取出各個元素的值,如果為1則相應的菜單出現,為0則不出現菜單。用這種方式不但可以分級(同一級用戶的數組相同),還能實現在不同的用戶間實現許可權細分,只要你修改相應的數值為0或1即可!
上面是一個簡單例子的運行結果。
下面是部分源程序(這僅是一個解釋性的例子程序),為了簡便,程序中只有一個窗體和一個主菜單。在創建窗體時初始化數組M,顯示時讀出數組值並通過設置菜單的Enabled屬性或者Visible屬性的True或False來控制顯示!!
var
Form1: TForm1;
m:array[0..1,0..4] of integer;//定義存儲的數組
i,j:integer;//定義循環的變數
implementation
{$R *.dfm}
procere TForm1.FormShow(Sender: TObject);
begin //讀出數字並控制菜單的顯示
for i:=Low(m) to High(m) do
for j:=Low(m) to High(m) do begin
if m[j]=0 then MainMenu1.Items.Items[j].Enabled:=false
else MainMenu1.Items.Items[j].Enabled:=true;
end;
end;
procere TForm1.FormCreate(Sender: TObject);
begin //下面是初始化
k:=0;
for i:=Low(m) to High(m) do
for j:=Low(m) to High(m) do
if (j mod 2)=0 then m[j]:=1
else m[j]:=0;
end;
在實際的應用中,一般在用戶的信息記錄表中就記錄了用戶的許可權數組。在登錄時取出此數組再與上面的步驟類似就可以了。

D. delphi中是否有條件編譯

delphi 中有條件編譯。以下是代碼示例:

{$IFDEFWIN32}
{$RAPP32.DCR}
{$ELSE}
{$RAPP16.DCR}
{$EDNIF}

E. Delphi條件編譯問題

那個叫編譯指令,正常是在.inc文件中定義的,也可以在工程屬性中定義

記得採納啊

F. Delphi的命令行編譯命令

Borland出品的Delphi,有著閃電般的編譯速度,但是在界面控制項使用較多、工程項目較大的時候,編譯一個工程仍需要一段時間,打開龐大的Delphi IDE,也需要時間。其實,在一個工程開發結束,調試完成之後的Release編譯,完全可以用命令行來執行,因為Delphi的編譯器參數不像C++編譯器那樣復雜。

筆者把Delphi聯機手冊中關於命令行編譯(command-line compiler)的幾篇主題作了翻譯,希望對Delphi開發人員有幫助。

目錄
1. Command-line compiler
命令行編譯器
2. Command-line compiler options
命令行編譯器選項
3. Compiler directive options
編譯器指令選項
4. Compiler mode options
編譯模式選項
5. DCC32.CFG file
編譯器配置文件DCC32.CFG
6. Debug options
調試選項
7. Directory options
目錄選項
8. IDE command-line options
IDE命令行選項
9. Generated files
幾個IDE自動生成的文件介紹

Command-line compiler
命令行編譯器
Delphi's command-line compiler (dcc32.EXE) lets you invoke all the functions of the IDE compiler (DELPHI32.EXE) from the DOS command line (see IDE command-line options. Run the command-line compiler from the DOS prompt using the syntax:
Delphi』s命令行編譯器(dcc32.exe)允許你從DOS命令行方式(參照:IDE命令行選項)實現IDE編譯器(delphi32.exe)的所有功能。用DOS命令運行命令行編譯器語法如下:
dcc32 [options] filename [options]
dcc32 [選項] [文件名] [選項]
where options are zero or more parameters that provide information to the compiler and filename is the name of the source file to compile. If you type dcc32 alone, it displays a help screen of command-line options and syntax.
零或多個參數給編譯器提供信息,文件名指定需要編譯的源文件名。如果你單獨輸入dcc32,它會顯示一個關於命令行編譯的選項和語法的屏幕。
If filename does not have an extension, the command-line compiler assumes .dpr, then .pas, if no .dpr is found. If the file you're compiling to doesn't have an extension, you must append a period (.) to the end of the filename.
如果文件名沒有擴展名,命令行編譯器會查找擴展名為.dpr的同名文件,如果找不到,則查找擴展名為.pas的同名文件。如果你的源文件確實沒有擴展名,你需要在文件名的末尾添加(.)。
If the source text contained in filename is a program, the compiler creates an executable file named filename.EXE. If filename contains a library, the compiler creates a file named filename.DLL. If filename contains a package, the compiler creates a file named filename.BPL. If filename contains a unit, the compiler creates a unit file named filename.dcu.
如果指定的源文件是一個工程文件,編譯器會創建一個擴展名為.EXE的同名可執行文件。如果指定的源文件是一個庫文件,編譯器創建一個擴展名為.DLL的同名動態鏈接庫文件。如果指定的源文件是一個包文件,編譯器會創建一個擴展名為.BPL的同名包。如果指定的源文件是一個單元文件,編譯器會創建一個擴展名為.dcu的目標代碼文件。
You can specify a number of options for the command-line compiler. An option consists of a slash (/) or immediately followed by an option letter. In some cases, the option letter is followed by additional information, such as a number, a symbol, or a directory name. Options can be given in any order and can come before or after the file name.
你可以為命令行編譯器指定多個參數。一個參數包含一個破折號「-」(或「/」)和緊跟著的一個選項字元構成。通常情況下,選項字元後面會跟一些附加的信息,如一個數字、一個符號、一個目錄等。選項可以是任意順序並且可以在源文件名前面或後面。

Command-line compiler options
命令行編譯選項
The IDE lets you set various options through the menus; the command-line compiler gives you access to these options using the slash (/) delimiter. You can also precede options with a hyphen (-) instead of a slash (/), but those options that start with a hyphen must be separated by blanks. For example, the following two command lines are equivalent and legal:
IDE允許你使用菜單來設置各種編譯選項,而命令行編譯器允許你使用字元「/」作為分隔符來設定這些編譯選項。你也可以使用連字元「-」來代替「/」,但是用「-」引出的參數之間必須用空格隔開。例如,下面兩個命令都是等同的也是合法的:
DCC -IC:\DELPHI -DDEBUG SORTNAME -$R- -$U+
DCC /IC:\DELPHI/DDEBUG SORTNAME /$R-/$U+
The first command line uses hyphens with at least one blank separating options. The second uses slashes and no separation is needed.
第一個編譯命令用「-」引出參數,且參數之間有多個空格分隔。第二個編譯命令用「/」引出參數,參數之間不必要分隔。
The following table lists the command-line options. In addition to the listed options, all single-letter compiler directives can be specified on the command line, as described in Compiler directive options.
下列表中列出所有的命令行參數。在附加的選項列表中,所有的單字元編譯器指令都可以在命令行編譯中使用,詳情請參照:編譯器指令。
Option Description
選項 描述
Aunit=alias 設置單元別名
B 編譯所有單元
CC 編譯控制台程序
CG 編譯圖形界面程序
Ddefines 編譯條件符號定義
Epath 可執行文件輸出路徑
Foffset 查找運行期間錯誤
GD 生成完整.Map文件
GP 生成.Map文件Public段
GS 生成.Map文件Segment段
H 輸出提示信息
Ipaths 文件包含路徑
J 生成.Obj目標文件
JP 生成C++類型.Obj目標文件
Kaddress Set image base address
LEpath 包.BPL文件輸出路徑
LNpath .dcp文件輸出路徑
LUpackage 使用運行期間包列表
M 編譯有改動的源文件
Npath dcu/dpu文件輸出目錄
Opaths .Obj文件(匯編目標代碼文件)路徑
P 按8.3格式文件名查找
Q 安靜模式
Rpaths 資源文件(.RES)路徑
TXext 目標文件擴展名
Upaths 單元文件路徑
V 為Turbo Debugger生成調試信息文件
VN 以.Giant格式生成包含命名空間的調試信息文件(將用於C++Builder)
VR 生成調試信息文件.rsm
W 輸出警告信息
Z Disable implicit compilation
$directive Compiler directives
--Help 顯示編譯選項的幫助。同樣的,如果你在命令行單獨輸入dcc32,也會顯示編譯選項的幫助。
--version 顯示產品名稱和版本

Compiler directive options
編譯器指令選項
Delphi supports the compiler directives described in Compiler directives. The $ and D command-line options allow you to change the default states of most compiler directives. Using $ and D on the command line is equivalent to inserting the corresponding compiler directive at the beginning of each source file compiled.
Delphi支持用編譯器指令關鍵字描述的編譯器指令。使用「$」和「D」命令行選項可以改變所有的默認編譯器狀態。用「$」和「D」命令行選項等同於在源文件的前面添加編譯器指令。
Switch directive option
編譯器指令選項開關
The $ option lets you change the default state of all of the switch directives. The syntax of a switch directive option is $ followed by the directive letter, followed by a plus (+) or a minus (-). For example:
「$」允許你改變每一種編譯器指令默認狀態。編譯器指令的語法是「$」後緊跟一個指令字元,再跟一個「-」或「+」。例如:
dcc32 MYSTUFF -$R-
compiles MYSTUFF.pas with range-checking turned off, while:
不使用邊界檢查編譯MYSTUFF.pas單元:
dcc32 MYSTUFF -$R+
compiles it with range checking turned on. Note that if a {$R+} or {$R-} compiler directive appears in the source text, it overrides the -$R command-line option.
使用界面檢查編譯MYSTUFF.pas單元。如果將編譯器指令{$R+}或{$R-}添加到源文件的開始,它將覆蓋從命令行傳入的參數。
You can repeat the -$ option in order to specify multiple compiler directives:
你可以用多個「$」來指定多個編譯器指令,如:
dcc32 MYSTUFF -$R--$I--$V--$U+
Alternately, the command-line compiler lets you write a list of directives (except for $M), separated by commas:
命令行編譯器允許作用逗號分隔的編譯器指定列表,如:
dcc32 MYSTUFF -$R-,I-,V-,U+
只需要用一個「$」符號。
Only one dollar sign ($) is needed.
注意,因為$M的格式不一樣,你不能在逗號分隔的指令列表中使用$M
Note that, because of its format, you cannot use the $M directive in a list of directives separated by commas.
Conditional defines option
條件編譯選項
The -D option lets you define conditional symbols, corresponding to the {$DEFINE symbol} compiler directive. The -D option must be followed by one or more conditional symbols separated by semicolons (;). For example, the following command line:
「-D」選項允許你定義一個編譯條件,符合你用{$DEFINE symbol}定義的編譯器指令。「-D」選項後必須跟隨一或多個用分號分隔的編譯條件符號,如下命令:
dcc32 MYSTUFF -DIOCHECK;DEBUG;LIST
defines three conditional symbols, iocheck, debug, and list, for the compilation of MYSTUFF.pas. This is equivalent to inserting:
定義了三個編譯條件符號:IOCHECK,DEBUG,LIST,用於MYSTUFF.pas單元中。這等同於在源文件中插入以下語句:
{$DEFINE IOCHECK}
{$DEFINE DEBUG}
{$DEFINE LIST}
at the beginning of MYSTUFF.pas. If you specify multiple -D directives, you can concatenate the symbol lists. Therefore:
如果你指定了多個「-D」選項,你可以聯接它們,如下:
dcc32 MYSTUFF -DIOCHECK-DDEBUG-DLIST

is equivalent to the first example.
等同於第一個例子。

Compiler mode options
編譯模式選項
A few options affect how the compiler itself functions. As with the other options, you can use these with either the hyphen or the slash format. Remember to separate the options with at least one blank.
有幾個選項能影響編譯器自身的功能。像其它選項一個,你可以使用「/」或「-」的格式。別忘了用至少一個空格分隔這些選項。
Make (-M) option
選項(-M)
The command-line compiler has built-in MAKE logic to aid in project maintenance. The -M option instructs command-line compiler to check all units upon which the file being compiled depends. Using this option results in a much quicker compile time.
命令行編譯器使用構造邏輯的方式來維護工程。「-M」選項指示編譯器檢查所有與編譯文件相關聯的文件。用這個參數會導致編譯時間增大。
A unit is recompiled under the following conditions:
一個源文件在下列情況下會重新編譯:
The source file for that unit has been modified since the unit file was created.
源文件被創建以來被修改過;
用「$I」指令包含的任何文件,用「$L」包含的任何.Obj文件,或用「$R」關聯的任何資源文件.Res,比源文件中的要新;
Any file included with the $I directive, any .OBJ file linked in by the $L directive, or any .res file referenced by the $R directive, is newer than the unit file.
The interface section of a unit referenced in a uses statement has changed.
單元介面部分interface的uses段有改動。
Units compiled with the -Z option are excluded from the make logic.
在單元編譯時指令「-Z」在構造邏輯期不被接受。
If you were applying this option to the previous example, the command would be:
如果你在上一個例子中使用這個指令,編譯命令就應該是:
dcc32 MYSTUFF -M
Build all (-B) option
編譯所有 選項(-B)
Instead of relying on the -M option to determine what needs to be updated, you can tell command-line compiler to update all units upon which your program depends using the -B option. You can't use -M and -B at the same time. The -B option is slower than the -M option and is usually unnecessary.
用於取代要知道哪些單元需要更新-M的選項,你可以使用-B選項來更新所有你的程序中關聯的單元。你不能在程序中同時使用-M和-B。選項-B比-M速度更慢,而且它並不是必需的。
If you were using this option in the previous example, the command would be
如果你在前一個例子中使用這個參數,編譯命令就應該是:
dcc32 MYSTUFF -B
Find error (-F) option
查找錯誤 選項(-F)
When a program terminates e to a runtime error, it displays an error code and the address at which the error occurred. By specifying that address in a -Faddress option, you can locate the statement in the source text that caused the error, provided your program and units were compiled with debug information enabled (via the $D compiler directive).
當一個程序由於運行期間錯誤而終止時,它會顯示一個錯誤號和錯誤地址在錯誤發生時。用-Faddress選項來指定錯誤地址,你在源文件中能找到引發錯誤的位置,如果你的程序和單元編譯時附加了調試信息(使用$D編譯器指令)。
In order for the command-line compiler to find the runtime error with -F, you must compile the program with all the same command-line parameters you used the first time you compiled it.
為了命令行編譯器能用-F選項查找運行期間錯誤,你必須傳遞與第一次編譯時相同的指令列表。
As mentioned previously, you must compile your program and units with debug information enabled for the command-line compiler to be able to find runtime errors. By default, all programs and units are compiled with debug information enabled, but if you turn it off, using a {$D-} compiler directive or a -$D- option, the command-line compiler will not be able to locate runtime errors.
先前提到過,你的程序和單元必須啟用調試信息,命令行編譯器才能查找運行期間錯誤。默認情況下,所有的程序和單都是啟用調試信息的,除非你用{-D}或-$D-指令關閉它,這樣,命令行編譯器就不能查找運行期間錯誤了。
Use packages (-LU) option
使用包(-LU)選項
Use the -LU option to list additional runtime packages that you want to use in the application being compiled. Runtime packages already listed in the Project Options dialog box need not be repeated on the command line.
使用-LU選項來在編譯時添加你應用程序中要用到的運行期間包。運行期間包已經在「工程選項」對話框中列舉的,不必再在命令行中添加。
Disable implicit compilation (-Z) option
(此選項在delphi6.0/7.0中有不同描述,在此不作翻譯)
The -Z option prevents packages and units from being implicitly recompiled later. With packages, it is equivalent to placing {$ IMPLICITBUILD OFF} in the .dpk file. Use -Z when compiling packages that provide low-level functionality, that change infrequently between builds, or whose source code will not be distributed.
Target file extension (-TX) option
目標文件擴展名(-TX)選項
The -TX option lets you override the default extension for the output file. For example,
選項-TX允許你改寫默認的輸出文件擴展名。例如:
dcc32 MYSTUFF -TXSYS
generates compiled output in a file called MYSTUFF.SYS.
生成的將是一個叫做MYSTUFF.SYS的文件。
Quiet (-Q) option
安靜模式(-Q)選項
The quiet mode option suppresses the printing of file names and line numbers ring compilation. When the command-line compiler is invoked with the quiet mode option
安靜模式選項禁止在編譯時顯示文件名及代碼行數,如果命令行編譯器調用這個選項的話。
dcc32 MYSTUFF -Q its output is limited to the startup right message and the usual statistics at the end of compilation. If any errors occur, they will be reported.

它的輸出僅限於起始時行版權信息以及結尾的統計信息。當然,如果發生錯誤,它也會輸出。

DCC32.CFG file
DCC32.CFG配置文件
You can set up a list of options in a configuration file called DCC32.CFG, which will then be used in addition to the options entered on the command line. Each line in configuration file corresponds to an extra command-line argument inserted before the actual command-line arguments. Thus, by creating a configuration file, you can change the default setting of any command-line option.
你可以設置一個編譯選項列表到一個叫做DCC32.CFG的配置文件中,它將用於編譯時附加到命令行參數後。配置文件的每一行都相當於一個額外的命令行參數插入到實際的命令行參數前(注意,是實際參數前)。因而,你可以使用這個配置文件改變一些命令行參數的默認設置。
The command-line compiler lets you enter the same command-line option several times, ignoring all but the last occurrence. This way, even though you've changed some settings with a configuration file, you can still override them on the command line.
命令行編譯器允許你輸入相同的命令行參數,它將忽略所有除最後一個之外。這個的話,盡管通過配置文件你可以改變一些設置,你仍然可以覆蓋它使用命令行參數。
When dcc32 starts, it looks for DCC32.CFG in the current directory. If the file isn't found there, dcc32 looks in the directory where DCC32.EXE resides.
當dcc32啟動時,它查找DCC32.CFG文件在當前目錄。如果文件沒有找到,dcc32會查找它所在的目錄。
Here's an example DCC32.CFG file, defining some default directories for include, object, and unit files, and changing the default states of the $O and $R compiler directives:
以下是一個DCC32.CFG配置文件的例子,定義了關於文件包含、OBJ文件包含、單元文件搜索路徑信息,並改變了編譯器指令$O和$R的默認值。
-IC:\DELPHI\INC;C:\DELPHI\SRC
-OC:\DELPHI\ASM
-UC:\DELPHI\UNITS
-$R+
-$O-
Now, if you type:
現在,如果你輸入:
dcc32 MYSTUFF
the compiler performs as if you had typed the following:
編譯器把它當作你輸入如下命令:
dcc32 -IC:\DELPHI\INC;C:\DELPHI\SRC -OC:\DELPHI\ASM -UC:\DELPHI\UNITS -$R+ -$O- MYSTUFF

Debug options
調試選項
The compiler has two sets of command-line options that enable you to generate external debugging information: the map file options and the debug info options.
編譯器有兩個命令行參數可以生成外部調試信息:MAP文件選項和調試信息選項。
Map file (-G) options
Map文件(-G)選項
The -G option instructs the command-line compiler to generate a .map file that shows the layout of the executable file. Unlike the binary format of executable and .dcu files, a .map file is a legible text file that can be output on a printer or loaded into the editor. The -G option must be followed by the letter S, P, or D to indicate the desired level of information in the .map file. A .MAP file is divided into three sections:
選項-G指示命令行編譯器生成一個.map文件來查看一個可執行文件的布局。不同於可二進制的可執行文件和.dcu文件,.map文件是一個可讀的文本文件,可以被列印或是其它文本編輯器編輯。選項-G後必須跟字元S、P或D,去決定你想要在.map文件列出的信息。一個.MAP文件被分成三個節:
Segment
Publics
Line Numbers
-GS outputs only the Segment section, -GP outputs the Segment and Publics section, and -GD outputs all three sections. -GD also generates a .DRC file that contains tables of all string constants declared using the resourcestring keyword.
-GS選項只輸出Segment Section,-GS選項輸出Segment和Publics,-GD輸出所有的三個Sections.-GD選項也生成一個擴展名為.DRC的文件包含所有的用resourcestring關鍵字聲明的字元串常量。
For moles (program and units) compiled in the {$D+,L+} state (the default), the Publics section shows all global variables, proceres, and functions, and the Line Numbers section shows line numbers for all proceres and functions in the mole. In the {$D+,L-} state, only symbols defined in a unit's interface part are listed in the Publics section. For moles compiled in the {$D-} state, there are no entries in the Line Numbers section.
用默認的編譯選項{$D+,L+}編譯模塊(程序或單元),Publics Section列舉所有的全局變數、過程和函數,Line Numbers Section列舉模塊中所有的過程和函數的行號。如果用{$D+,L-}編譯選項編譯模塊,Publics Section中僅列舉在單元的interface部分定義的符號。如果用{$D-}選項編譯模塊,在Line Numbers Section沒有任何入口。
Debug info (-V) options
調度選項(-V)
The -V options (-V, -VN. and -VR), which cause the compiler to generate debug information, can be combined on the command line.
選項-V、-VN、-VR會指示編譯器生成調試信息,它們能在命令行中組合使用。
Generate Turbo Debugger debug info (-V) option
生成Turbo Debugger使用的調試信息的選項(-V)
When you specify the -V option on the command line, the compiler appends Turbo Debugger 5.0-compatible external debug information at the end of the executable file. Turbo Debugger includes both source- and machine-level debugging and powerful breakpoints.
當你在命令行中使用-V選項時,編譯器會在可執行文件的末尾附加與Turbo Debugger5.0一致的外部調試信息。Turbo Debugger包含代碼和硬體級別的強大的斷點。
Even though the debug information generated by -V makes the resulting executable file larger, it does not affect the actual code in the executable, and does not require additional memory to run the program.
雖然附加調試信息到查執行文件中會使可執行文件增大,但是它並不影響實際可執行文件中的可執行代碼,也不需要額外的內存來啟動程序。
The extent of debug information appended to the executable file depends on the setting of the $D and $L compiler directives in each of the moles (program and units) that make up the application. For moles compiled in the {$D+,L+} state, which is the default, all constant, variable, type, procere, and function symbols are known to the debugger. In the {$D+,L-} state, only symbols defined in a unit's interface section are known to the debugger. In the {$D-} state, no line-number records are generated, so the debugger cannot display source lines whe

G. 如何提高delphi編程效率

由Borland公司推出的Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。

Delphi是Borland公司研製的新一代可視化開發工具,可在Windows3.x、Windows95、WindowsNT等環境下使用。當前,DELPHI 也可以為LINUX平台上開發應用,其在LINUX上的對應產品Kylix。

DELPHI 擁有一個可視化的集成開發環境(IDE),採用面向對象的編程語言ObjectPascal和基於部件的開發結構框架。Delphi它提供了500多個可供使用的構件,利用這些部件,開發人員可以快速地構造出應用系統。開發人員也可以根據自己的需要修改部件或用Delphi本身編寫自己的部件。主要特點如下:

(1)直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。

(2)支持將存取規則分別交給客戶機或伺服器處理的兩種方案,而且允許開發人員建立一個簡單的部件或部件集合,封裝起所有的規則,並獨立於伺服器和客戶機,所有的數據轉移通過這些部件來完成。這樣,大大減少了對伺服器的請求和網路上的數據傳輸量,提高了應用處理的速度。

(3)提供了許多快速方便的開發方法,使開發人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立項目的構架,然後根據用戶的實際需要逐步完善。

(4)具有可重用性和可擴展性。開發人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發效果。

(5)具有強大的數據存取功能。它的數據處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟體層,可以用來處理當前流行的數據格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型資料庫連接。 Delphi既可用於開發系統軟體,也適合於應用軟體的開發。

(6)擁有強大的網路開發能力,能夠快速的開發B/S應用,它內置的IntraWeb和ExpressWeb使得對於網路的開發效率超過了其他任何的開發工具。

(7)Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現在最優秀的類庫,它使得Delphi在軟體開發行業處於一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。
(8)從Delphi8開始Delphi也支持.Net框架下程序開發。

當前DELPHI 已經成為一個品牌,而不僅僅是一個開發平台或開發語言的名稱。 當前DELPHI產品已經由CodeGear公司繼續發展,該公司是BORLAND公司的全資子公司。當前,CodeGear為廣大開發者提供了DELPHI FOR PHP,以高度可視化的方式全面支持面向對象的PHP 網站開發,大大提高了PHP開發網站的代碼復用程度,成為WEB應用開發的新利器。

H. delphi {$I-} {$I+}是什麼意思

一個程序從無到有的過程是這樣的: 編輯代碼 -> 預處理 -> 編譯(成dcu等) -> 鏈接(為exe等).

什麼是預處理?

譬如 VCL 中有很多代碼是兼容 Linux 的, 在 Windows 下就需要在編譯之前預處理掉那些 for Linux 的代碼.

1、判斷操作系統:

其中的 "MSWINDOWS" 和 "LINUX" 就是 Delphi 預定義的 "條件標識符".

begin
{$IFDEF MSWINDOWS}
ShowMessage('Windows');
{$ENDIF}
{$IFDEF LINUX}
ShowMessage('Linux');
{$ENDIF}
end;

2、自定義條件標識符(DEFINE):

下面例子中自定義了條件標識符: WanYi; 標識符和定義它的指令都不區分大小寫, 但大家一般慣用大寫.

begin
{$DEFINE WANYI}
{$IFDEF WanYi}
ShowMessage('標識符 WanYi 已定義');
{$ELSE}
ShowMessage('標識符 WanYi 未定義');
{$ENDIF}
end;

3、取消條件標識符的定義(UNDEF):

begin
{$DEFINE WANYI}
{$IFDEF WANYI}
ShowMessage('確認標識符 WanYi 是否定義');
{$ENDIF}
{$UNDEF WANYI}
{$IFDEF WANYI}
ShowMessage('再次確認標識符 WanYi 是否定義');
{$ENDIF}
end;

4、取消定義的簡單辦法:

在 {$...} 的 $ 前面隨便加點什麼, 讓它變成 "注釋", 譬如: {.$}

begin
{.$DEFINE WANYI}
{$IFDEF WANYI}
ShowMessage('確認標識符 WanYi 是否定義');
{$ENDIF}
{.$UNDEF WANYI}
{$IFDEF WANYI}
ShowMessage('再次確認標識符 WanYi 是否定義');
{$ENDIF}
end;

5、調試編譯指令時特別要注意的:

Delphi 有個常識: 如果單元代碼沒有改變, 相應的 dcu 不會重新生成!

因此, 為了有準確的調試結果, 執行前先用 Shift+F9 強制編譯當前工程, 然後再 Run;

強制編譯所有相關單元也可以, 方法: Project -> Build all project.

當然修改下代碼也很方便, 譬如在代碼中打個空格再退回來.

6、測試預定義的 Debug 和 Release:

當我們當新建一個工程, Delphi 默認的是調試(Debug)狀態, 當我們發布軟體時應該切換到發布(Release)狀態.

兩種狀態下編譯指令是有區別的, 在 Release 狀態下發布的 dcu 或 exe 會更小、更優化.

Debug 和 Release 的切換方法:

進入 Project Manager -> Build Configurations, 在 Debug 或 Release 上雙擊, 或從右鍵 Activate.

下面的代碼可以檢測到這種改變, 不過要注意上面提到的 Shift+F9 或 Project -> Build all project.

begin
{$IFDEF DEBUG}
ShowMessage('調試模式');
{$ENDIF}
{$IFDEF RELEASE}
ShowMessage('發布模式');
{$ENDIF}
end;

7、編譯指令寫在哪?:

編譯指令可以寫在代碼頁的任何地方, 不過在代碼的不同區域有時也會不同;

譬如: {$APPTYPE GUI} 和 {$APPTYPE CONSOLE} 就只能寫在工程文件里才有效.

{$APPTYPE GUI} 和 {$APPTYPE CONSOLE} 分別表示窗口工程和控制台工程.

其中 {$APPTYPE GUI} 是默認的, 所以很少見到它.

它甚至可以嵌入到代碼行當中, 譬如 ActnColorMaps 單元就有這么一句:

begin
SystemParametersInfo(SPI_GETFLATMENU, 0, {$IFNDEF CLR}@{$ENDIF}FlatMenus, 0);
end;

8、條件標識符的有效范圍:

Delphi 預定義的條件標識符都是全局的, 我們用 {$DEFINE ...} 自定義的標識符都是局部的.

如何自定義全局的標識符呢?

Project -> Options... -> 選定 Delphi Compiler -> 點擊 Conditional defines 右邊小按鈕 -> 添加.

不過這和系統預定義的還是有區別, 咱們自定義的只能用於當前文件.

如何定義每個文件都可以使用的標識符呢?

從 Project -> Options... 定義後, 馬上選擇左下角的 Default.

這和系統預定義的還是有區別, 因為這只能左右以後的文件, 管不著以前存在的文件.

如何...沒辦法了.

其他編譯指令, 譬如在 Debug 或 Release 中的設置也都是這樣; 也就是說: 每個文件都有相對獨立的編譯設置.

看到 Project -> Options... 馬上明白了編譯指令的設置方法有兩種:

1、使用 {$...} 在代碼中嵌入;

2、從 Project -> Options... 設置.

但在代碼中嵌入有時是不可替代的, 譬如現在討論的條件編譯.

9、編譯指令有多少?:

現在談到的還只是條件編譯, 實際應用最多的是開關編譯; 在任一代碼頁執行快捷鍵 Ctrl+O+O , 然後看看最上面...

下面列出了這些默認設置:

{$A8,B-,C+,D+,E-,F-,G+,H+,I+,J-,K-,L+,M-,N-,O+,P+,Q-,R-,S-,T-,U-,V+,W-,X+,Y+,Z1}
{$MINSTACKSIZE $00004000}
{$MAXSTACKSIZE $00100000}
{$IMAGEBASE $00400000}
{$APPTYPE GUI}
{$WARN SYMBOL_DEPRECATED ON}
{$WARN SYMBOL_LIBRARY ON}
{$WARN SYMBOL_PLATFORM ON}
{$WARN SYMBOL_EXPERIMENTAL ON}
{$WARN UNIT_LIBRARY ON}
{$WARN UNIT_PLATFORM ON}
{$WARN UNIT_DEPRECATED ON}
{$WARN UNIT_EXPERIMENTAL ON}
{$WARN HRESULT_COMPAT ON}
{$WARN HIDING_MEMBER ON}
{$WARN HIDDEN_VIRTUAL ON}
{$WARN GARBAGE ON}
{$WARN BOUNDS_ERROR ON}
{$WARN ZERO_NIL_COMPAT ON}
{$WARN STRING_CONST_TRUNCED ON}
{$WARN FOR_LOOP_VAR_VARPAR ON}
{$WARN TYPED_CONST_VARPAR ON}
{$WARN ASG_TO_TYPED_CONST ON}
{$WARN CASE_LABEL_RANGE ON}
{$WARN FOR_VARIABLE ON}
{$WARN CONSTRUCTING_ABSTRACT ON}
{$WARN COMPARISON_FALSE ON}
{$WARN COMPARISON_TRUE ON}
{$WARN COMPARING_SIGNED_UNSIGNED ON}
{$WARN COMBINING_SIGNED_UNSIGNED ON}
{$WARN UNSUPPORTED_CONSTRUCT ON}
{$WARN FILE_OPEN ON}
{$WARN FILE_OPEN_UNITSRC ON}
{$WARN BAD_GLOBAL_SYMBOL ON}
{$WARN DUPLICATE_CTOR_DTOR ON}
{$WARN INVALID_DIRECTIVE ON}
{$WARN PACKAGE_NO_LINK ON}
{$WARN PACKAGED_THREADVAR ON}
{$WARN IMPLICIT_IMPORT ON}
{$WARN HPPEMIT_IGNORED ON}
{$WARN NO_RETVAL ON}
{$WARN USE_BEFORE_DEF ON}
{$WARN FOR_LOOP_VAR_UNDEF ON}
{$WARN UNIT_NAME_MISMATCH ON}
{$WARN NO_CFG_FILE_FOUND ON}
{$WARN IMPLICIT_VARIANTS ON}
{$WARN UNICODE_TO_LOCALE ON}
{$WARN LOCALE_TO_UNICODE ON}
{$WARN IMAGEBASE_MULTIPLE ON}
{$WARN SUSPICIOUS_TYPECAST ON}
{$WARN PRIVATE_PROPACCESSOR ON}
{$WARN UNSAFE_TYPE OFF}
{$WARN UNSAFE_CODE OFF}
{$WARN UNSAFE_CAST OFF}
{$WARN OPTION_TRUNCATED ON}
{$WARN WIDECHAR_REDUCED ON}
{$WARN DUPLICATES_IGNORED ON}
{$WARN UNIT_INIT_SEQ ON}
{$WARN LOCAL_PINVOKE ON}
{$WARN MESSAGE_DIRECTIVE ON}
{$WARN TYPEINFO_IMPLICITLY_ADDED ON}
{$WARN RLINK_WARNING ON}
{$WARN IMPLICIT_STRING_CAST ON}
{$WARN IMPLICIT_STRING_CAST_LOSS ON}
{$WARN EXPLICIT_STRING_CAST OFF}
{$WARN EXPLICIT_STRING_CAST_LOSS OFF}
{$WARN CVT_WCHAR_TO_ACHAR OFF}
{$WARN CVT_NARROWING_STRING_LOST OFF}
{$WARN CVT_ACHAR_TO_WCHAR OFF}
{$WARN CVT_WIDENING_STRING_LOST OFF}
{$WARN XML_WHITESPACE_NOT_ALLOWED ON}
{$WARN XML_UNKNOWN_ENTITY ON}
{$WARN XML_INVALID_NAME_START ON}
{$WARN XML_INVALID_NAME ON}
{$WARN XML_EXPECTED_CHARACTER ON}
{$WARN XML_CREF_NO_RESOLVE ON}
{$WARN XML_NO_PARM ON}
{$WARN XML_NO_MATCHING_PARM ON}

I. Delphi是指的什麼技術

由Borland公司推出的Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編輯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi是Borland公司研製的新一代可視化開發工具,可在Windows3.x、Windows95、WindowsNT等環境下使用。當前,DELPHI 也可以為LINUX平台上開發應用,其在LINUX上的對應產品Kylix。
DELPHI 擁有一個可視化的集成開發環境(IDE),採用面向對象的編程語言ObjectPascal和基於部件的開發結構框架。Delphi它提供了500多個可供使用的構件,利用這些部件,開發人員可以快速地構造出應用系統。開發人員也可以根據自己的需要修改部件或用Delphi本身編寫自己的部件。主要特點如下:
(1)直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
(2)支持將存取規則分別交給客戶機或伺服器處理的兩種方案,而且允許開發人員建立一個簡單的部件或部件集合,封裝起所有的規則,並獨立於伺服器和客戶機,所有的數據轉移通過這些部件來完成。這樣,大大減少了對伺服器的請求和網路上的數據傳輸量,提高了應用處理的速度。
(3)提供了許多快速方便的開發方法,使開發人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立項目的構架,然後根據用戶的實際需要逐步完善。
(4)具有可重用性和可擴展性。開發人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發效果。
(5)具有強大的數據存取功能。它的數據處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟體層,可以用來處理當前流行的數據格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型資料庫連接。 Delphi既可用於開發系統軟體,也適合於應用軟體的開發。
(6)擁有強大的網路開發能力,能夠快速的開發B/S應用,它內置的IntraWeb和ExpressWeb使得對於網路的開發效率超過了其他任何的開發工具。
(7)Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現在最優秀的類庫,它使得Delphi在軟體開發行業處於一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。
(8)從Delphi8開始Delphi也支持.Net框架下程序開發。
當前DELPHI 已經成為一個品牌,而不僅僅是一個開發平台或開發語言的名稱。 當前DELPHI產品已經由CodeGear公司繼續發展,該公司是BORLAND公司的全資子公司。

J. Delphi的可視化編程的特點是什麼,它的機制是什麼

由Borland公司推出的Delphi是全新的可視化編程環境,為我們提供了一種方便、快捷的Windows應用程序開發工具。它使用了Microsoft Windows圖形用戶界面的許多先進特性和設計思想,採用了彈性可重復利用的完整的面向對象程序語言(Object-Oriented Language)、當今世界上最快的編譯器、最為領先的資料庫技術。對於廣大的程序開發人員來講,使用Delphi開發應用軟體,無疑會大大地提高編程效率,而且隨著應用的深入,您將會發現編程不再是枯燥無味的工作——Delphi的每一個設計細節,都將帶給您一份欣喜。
Delphi是Borland公司研製的新一代可視化開發工具,可在Windows3.x、Windows95、WindowsNT、WindowsXP、Windows Vista等環境下使用。當前,DELPHI 也可以在LINUX平台上開發應用,其在LINUX上的對應產品Kylix。
DELPHI 擁有一個可視化的集成開發環境(IDE),採用面向對象的編程語言ObjectPascal和基於部件的開發結構框架。Delphi它提供了500多個可供使用的構件,利用這些部件,開發人員可以快速地構造出應用系統。開發人員也可以根據自己的需要修改部件或用Delphi本身編寫自己的部件。主要特點如下:
(1)直接編譯生成可執行代碼,編譯速度快。由於Delphi編譯器採用了條件編譯和選擇鏈接技術,使用它生成的執行文件更加精煉,運行速度更快。在處理速度和存取伺服器方面,Delphi的性能遠遠高於其他同類產品。
(2)支持將存取規則分別交給客戶機或伺服器處理的兩種方案,而且允許開發人員建立一個簡單的部件或部件集合,封裝起所有的規則,並獨立於伺服器和客戶機,所有的數據轉移通過這些部件來完成。這樣,大大減少了對伺服器的請求和網路上的數據傳輸量,提高了應用處理的速度。
(3)提供了許多快速方便的開發方法,使開發人員能用盡可能少的重復性工作完成各種不同的應用。利用項目模板和專家生成器可以很快建立項目的構架,然後根據用戶的實際需要逐步完善。
(4)具有可重用性和可擴展性。開發人員不必再對諸如標簽、按鈕及對話框等Windows的常見部件進行編程。Delphi包含許多可以重復使用的部件,允許用戶控制Windows的開發效果。
(5)具有強大的數據存取功能。它的數據處理工具BDE(BorlandDatabaseEngine)是一個標準的中介軟體層,可以用來處理當前流行的數據格式,如xBase、Paradox等,也可以通過BDE的SQLLink直接與Sybase、SQLServer、Informix、Oracle等大型資料庫連接。 Delphi既可用於開發系統軟體,也適合於應用軟體的開發。
(6)擁有強大的網路開發能力,能夠快速的開發B/S應用,它內置的IntraWeb和ExpressWeb使得對於網路的開發效率超過了其他任何的開發工具。
(7)Delphi使用獨特的VCL類庫,使得編寫出的程序顯得條理清晰,VCL是現在最優秀的類庫,它使得Delphi在軟體開發行業處於一個絕對領先的地位。用戶可以按自己的需要,任意的構建、擴充、甚至是刪減VCL,以滿足不同的需要。
(8)從Delphi8開始Delphi也支持.Net框架下程序開發。
當前DELPHI 已經成為一個品牌,而不僅僅是一個開發平台或開發語言的名稱。 當前DELPHI產品已經由CodeGear公司繼續發展,該公司是BORLAND公司的全資子公司。當前,CodeGear為廣大開發者提供了DELPHI FOR PHP,以高度可視化的方式全面支持面向對象的PHP 網站開發,大大提高了PHP開發網站的代碼復用程度,成為WEB應用開發的新利器。
Delphi的發展歷程:
1995 1.0 支持16位Windows開發。基於框架(VCL)的,可拖曳、可視化的開發環境
1996 2.0 以32位編譯器為核心,支持C/S資料庫開發
1997 3.0 語法:加入介面(Interface)的機制。IDE:首次提供了(Code Insight)
1998 4.0 語法:加入動態數組和方法覆蓋等支持。IDE:增強調試能力,提供代碼模板
1999 5.0 增強了IDE和調試器,提供了TeamSource。簡化Internet的開發,增強資料庫支持
2001 6.0 提供了Web Service。跨平台的Kylix 1.0和CLX
2002 7.0 提供了.NET的過渡,增強的Internet開發(IntraWeb),完善資料庫支持,增加了Indy網路元件和Rave Report資料庫報表,並且支援UML及XP的程式製作。
2003 8.0 單純的for .NET版本,擁有C#的能力,保留了Delphi的易用性(業內視為一個過渡版本)
2004 9.0 正式名稱:Delphi 2005。語法:加入了inline及for in loop等功能。IDE:把Borland Delphi.Net、Borland Delphi Win32、Borland C#、Enterprise Core Objects等環境和功能集成成一個開發工具,因此可以在Win32和.NET開發環境中切換或同時進行
2005 10.0 發布名稱:Borland Developer Studio(BDS) 2006。集成C++ Builder; ECO(Enterprise Core Objects)升級到ECO III; 集成Together for Delphi,可以在同一個IDE中進行UML開發;QA Audits和QA Metrics可以快速的把握專案的設計和代碼的質量。
2006 Turbo Borland將BDS 2006拆分成幾個獨立的版本(Delphi for win32、Delphi for .net、C#、C++ Builder),而且不能同時安裝兩個不同的版本。由於Borland的IDE生產部份獨立成為一家名為codegear的公司,所以這個版本是以Borland名義推出的最後一個版本。
2007 11.0 正式名稱:CodeGear RAD Studio - Delphi 2007。
2008 5.7 Borland正式宣布將CodeGear子公司出售給Embarcadero(易博龍)技術公司。
2008 8.25 Embarcadero發布CodeGear Delphi 2009 Pre-release版。
Delphi是著名的Borland(現在已和Inprise合並)公司開發的可視化軟體開發工具。「真正的程序員用c,聰明的程序員用Delphi」,這句話是對Delphi最經典、最實在的描述。Delphi被稱為第四代編程語言,它具有簡單、高效、功能強大的特點。和VC相比,Delphi更簡單、更易於掌握,而在功能上卻絲毫不遜色;和VB相比,Delphi則功能更強大、更實用。可以說Delphi同時兼備了VC功能強大和VB簡單易學的特點。它一直是程序員至愛的編程工具。
Delphi具有以下的特性:基於窗體和面向對象的方法,高速的編譯器,強大的資料庫支持,與Windows編程緊密結合,強大而成熟的組件技術。但最重要的還是Object Pascal語言,它才是一切的根本。 Object Pascal語言是在Pascal語言的基礎上發展起來的,簡單易學。
Delphi提供了各種開發工具,包括集成環境、圖像編輯(Image Editor),以及各種開發資料庫的應用程序,如DesktopDataBase Expert等。除此之外,還允許用戶掛接其它的應用程序開發工具,如Borland公司的資源編輯器(Resourse Workshop)。
在Delphi眾多的優勢當中,它在資料庫方面的特長顯得尤為突出:適應於多種資料庫結構,從客戶機/服務機模式到多層數據結構模式;高效率的資料庫管理系統和新一代更先進的資料庫引擎;最新的數據分析手段和提供大量的企業組件。
Delphi發展至今,從Delphi1、Delphi2到現在的Delphi2007,不斷添加和改進各種特性,功能越來越強大。Delphi5開始添加了對IDE(集成開發環境)的很多改進新特性,擴展了資料庫支持(ADO和InterBase資料庫),帶有Internet支持的MIDAS改進版,TeamSouse版本控制工具,轉換功能,框架概念以及很多的新組件與新特性。
Delphi5功能十分完善和強大,本欄目將以它為基礎,介紹Delphi的開發環境、基本概念、控制項的使用、常用的編程方法和編程技巧。
Delphi 6.0是Borland公司最新推出的一套無論是界面還是功能都近乎完美的應用程序開發工具。與以前的Delphi版本相比,Delphi 6.0使用更簡便,效率也更高。
[編輯本段]Delphi for PHP
Delphi for PHP,縮寫(Delphp)。Delphi for PHP 2已經發布了,解決了utf8編碼問題和中文表單保存問題。請用興趣的朋友下載試用。
如果您以前安裝過Delphi for PHP,請卸載以後再安裝這個版本。這是一個full release版本.
delphi與vb比較
VB:
1 VB編譯的.EXE文件很小,但需要1M左右的DLL。
2 開發工具特性上面,vb無法編譯原生目標文件
3 vb無法對低層操作
4 vb只能使用ms的資料庫驅動
5 vb無類庫(不是指ocx,是指的framework)
6 vb無法使用C的obj文件
7 語言特性上,vb6以下版本缺少面向對象支持
8 vb無指針(正宗的指針)
9 vb的獨特就在於簡單,不是在於功能,所以要比較vb要和其它開發工具比較應該放在易用性上,一定能贏。
10 VB最大的弱點 ,不支持面向對象。這點關乎很大。
11 VB其實操作不叫簡單,叫弱,而DELPHI 那叫簡單強大。
12 VB以停止更新
13 不支持三方控制項
14 delphi具有開源性
15 運行速度沒delphi快
16 穩定性相對較弱
17 依賴性,VB 寫的東西換別的系統還要重新包裝發布,看看DELPHI 那叫綠色。
18 編譯速度,VB根本不叫編譯,類似高級腳本。DELPHI編譯的速度世界一流。
19 類庫弱,DELPHI的類庫 很多很強大 可繼承。VCL 真是個非常好的構架。
20 VB函數定義都不需要!萬一程序出錯,萬一是類型不同導致的錯誤!查都查不出來,這個可以說是一個致命的問題!
Delphi:
1 Delphi的程序通常只需要一個.EXE文件,而且它使用的VCL控制項可以編譯到.EXE中,比.OCX好。如果你編寫資料庫程序,和VB就差不多了,因為Delphi需要BDE支持。
2 開發工具特性上面,delphi可以編譯原生目標程序
3 delphi可以對低層操作
4 delphi可以使用ms的資料庫驅動或者其它的
5 delphi有vcl類庫,學習vcl可是受益匪淺的
6 delphi可以使用C的obj文件。(估計很少人這樣用,但不要說這是不可能)
7 語言特性上,delphi有面向對象支持
8 delphi有正宗的指針
1.BDE
尺寸太大, 太笨重, 一個幾百K的小程序也要3-4M,雖然功能不錯, 但人家DAO也沒這么大;
2.關於界面:
到現在, 也沒有像VB那樣, 在一個過程名字上按shift+f2, 就可以直接跳到過程的實現部分, 在delphi里, 你只有按住ctrl, 在名字上點擊, 運氣好的話, 會直接跳到實現部分, 運氣不好會跳到聲明部分, 那麼你只有再按住ctrl+shift,按上下游標鍵, 在聲明部分和實現部分切換.另外, 沒有VB中的大小寫自動變換, 自動格式化等,
3 "代碼精靈"---不知道你們叫它什麼,就是按住.後, 出來的那個列表框,可以選取構成的語句元素, 它的彈出速度總是比不上VB, 特別是第一次啟動時, 總要等上7-8秒鍾才出來, 真讓人急死,即使把它的彈出速度調到最快也不行, 不用它還真不方便,畢竟記性不是很好.--可是VB裡面是一按.號就會彈出來.
4.對中文用戶的支持:
到現在也沒有開發過一版中文的delphi
綜:
Basic簡單是因為微軟希望 VB 及 VBA維持在簡單到任何想依靠電腦來做自動化程序的用戶都可以輕易地上手, 因此雖然功能不斷上升,語言本身維持著Basic的所有特性。不過缺乏物向導向的支援及執行速度的緩慢, 確實是致命傷, 因此我建議所有的初學者, 若能有力能夠接受學習其它的語言如C++/Pascal,轉移陣地為上策。
C++ 的強大勿庸置疑, template, exception-handling, RTTI, Stardard Library等功能不斷地加入翻新, 由於使用者多, 要求必多期望必高, 再加上 C++ 本身定位於功能強大范圍廣泛的通用性語言, 如江海之納百川, C++ 自然日益復雜。著名的雜志C++ Journal 上曾有段話讓我印象頗深, "如果你認為 C++ 還不算太復雜, 那麼請你解釋何謂protected abstract virtual base pure virtual private destructor,你又會在何時需要它呢?"(Tom Cargill, C++ Journal, Fall 1990) 雖然是最流行的 OOPL, 但除非你有足夠的耐心及精神來全盤掌握它, 否則輕易嘗試的後果可能只會得到一臉的挫折。當然, 十分的復雜也帶來十分的便利及不同的樂趣, 我有一位朋友, 工作上使用其它語言, 但將C++ 當作興趣來把玩, 跟酷企鵝一樣酷呆了。
Pascal, 其實應該說是 Object Pascal, 為 Borland Delphi 所採用的語言。Pascal的嚴謹明確是自 Niklaus Wirth 發明它以來一直遵行的宗旨, 而之所以可以順利演化為完全的物件導向程式語言 Object Pascal 是由於 Inprise 公司 (原名 Borland)對 Pascal 語言的全盤掌握, 就像 FreeBSD 的 coreteam 全盤控制所有 FreeBSD套件的更新撰寫一般, Pascal 控制權控制在 Inprise 一小措人手中,雖然失去開放性,但保有該有的堅持及清新, 也因此我認為它的物向導向支援恰得其所, 該支援的全都支援了但也沒有更多。它與 C++ 的優劣是沒有答案, 見仁見智的, 正如同大禮服及小洋裝, 好不好看, 適不適合, 因人而異。

熱點內容
在配置更新的時候沒電關機怎麼辦 發布:2024-05-18 20:36:10 瀏覽:927
win7訪問win2000 發布:2024-05-18 20:27:41 瀏覽:387
青島人社局密碼多少 發布:2024-05-18 20:19:10 瀏覽:733
無法存儲呼叫轉移 發布:2024-05-18 20:18:30 瀏覽:126
資料庫的調優 發布:2024-05-18 20:18:29 瀏覽:346
sqlserver注冊表清理 發布:2024-05-18 20:13:14 瀏覽:991
linux刪除連接 發布:2024-05-18 20:06:56 瀏覽:822
linux搭建雲伺服器平台 發布:2024-05-18 19:52:21 瀏覽:402
安卓怎麼關閉美易訂閱 發布:2024-05-18 19:29:16 瀏覽:643
蘋果手機配置代理伺服器怎麼開 發布:2024-05-18 19:29:07 瀏覽:231