新手的问题,运行不了?(0分)

  • 主题发起人 lwslws0208
  • 开始时间
L

lwslws0208

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
procedure FormKeyPress(Sender: TObject;
var Key: Char);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
const x:integer=1;
y:integer=1;
procedure TForm1.FormKeyPress(Sender: TObject;
var Key: Char);
begin
inc(x,10);
if x>400 then
begin
inc(y,20);
x:=1;
end;
canvas.TextOut(x,y,key);
begin
UserTypedString:=UserTypedString+key;
Invalidate;
end;
end;

procedure TForm1.FormPaint(Sender: TObject);
var rect:trect;
begin
rect.left:=1;
rect.top:=1;
rect.right:=200;
rect.bottom:=30;
canvas.TextRect(rect,0,0,UserTypedString);
end;
end.
 
你请首先看看delphi的帮助
关于inc(var x, N)中x是一个变量,你在程序初始化时把x定义为const常量,程序当然出错了。
 
常量是不能再赋值得。
改成var x,y:integer;
在form的 create事件中赋初值
看来真是新手,1分也没有,但没关系
 
新手谢谢鼓励,可是:
1,UserTypedString:=UserTypedString+key;,
2,canvas.TextRect(rect,0,0,UserTypedString);
2处有误???[:(]
 
UserTypedString好象没见过这样的东东,在这会不会是一变量,你定义一下
UserTypedString如何
 
var UserTypedString:string;
UserTypedString是一个变量,是需要声明的,可放在const声明的后面.
pascal是很严谨的,变量不声明是不能引用的,这和basic是不一样的
 
接受答案了.
 
顶部