我想写一个公共的单元能够让其他的窗体都可以调用里边的方法
怎么写???最好有个范例

解决方案 »

  1.   

    新增一个Unit,
    写一些方法。
    在另外的窗体调用时,在Uses 里加入该单元。
    就可以调用了。
      

  2.   

    那么UNIT里边是unit 
    Unit1;interfaceimplementationend.
    里边要加什么东西吗??我指的是
    {$R *.dfm}
    之类的东西
      

  3.   

    Unit PublicClass
    ...
    Interface
    TPublicClass = Class;
    Public
      Procedure JS;
    ....
    ..procedure TPublicClass.Js;
      //....SFSZ定义
      Function SFSZ : Boolean;///
      var
        I , J :Integer;
      begin
        Result := False;
        Try
          For I := 0 to ScrollBox1.ControlCount - 1 do
          begin
            if ScrollBox1.Controls[I] Is TEdit then
            begin
              if Not ((( TEdit(ScrollBox1.Controls[I]).Tag ) >= 12) and
                     (TEdit(ScrollBox1.Controls[I]).Tag <= 41 )) then
                Continue;
              if TEdit(ScrollBox1.Controls[I]).Text = '' then
              begin
                Continue;
              end;
              StrToFloat(TEdit(ScrollBox1.Controls[I]).Text);
            end;
          end;
        Except
          Application.MessageBox('对不起,数据类型不正确,请检查后再进行操作','操作提示',MB_OK + MB_ICONINFORMATION);
          TEdit(ScrollBox1.Controls[I]).Clear;
          TEdit(ScrollBox1.Controls[I]).SetFocus;
          Result := False;
          Exit;
        end;
        Result := True;
      end;
    var
      I , J , L ,Tagvalue: Integer;
      TempV , TempX,TempS , TempE : TControl;
    begin
      //..
      if Not SFSZ then
        Exit;
      for I := 0 to ScrollBox1.ControlCount - 1 do
      begin
        TempV := ScrollBox1.Controls[I];
        if TempV Is TEdit then
        begin
          if (TEdit(TempV).Tag >= 12) and (TEdit(TempV).Tag <= 21 ) then
          begin
            if TEdit(TempV).Text <> '' then
            begin
              //..
              if Trim(mjEdt.Text) = '' then
                Break;
              Tagvalue := TEdit(TempV).Tag;
              for J := 0 to ScrollBox1.ControlCount - 1 do
              begin
                TempX := ScrollBox1.Controls[J];
                if TempX Is TEdit then
                begin
                  if TEdit(TempX).Tag = Tagvalue + 100 then
                  begin
                    TEdit(TempX).Text := IntToStr(Trunc(1000*(StrToFloat(Trim(TEdit(TempV).Text))/
                                             StrToFloat(Trim(mjEdt.Text)))));
                  end;
                end;
              end;
            end;
          end else
          //.....伸长率
          begin
            TempS := TempV;
            if (TEdit(TempS).Tag >= 22) and (TEdit(TempS).Tag <= 41 ) then
            begin
              if Trim(TEdit(TempS).Text) <> '' then
              begin
                Tagvalue := TEdit(TempS).Tag;
                for J := 0 to ScrollBox1.ControlCount - 1 do
                begin
                  if ScrollBox1.Controls[J] Is TEdit then
                  begin
                    TempV := ScrollBox1.Controls[J];
                    if TEdit(TempV).Tag = Tagvalue + 1  then
                    begin
                      TempE := TempV;
                      for L := 0 to ScrollBox1.ControlCount - 1 do
                      begin
                        if ScrollBox1.Controls[L] Is TEdit then
                        begin
                          TempV := ScrollBox1.Controls[L];
                          if TEdit(TempV).Tag = Tagvalue + 100  then
                          begin
                            TEdit(TempV).Text := FormatFloat('#.##',100*(StrToFloat(Trim(
                                                 TEdit(TempE).Text)) - StrToFloat(Trim(
                                                 TEdit(TempS).Text)))/StrToFloat(Trim(
                                                 TEdit(TempS).Text)) );
                          end;
                        end;
                      end;
                    end;
                  end;
                end;
              end;
            end;
          end;
          ////....伸长率
        end;
      end;
    end;Unit Unit2;
    ..
    Uses
      PublicClass;
    ...
      ...JS;//调用
      

  4.   

    Unit1;interfaceuses 
    //你所引用的单元
    type
    //申明过程,函数
    private
    ……
    public
    ……end;
    implementationprocedure ……
    ……
    //代码区
    end.
      

  5.   

    只建立一个unit,来写代码就可以了
    然后其他的窗体再来引用这个unit
      

  6.   

    file => new => unit
    这样新建一个unit
     写函数过程时,一定要在implementation之前申明
    不要忘了
     在uses 中加入函数中需要的单元引用