小问题,大分数,要抢分的请抓紧!(100分)

  • 主题发起人 主题发起人 wwwei
  • 开始时间 开始时间
W

wwwei

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi中如何像VF中那样定义类(最好给个例子),且如何调用?
 
VFP中我不知道,Delphi中是
TMyClass = class
private
FTerminated: Boolean;
FSuspended: Boolean;
protected
proceduredo
Terminate;
virtual;
public
constructor Create(CreateSuspended: Boolean);
destructor Destroy;
override;
end;
 
1.点击File/New,选择建立一个Unit
2.开始编码,例子如下:
unit ReaderClass;
// Unit的名字
interface // 接口
uses Windows......;
// 引用的package
Type // 开始定义类
TBBS = class (TObject) // 该类是从TObject类派生的
ID: Integer;
// 该类的publish变量
......
procedure Findcc(Astr: TStrings);
// 该类的publish函数
......
end;
private // 该类的private(私有)变量,函数
{ Private declarations }
......
public // 该类的public(公有)变量,函数
{ Public declarations }
......
end;

implementation // 该类的函数声明
procedure TBBS.Findcc(Astr: TStrings);
begin
end;

end.

然后在您的文件里头的Interface中写上Uses ReaderClass;
就可以引用了!打个比方:
procedure dd;
var b : TBBS;
begin
b := TBBS.Create;
end;

不好意思,忘记问了,vf中的类和C++, Java, Delphi中的类应该没有区别吧?
 
哎,懒得写了,想得分,却又懒
 
类?
TFORM1就是个类,看看吧
所谓VF的类是控件吗?
NEW一个,或者随便找个3DLABEL看看
推荐狂人工作组的 电子书库
 
这是一个继承的TBUTTON的控件,是否是你指的类呢?
unit ListBtn;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, extctrls;
type
TListBtn = class(TButton)
private
{ Private declarations }
FOwner: TCustomEdit;
procedure FSetOwner(Sender: TCustomEdit);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner: TComponent);
override;
procedure Click;
override;
published
{ Published declarations }
property Owner: TCustomEdit read FOwner write FSetOwner;
end;

procedure Register;
implementation
{$R LISTBTN.RES}
procedure Register;
begin
RegisterComponents('User Define', [TListBtn]);
end;

constructor TListBtn.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Width := 21;
Height := 21;
Constraints.MaxHeight := 21;
Constraints.MaxWidth := 21;
Constraints.MinHeight := 21;
Constraints.MinWidth := 21;
Font.Name := 'SYSTEM';
Font.Size := 8;
Caption := '...';
TabStop := False;
end;

procedure TListBtn.Click;
begin
if not (Visible and Enabled) then
exit;
if FOwner <> nil then
begin
if not (FOwner.Enabled and FOwner.Visible) then
exit;
FOwner.SetFocus;
end;

inherited Click;
end;

procedure TListBtn.FSetOwner(Sender: TCustomEdit);
begin
FOwner := Sender;
if (Sender = nil) then
exit;
Left := Sender.Left + Sender.Width + 1;
Top := Sender.Top;
end;

end.
 
xixi的答案最接近我所需,故应得60分,也麻烦茶叶蛋了,给个30分为苦劳,
10分送给cj,烦告知推荐狂人工作组的 电子书库的网址,谢谢各位大虾!
 
多人接受答案了。
 
后退
顶部