关于自定义过程或函数的问题 (50分)

  • 主题发起人 主题发起人 hgtzy
  • 开始时间 开始时间
H

hgtzy

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中自定义了一段过程,但程序无法通过,好像是没有在Type中说明些过程
请问是这样吗?如果要定义,该如何定义?

在自定义过程中给窗体某控件属性赋值,是否得先说明该控件;在自定义过程中调用其它过程前,是否也得说明将要调用的过程
如果是,那又如何说明,是在自定义过程里说明吗?用type里说明吗?麻烦举个例子

答的好,我亲自加分,以表示感谢
 
.....
.....
function createqry(databasename:string):Tquery;

var
.....
implementation
uses ...

function createqry(databasename:string):Tquery;
var
qry:Tquery;
begin
qry:=tquery.Create(nil);
qry.Close;
qry.DatabaseName:=databasename;
qry.SQL.Clear;
Result:=qry;
end;
 
给你个例子:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure yourpro(var str1 :string);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.yourpro(var str1: string);
begin
ShowMessage(str1);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
str2 :string;
begin
str2 :=Edit1.Text;
YourPro(str2);
end;
end.

至于
form1.hide;
form2.show;
是需要在 Project->Options->Forms 中把表单设成手动创建(Available forms)才有用的。
 
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure yourpro(var str1 :string)
//这就是自定义过程的说明吗?
procedure Button1Click(Sender: TObject);
private
{ Private declarations } //这一条是什么意思
public
{ Public declarations } //这一条是什么意思
end;

var
Form1: TForm1;

implementation //这一条是什么意思

{$R *.dfm} //这一条是什么意思
 
你可真好学呀,我要向你学习;
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure yourpro(var str1 :string)
//这是声明部分;每个过程,函数都要声明
procedure Button1Click(Sender: TObject);
private
{ Private declarations } //这条是注释,意思是在这里声明私有成员
public
{ Public declarations } //这条也是注释,意思是在这里声明公有成员
end;

var
Form1: TForm1;

implementation //这条语句下是具体的实现

{$R *.dfm} //装入和表单同名的 .dfm 文件,该文件存放表单上所有控件的属性

 
我来回答问题2
你2条语句换个位置试试,比如放到按钮的事件里,
先show 2,在hide 1。
 
问题2 是否忘了包含头文件,
 
hgtzy:
在自定义过程中给窗体某控件属性赋值,是否得先说明该控件;在自定义过程中调用其它过程前,是否也得说明将要调用的过程
如果是,那又如何说明,是在自定义过程里说明吗?用type里说明吗?麻烦举个例子

答的好,我亲自加分,以表示感谢
 
后退
顶部