【问题标题】:How to implement a winform dialog in Delphi without IDE?如何在没有IDE的情况下在Delphi中实现winform对话框?
【发布时间】:2010-12-31 10:34:11
【问题描述】:

我没有安装 Delphi IDE。我还能设计表单吗?

【问题讨论】:

  • 提及 WinForms 你在使用 .NET 吗?如果是这样,这应该被标记为 Delphi-Prism
  • 不,我没有安装 .NET。
  • 这是两个问题:在delphi和命令行编译器中设计表单
  • 欢迎来到 Stack Overflow。正如你刚刚承认的,你有两个问题。因此,请发布两个问题。他们确实有完全不同的答案,所以你不应该要求每个人都必须知道两者的答案才能发布一个回复。由于您现在的答案是关于您的第一个问题,因此我编辑了正文以匹配标题。请发布 another 问题,询问如何在没有 IDE 的情况下进行编译。
  • 另外,问两个问题会给你双倍的声望点机会。他们都是很好的问题,但如果他们被困在一起,我不能同时投票。此外,它们一起不是一个很好的单一问题。

标签: delphi form-designer


【解决方案1】:

使用 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 / Delphi Prism 中: 右键单击项目|新建项目|类

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.

【讨论】:

    【解决方案2】:

    首先,您不需要 Delphi IDE 来运行 Delphi 程序。 Delphi 生成(通常)独立的 .EXE 应用程序,所以

    foo.exe

    按预期工作。

    其次,您可以使用命令行编译器编译您的 Delphi 项目。确切的语法取决于您安装的 Delphi 版本。看看this post 或者搜索Delphi命令行编译器

    【讨论】:

    • 你不需要IDE来生成res文件吗?
    • 不,马可。您可以使用 brcc32.exe 编译资源文件。
    【解决方案3】:

    假设您没有安装任何编译器。为了编译 Delphi 代码,您需要一个编译器。 Delphi 不再提供免费版本,因此除非您能找到旧版本,否则您将不得不购买 Delphi。 Delphi 自带 gcc 等命令行编译器,无需 IDE 也能编译程序。

    Delphi 2006 和 win32 之前的版本:

    dcc32 YourProject.dpr
    

    Delphi 2006 及之前的 .Net:

    dccil YourProject.dpr
    

    Delphi 2007 及之后:

    msbuild YourProject.dproj
    

    这将生成一个已编译的二进制文件,如果是 EXE,您可以像以前一样运行它。

    Robert Love 完美地解释了如何在不使用 IDE 中的设计器的情况下编写代码来显示 GUI。这不会为您省钱,因为无论如何您都必须购买 IDE 才能获得命令行编译器。

    Delphi 有免费的替代品,例如 FreePascal 和他们的免费 IDE Lazarus。我自己没有检查过,但我很确定它也带有命令行编译器。

    【讨论】:

    • D2007+ afaik 做 dcc32 也很好。我会将 msbuild 更多地等同于旧版本中的 make,而不是 dcc32。 Free Pascal 每个架构都有一个命令行编译器“ppc”,还有一个前端二进制文件“fpc”在它们之间切换
    • 是的,但 D2007 及更高版本不再使用 .cfg 文件,因此您将错过您设置的任何项目选项,并且必须将它们作为参数提供。
    【解决方案4】:

    请注意,已经提到的 Lazarus 还带有类似 Delphi 的设计器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 2013-06-15
      • 2016-05-19
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      相关资源
      最近更新 更多