调用窗体的问题 ( 积分: 10 )

  • 主题发起人 主题发起人 emeng
  • 开始时间 开始时间
E

emeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我建立了一个新工程保存为工程p1,文件(unit)是a1.pas,并将表name改为b1,添加一个按钮button1。关闭
新建一个工程保存为工程p2,文件a2.pas,表name改为b2,添加一个按钮button1.
a1.pas uses a2;
clickbutton1设置为 b2.showmodal();
运行以后点击工程p1的button1报错
工程p1.exe检测到错误类 EAccessviolation,错误信息:'access violation at address 0044d977 in module 'p1.exe' .read of address 00000000'.进程终止.

有人说是要先创建对象creat(),说我操作了nil指针,什么意思,谁能帮我详细解释一下?
 
可以帮我编制几个小程序吗
一、简易计算器


1.建一个文件夹(我的电脑-->E:盘-->新建文件夹),用于放程序。
2.新建一个程序(File-->New-->Application)。
3.保存(用File-->Save All)
4.依次向窗体(Form1)添加"编辑框"(Edit1)、"标签"(Label1)、"编辑框"(Edit2)、"按钮"(Button1)、"编辑框"(Edit3)。
5.把"编辑框"Edit1的文字(Text属性)清空,把"标签"Label1的文字(Caption属性)改为"+"(改字体(Fonts属性)),把"编辑框"Edit2的文字(Text属性)清空,把"标签"Button1的文字(Caption属性)改为"="(改字体(Fonts属性)),把"编辑框"Edit3的文字(Text属性)清空。
6.给"按钮"Button1添加事件(双击按钮Button1),并添加代码:
procedure TForm1.Button1Click(Sender: TObject);
var
add1,add2,sum:Integer;
//add1和add2是两个加数
//sum是计算它们的和
begin
add1:=StrToInt(Edit1.Text);
//从"编辑框"Edit1中取出第一个加数(是用户填写的数字)
//然后用函数StrToInt将它从String(字符串)类型
//转化为Integer(整数)类型,存到add1变量中
add2:=StrToInt(Edit2.Text);
//从"编辑框"Edit2中取出第二个加数(是用户填写的数字)
sum:=add1+add2 //求它们的和
Edit3.Text:=IntToStr(sum);
// 用函数IntToStr将"和"sum变量从Integer(整数)类型转化为
//String(字符串)类型,然后写到"编辑框"Edit3中
end;

二、文本编辑器


1.新建一个文件夹
2.新建一个程序,保存(Save All)到该文件夹
加按钮控件
3.向窗体(Form)添加一个Memo控件
4.向窗体(Form)添加一个按钮(Button)控件,添加事件,把Memo1的内容保存到文件

















三、画图


1.建一个文件夹,用于放程序。
2.新建一个程序。
3.保存(用Save All)
4.向窗体上放一个按钮(Button)控件,把它的标题(文字,Caption属性)改为
画直线,双击它添加事件,并添加代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
// Canvas是画布
Canvas.MoveTo(20,20); //MoveTo 将画笔移到
Canvas.LineTo(200,20); //LineTo 画线到
end;
5.向窗体上放一个按钮(Button)控件,把它的标题(文字,Caption属性)改为
画矩形,双击它添加事件,并添加代码:
procedure TForm1.Button2Click(Sender: TObject);
begin
Canvas.Rectangle(20,40,200,70);
//画矩形,4个数字分别是左上角、右下角的x,y坐标
end;
6.向窗体上放一个按钮(Button)控件,把它的标题(文字,Caption属性)改为
画椭圆,双击它添加事件,并添加代码:
procedure TForm1.Button3Click(Sender: TObject);
begin
Canvas.Ellipse(20,40,200,70);
//画椭圆,4个数字分别是外围的矩形的左上角、右下角的x,y坐标
end;




发送邮箱349096390@qq.com
 
代码:
[img]F:/wp072050.files/paint.jpg[/img]
 
在p1 里add to project文件a2.pas
 
我建立了一个新工程保存为工程p1,文件(unit)是a1.pas,并将表name改为b1,添加一个按钮button1。不要关闭,
新建一个Form,文件a2.pas,表name改为b2,添加一个按钮button1.
a1.pas uses a2;
clickbutton1设置为 b2.showmodal();
运行以后点击工程p1的button1就不报错了!
哈哈!呵呵!
 
emeng小兄弟这几天横努力学习啊!
值得表扬!
 
[:D][:D][:D]谢谢你的帮助 太感谢了
 
implementation 有什么作用
我发现有的程序是把 uses unit1;这种语句写在implementation 下边的
 
这劲头值得学习......
 
正在做点东西,感觉这样比学教程要有兴趣的多
 
教程是死的,人是活的!!!
 
多人接受答案了。
 
后退
顶部