我有个变量想让他在程序运行从头到尾都被所有过程或函数所共有,请问有什么方法,还是其他方法,谢谢,请副原吗

解决方案 »

  1.   

    創建一個專有變量unit,在需要的uses裡調用就可。
      

  2.   

    unit 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 }
        aa:string;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
            aa:='dfdsf';
            showmessage(aa);
    end;end.
      

  3.   

    通常放在数据模块或主程序的public里.
      

  4.   

    一般来说,在datamodule的的public中定义全局变量,这样引用的时候也比较方便:unit DataModule_Unt;interfaceuses
      SysUtils, Classes, DB, ADODB, ImgList, Controls;type
      TDataModule1 = class(TDataModule)
        ADOConnection1: TADOConnection;
        SmallImage: TImageList;
        LargeImage: TImageList;
      private
        { Private declarations }
      public
        UserName,     {当前用户名}
        UserCode,     {当前用户编号}
        ZhangTao,     {帐套}
        depart:String;  {用户所在部门}
        CurrDate:TDateTime; {服务器当前系统日期}  end;var
      DataModule1: TDataModule1;implementation{$R *.dfm}end.
      

  5.   

    unit U_Public;interfaceuses
      SysUtils, Classes, DB, ADODB, ImgList, Controls;Type
      //可以在此处定义公共类const
      //可以在此处定义静态全局变量
      C_sLoginName='sa';
      C_sLoginPassword='sa';var
      //可以在此处定义全局变量或公共函数
      UserName:string;
      function LoginIn(UserName:string):boolean;implementationfunction LoginIn;
    begin
      result:=UserName='administrator';
    end;end;在使用公共变量的单元中只要将U_public引用进来就可以。