本人原来学BCB。
现在想学Delphi了,所以,问的问题有点菜,请别见笑。
在C中,我们常常把一些常用的代码和函数写在一个头文件中,需要时来个包含就可以了(基本等效于把那个文件插入当前位置)。
我想问Delphi中可以这样做吗?具体做法如何?不拆分,如果可以做到,给出一个示例,如果不能,告诉我办不到就可以了,呵。在此先谢过大家。

解决方案 »

  1.   

    可以,新建一个单元unith,写好了函数后然后保存到一个目录中,以后用到了,先添加进来,然后 uses unith;就可以用其中的函数、变量了,
      

  2.   

    不好意思,我是这样做的:新建一个文本文件,并改名为Disk.pas
    在Disk.pas里写入以下内容:unit Disk;
    interface
    implementation
    function MyFunDEMO : String;
    begin
      Result := 'ABCD';
    end;
    end.新建一个工程,在工程里写入以下内容:unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,Disk;//最后一个Disk是偶加的。type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
    Edit1.Text := MyFunDEMO(); //这里我试着调Disk.pas里的函数。
    end;end.//结果是通不过,找不到MyFunDEMO(); 哦……
    //"先添加进来"我也试了,没用咯……
      

  3.   

    在delphi菜单的tools的第一项的library下,有个library path,有三个点的按钮把你的文件所在的路径加进去,应该就ok。
    这个表示delphi在编译的时候,会去这个路径找相应的文件
      

  4.   

    在Disk.pas里应该这样写:unit Disk;
    interfacefunction MyFunDEMO : String;//注意此行implementation
    function MyFunDEMO : String;
    begin
      Result := 'ABCD';
    end;
    end.
    ---------------
    你只是写了实现部分,并没有写定义部分
      

  5.   

    不是这样的,在delphi上不是有一个“+”和一个“-”在一起的吗?那就是添加单元的,
      

  6.   

    非常感谢大家的热情帮助。
    问题解决。
    很开心……和和,在C中,如果函数写在前面,使用时可以不要先定义,原来Delphi中不可以。Delphi对语法看来比C要严格很多。再次谢谢大家。
      

  7.   

    结贴时好象又出了问题,闷!
    CSDN论坛不完善哦……
      

  8.   

    你可以写一个UNIT文件.里面有你想要的函数,然后MAIN中的implementation部分,Uese你的单元即可,或可以到网上看看别的人例子,也许会对你有所帮助的.