我想把一些常用的函数或过程放到哪里去以后就不用每个窗体都要重做一遍。菜鸟问题勿笑

解决方案 »

  1.   

    其实VB的每个单元都算一个模块,只不过frm是比较专用的,你也完全可以把供应函数写到frm中,呵呵。Delphi只不过是把每个单元都叫做Unit了。VB查找函数时会全工程查找,Delphi只会在Uses部分指定的单元中查找,所以要用到某个单元的函数,一定要Uses该单元。
      

  2.   

    unit FjModule;interfacetype
       procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    end;implementationend.// 分解子串
    procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    begin
      s := OutStr;
       for i := 1 to parameternum do begin
        parameter[i] := ''; //先置空    if Pos(strsplit, OutStr) > 0 then begin
          parameter[i] := copy(OutStr, 1, Pos(strsplit, OutStr) - 1);
          OutStr := copy(OutStr, Pos(strsplit, OutStr) + 2, length(OutStr) - Pos(strsplit, OutStr));
        end;    if Pos(strsplit, OutStr) = 0 then begin
          parameter[i + 1] := OutStr;
          exit;
        end;
      end;
    end;
    不行报错!?????
      

  3.   

    unit,module都可以呀,unit单元就可以用作公共函数库了,module一般是放数据库操作控件的
      

  4.   

    或者把函數寫到一個*.pas文件裡面,使用的時候,將它引用後,將此pas文件保存在工程的同一個目錄裡面,這樣就可以引用你寫的函數了.
      

  5.   

    单元使用函数有先引用,你的单元加上引用单元
    我帮你调通:unit FjModule;interface   procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    implementation// 分解子串
    procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    var
    s:string;
    i:integer;
    begin
    {   s := OutStr;
       for i := 1 to parameternum do begin
        parameternum[i] := ''; //先置空    if Pos(strsplit, OutStr) > 0 then begin
          parameter[i] := copy(OutStr, 1, Pos(strsplit, OutStr) - 1);
          OutStr := copy(OutStr, Pos(strsplit, OutStr) + 2, length(OutStr) - Pos(strsplit, OutStr));
        end;    if Pos(strsplit, OutStr) = 0 then begin
          parameter[i + 1] := OutStr;
          exit;
        end;
      end;
    }
    end;
    end.
      

  6.   

    unit FjModule;interface
    uses
      Windows, Messages, SysUtils;
      procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    var
    parameter:array[0..255] of  string;implementation// 分解子串
    procedure GetSubItem(parameternum: integer; OutStr,strsplit: string);
    var
    i:integer;
    begin   for i := 1 to parameternum do begin
        parameter[i] := ''; //先置空
       end;
    end;大家看看怎么引用?
      

  7.   

    调通是调通了可是报错
    [Error] File not found: 'FjModule.dfm'