问个简单的问题.全局变量和函数应该写在那里??

解决方案 »

  1.   

    var
      Form1: TForm1;
    //这里
    implementation
      

  2.   

    可以新建一个 public unit
      

  3.   

    interface后implementation前是对所有单元都有效, 
    implementation是对本单元有效!~~~
      

  4.   

    放到
      ...
      public
        { Public declarations }
        // 全局变量
      end;var
      Form1: Form1;
      ...
      

  5.   

    就如 kdg2000(天涯) 所说:
      可以新建一个 public unit每个需要用到全局函数/变量的只要uses这个单元即可
      
     
      

  6.   

    tglong(Dragon):
    public段并不是全局的。
      

  7.   

    private
        { Private declarations }
     function matchit(str:string):boolean;
     function fullmatch(str:string):boolean;
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      m_strSZXB:array of string;
      

  8.   

    可以新建一个 public unit
    这个办法比较好些!可有些函数在unit中无法使用。
    如while i < strlen(pystring) do放在unit后报错。
    代码如下:
    function getpy(hzchar: string):char;
    var
    HzcharWord:Word;
    begin
      HzcharWord:=WORD(hzchar[1]) shl 8 + WORD(hzchar[2]);
      case HzcharWord of
        $B0A1..$B0C4: Result:='A'; $B0C5..$B2C0: Result:='B';
        $B2C1..$B4ED: Result:='C'; $B4EE..$B6E9: Result:='D';
        $B6EA..$B7A1: Result:='E'; $B7A2..$B8C0: Result:='F';
        $B8C1..$B9FD: Result:='G'; $B9FE..$BBF6: Result:='H';
        $BBF7..$BFA5: Result:='J'; $BFA6..$C0AB: Result:='K';
        $C0AC..$C2E7: Result:='L'; $C2E8..$C4C2: Result:='M';
        $C4C3..$C5B5: Result:='N'; $C5B6..$C5BD: Result:='O';
        $C5BE..$C6D9: Result:='P'; $C6DA..$C8BA: Result:='Q';
        $C8BB..$C8F5: Result:='R'; $C8F6..$CBF9: Result:='S';
        $CBFA..$CDD9: Result:='T'; $CDDA..$CEF3: Result:='W';
        $CEF4..$D1B8: Result:='X'; $D1B9..$D4D0: Result:='Y';
        $D4D1..$D7F9: Result:='Z';
      else
        result:=char(0);
      end
    end;function convert_py(pystring:String):String;
    var
      i:Integer;
      tmpStr:String;
    begin
     i:=1;
     Result:='';
     while i < strlen(pystring) do
        begin
           tmpStr:=getpy(Copy(pystring,i,2));
           if tmpStr <> Char(0) then
             begin
              Result:=Result+tmpStr;
              i:=i + 2;
             end
           else
             begin
              Result:=Result+copy(pystring,i,1);
              i:=i + 1;
             end;
        end
    end;
      

  9.   

    为什么这段代码加在close事件中没有起到作用,不论是选yes还是no都会退出。
     i:=Application.MessageBox('是否要退出?','提示',1);
       If i=7 Then
         exit
       else
        begin
         ADOConnection1.Close;
         Application.Terminate;
        end
      

  10.   

    楼上:
    var
      i: integer;
    begin
      i := Application.MessageBox('是否要退出?', '提示', MB_OKCANCEL);
      if i = IDOK  then
        // close the form
      else begin
        ShowMessage('Form not closed');
        Action := caNone;
      end;
    end;你干吗非得用什么1,7的硬编码?