PASCAL语法问题?(20分)

  • 主题发起人 主题发起人 str
  • 开始时间 开始时间
S

str

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位帮我解释一下//??? 部分?
这是标准PASCAL语法吗?这样写有何作用?
type
TForm1 = class(TForm)
Button1: TButton;
timer1: TTimer;
ttcanvas: TImage;
procedure Button1Click(Sender: TObject);
procedure timerdiTimer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
x,y:integer;
implementation
{$R *.DFM}
procedure TForm1.button1click(Sender: TObject);
begin
//......
end;

var //???
i:integer;
//???

//??? 下面这个过程并没有在程序头TYPE中声明
procedure movestring(TTCanvas:timage;timerdi:ttimer;countrun:integer);
begin
// .........
for i:=0 to 10do
begin
//.........
end;
end;

var //???
countrun:integer=0;
//???
procedure TForm1.Timer1Timer(Sender: TObject);
begin
countrun:=countrun+1;
if countrun=1 then
begin
//.........
end;
movestring(ttcanvas,timer1,countrun);
end;
 
因为他们不是form的成员,所以不在前面form的定义里面.
只是一个纯粹的procedure
 
学了Object Pascal 反倒看不惯标准的pascal语句了.
并不是所有的过程都要包装成类.
当然,如果过程是通用的,可以放进一个公共单元.
 
是标准PASCAL语法,定义变量,副职。
 
1. 类型定义, 变量定义, 过程声明并不一定要按顺序来, 可以由多个
类型定义, 变量定义部分
2. 过程定义并不是在type ,中定义;纯属习惯问题.
3. 过程不一定要声明, 只要保证她前面定义的过程没有引用她就没问题
下面例子可以正常编译:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
procedure pp;
// 注意
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var i:integer;
//注意
type
tt=integer;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure pp;
begin
end;
procedure p2;
// 无声明
begin
end;
end.
 
分太少了。对不住了。
 
后退
顶部