2009-12-31 47 views
2

我沒有安裝Delphi IDE。我還可以設計表單嗎?如何在沒有IDE的Delphi中實現winform對話框?

+0

提及WinForms是否使用.NET?如果所以這應該被標記爲Delphi-Prism – 2009-12-31 15:32:23

+0

不,我沒有安裝.NET。 – user198729 2009-12-31 15:45:58

+0

瞭解您使用的Delphi版本會有幫助。例如,Delphi 2007,2009和2010使用MSBuild,並有一個批處理文件來設置所有的環境變量。此外,德爾福自D8/D2005以來不做WinForms。 – 2009-12-31 15:46:10

回答

3

使用Win32: 文件|新單位,那麼你完全控制了代碼。

var 
    F : TForm; 
    L : TLabel; 
begin 
    F := TForm.Create(Application); 
    L := TLabel.Create(F); 
    L.Parent := F; // Needed to have it show up on the form. 
    L.Left := 50; 
    L.Top := 50; 
    L.Caption := 'This is an example'; 
    F.Show; 
end; 

在.NET /德爾福棱鏡: 右鍵單擊該項目|新建項目|類

namespace WindowsApplication2.Properties; 

interface 

uses 
    System.Windows.Forms, 
    System.Collections.Generic, 
    System.Linq, 
    System.Text; 

type 
    Class1 = public class(System.Windows.Forms.Form) 
    private 
    protected 
    lablel1 : Label; 
    public 
    constructor; 
    end; 

implementation 

constructor Class1; 
begin 
    self.label1 := new System.Windows.Forms.Label(); 
    self.SuspendLayout(); 

    self.label1.AutoSize := true; 
    self.label1.Location := new System.Drawing.Point(37, 80); 
    self.label1.Name := 'label1'; 
    self.label1.Size := new System.Drawing.Size(35, 13); 
    self.label1.TabIndex := 0; 
    self.label1.Text := 'This is an Example'; 

    self.ResumeLayout(false); 
    self.PerformLayout(); 
end; 

end. 
0

首先,你不需要德爾福IDE運行德爾福程序。德爾福產生(通常)獨立.EXE應用程序,所以

foo.exe的

按預期工作。

其次,你可以用命令行編譯器編譯你的Delphi項目。確切的語法取決於你安裝的Delphi版本。看看this post 或搜索Delphi命令行編譯器

+0

你不需要IDE來生成res文件嗎? – 2009-12-31 16:37:24

+1

不,Marco。您可以使用brcc32.exe編譯資源文件。 – 2009-12-31 19:06:52

3

從你的答案中假設你沒有安裝任何編譯器。爲了編譯Delphi代碼,你需要一個編譯器。 Delphi沒有免費的版本,除非你能找到一箇舊的版本,否則你不得不購買Delphi。 Delphi帶有一個像gcc這樣的命令行編譯器,並且可以在沒有IDE的情況下編譯程序。

德爾福2006年和Win32前:

dcc32 YourProject.dpr 

德爾福2006年和.Net前:

dccil YourProject.dpr 

德爾福2007年後:

msbuild YourProject.dproj 

這將導致一個編譯的二進制如果是EXE,你可以像你習慣的那樣運行它。

Robert Love完美地解釋瞭如何編寫代碼來顯示GUI,而無需在IDE中使用設計器。這樣可以節省你的錢,因爲無論如何你必須購買IDE才能獲得命令行編譯器。

德爾福有免費的替代品,如FreePascal和他們的免費IDE Lazarus。我沒有檢查過自己,但我很確定它也帶有一個命令行編譯器。

+0

D2007 + afaik do dcc32也可以。我會將msbuild更多地與舊版本中的make相比,而不是dcc32。免費的Pascal在每個體系結構中都有一個命令行編譯器「ppc 」,並且在它們之間進行切換的前端二進制文件「fpc」 – 2009-12-31 16:34:24

+0

確實如此,但D2007和更高版本不再使用.cfg文件,因此您將錯過任何已設置的項目選項,必須提供它們作爲參數。 – 2009-12-31 16:42:18

0

請注意,已經提到的Lazarus也帶有一個類似Delphi的設計器。

相關問題