首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

新手请问,delphi如何建立,使用function和 procedure。象VB的function 和SUB那样

2013-02-27 
新手请教,delphi怎么建立,使用function和 procedure。象VB的function 和SUB那样。function DBGridAutoSize(m

新手请教,delphi怎么建立,使用function和 procedure。象VB的function 和SUB那样。

function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 15): Boolean;
var
  I: Integer;
begin
  Result := False;
  if not Assigned(mDBGrid) then
    Exit;
  if not Assigned(mDBGrid.DataSource) then
    Exit;
  if not Assigned(mDBGrid.DataSource.DataSet) then
    Exit;
  if not mDBGrid.DataSource.DataSet.Active then
    Exit;
  for I := 0 to mDBGrid.Columns.Count - 1 do
  begin
    if not mDBGrid.Columns[I].Visible then
      Continue;
    DBGridRecordSize(mdbgrid.Columns[i]);
    if Assigned(mDBGrid.Columns[I].Field) then
      mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
        mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
    else
      mDBGrid.Columns[I].Width :=
        mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
    mDBGrid.Refresh;
    //  Application.ProcessMessages;
  end;
  Result := True;
end; { DBGridAutoSize }


这个函数是别人给写的,关于给表格自动列宽的,这时我想用它的话,要怎么写?

我用的时候老是不通过
[解决办法]
象你这样把abc函数变成form1窗体的成员函数,是一种办法,但一般应该放在private或public中

第二种办法,不把abc变成窗体的成员函数,只要把
function abc():string ;
begin
  abc = "123"
end;

放在procedure TForm1.Button1Click(Sender: TObject);这一行之前就行。

还有,根据你的意思,abc函数应该写成这样:
function abc:string;
begin
  Result:='123';
end;

热点排行