我沒有安裝Delphi IDE。我還可以設計表單嗎?如何在沒有IDE的Delphi中實現winform對話框?
回答
使用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.
首先,你不需要德爾福IDE運行德爾福程序。德爾福產生(通常)獨立.EXE應用程序,所以
foo.exe的
按預期工作。
其次,你可以用命令行編譯器編譯你的Delphi項目。確切的語法取決於你安裝的Delphi版本。看看this post 或搜索Delphi命令行編譯器
你不需要IDE來生成res文件嗎? – 2009-12-31 16:37:24
不,Marco。您可以使用brcc32.exe編譯資源文件。 – 2009-12-31 19:06:52
從你的答案中假設你沒有安裝任何編譯器。爲了編譯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。我沒有檢查過自己,但我很確定它也帶有一個命令行編譯器。
D2007 + afaik do dcc32也可以。我會將msbuild更多地與舊版本中的make相比,而不是dcc32。免費的Pascal在每個體系結構中都有一個命令行編譯器「ppc
確實如此,但D2007和更高版本不再使用.cfg文件,因此您將錯過任何已設置的項目選項,必須提供它們作爲參數。 – 2009-12-31 16:42:18
請注意,已經提到的Lazarus也帶有一個類似Delphi的設計器。
- 1. 如何在Jquery UI對話框中實現「確認」對話框?
- 2. 如何移動Winform對話框
- 3. 在JavaScript中實現save.As()對話框csv
- 4. 沒有出現System.Windows.Forms.WebBrowser登錄對話框
- 5. 如何在非模態對話框上正確實現模態對話框?
- 6. 我們如何在cocos2d中實現輸入對話框
- 7. 如何在對話框中實現onWindowFocusChange()方法(Android)
- 8. 如何在iOS中實現彈出對話框
- 9. 在mfc中如何實現可停靠對話框?
- 10. 如何在Delphi中中斷查找對話框?
- 11. 如何在Delphi中集中Windows異常對話框?
- 12. Delphi 7圖片對話框中的GIF
- 13. 禁用對話框webbrowser delphi
- 14. 如何在Delphi中實現Levenshtein距離?
- 15. 如何在Delphi中實現alloc()?
- 16. 如何在Delphi中實現引用計數的對象
- 17. 按鈕沒有出現在jQuery對話框中
- 18. 如何從OnClick中消除對話框而沒有參考對話框
- 19. 如何在沒有AlertDialog的情況下在自定義對話框中實現取消按鈕?
- 20. 需要在我的Delphi XE4 IDE識別這種「出現在編譯之前」對話框
- 21. 的Galaxy Nexus並沒有出現在設備選擇對話框
- 22. 對話框沒有關閉
- 23. 沒有授權對話框
- 24. 實現在Delphi中Mediator模式沒有得到循環引用
- 25. 實現爲Winform的
- 26. 在Delphi中實現vector類?
- 27. 有沒有更好的方法來與react.js實現對話?
- 28. 返回沃森對話對話框中的所有實體值
- 29. 如何實現不同活動的對話框?
- 30. 是否有任何實現基本IDE結構的Delphi開源項目?
提及WinForms是否使用.NET?如果所以這應該被標記爲Delphi-Prism – 2009-12-31 15:32:23
不,我沒有安裝.NET。 – user198729 2009-12-31 15:45:58
瞭解您使用的Delphi版本會有幫助。例如,Delphi 2007,2009和2010使用MSBuild,並有一個批處理文件來設置所有的環境變量。此外,德爾福自D8/D2005以來不做WinForms。 – 2009-12-31 15:46:10