请问在哪里定义全局变量和函数、过程?要整个工程都可以引用。
定义完后,函数、工程体在哪里写?变量值在哪里赋?
给个小程序最好

解决方案 »

  1.   

    新建一個公用的Unit, 將全局的東西都寫在裹面, 其它, 要用到的就 uses 就可!
      

  2.   

    第一个unitunit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementationuses Unit2; //引用unit2{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      GetSystemVersion;
    end;end.
    第二个:unit Unit2;interfaceuses
      Dialogs;const
      SystemVersion = '1.0';  //(全局变量)  //得到系统版本 (全局函数)
      procedure GetSystemVersion;
    implementationprocedure GetSystemVersion;
    begin
      Showmessage(SystemVersion);
    end;end.
    顺便作广告:(请求帮助)
    http://expert.csdn.net/Expert/topic/2440/2440285.xml?temp=.5369837
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, DB, ADODB;type
      TForm1 = class(TForm)
        ADOQuery1: TADOQuery;
        Button1: TButton;
        Label1: TLabel;
        Label2: TLabel;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        Globle_str:string;//全局变量
        function GetSysdate:TdateTime; // 全局函数
      end;var
      Form1: TForm1;
    implementation{$R *.dfm}
    function TForm1.GetSysdate :tdatetime;
    begin
       adoquery1.Close;
       adoquery1.SQL.Clear ;
       adoquery1.SQL.Add('select sysdate from dual');
       adoquery1.Open ;
       result:=adoquery1.fieldbyname('sysdate').AsDateTime ;
    end;
    在public中定义时候,必须全局变量在全局函数或过程前.
    在其它form应用时候,必须form1.Getsystem
      

  4.   

    在一个单元的interface和implementation之间定义的变量和说明的过程函数都是全局变量,全局过程、函数