在窗体放一stringgrid控件,改名为sg,可我在代码中设置它的属性的时候却说sg没定义
procedure csh_sg();
begin
sg.colwidths[0]:=50;
sg.colwidths[1]:=200;
sg.colwidths[2]:=300;
sg.colwidths[3]:=200;
end;
procedure csh_sg();
begin
sg.colwidths[0]:=50;
sg.colwidths[1]:=200;
sg.colwidths[2]:=300;
sg.colwidths[3]:=200;
end;
解决方案 »
- 咨询关于用DELPHI实现企业运营管理的源码和实现思路
- 使用IDHTTP后弹出Connection Closed Grancefully.
- adoquery.sql.add(strSql),弹出"oracle error occurred,but error message could not be retrieved from oracle",这是啥意思
- 同样的程序在台式机上可以得到硬盘序列号,而在笔记本电脑就得不到硬盘的序列号了,而通过其它方式就又可以得到硬盘的..
- 急问:关于打开中文文件名的Excel表的问题(在线等)
- 问下,象E-book软件那样的书的翻页效果是怎么弄的啊??
- 请问那里可以下载Delphi的基础书籍,eshu形式的最好了,谢谢
- 我的东西怎么显示不出来啊??
- 请问谁有做过文字解析器的程序?
- 从Form1中Show出Form2,在From1中有对Form2中的memo1操作,编译系统提示错误:[Fatal Error] FreePhone1.pas(7): File not found: 'Unit2.dcu'?请问如何解决??
- INDY 9.0 ★★★ idTcpClient.ReadStream 时停在那了?
- 高分请教:如何让Label中部分字体显示不同样式
procedure csh_sg();
begin with form1.sg do begin//--------------窗体名.sg.
colwidths[0]:=50;
colwidths[1]:=200;
colwidths[2]:=300;
colwidths[3]:=200; end;
end;
FORM1可以调用此处理过程但csh_sg()处理过程中要调用FORM1的内容,必须指定其父类名称
调用方法同二楼的
定义时这么写: procedure form1.csh_sg();
begin
with sg do
begin
colwidths[0]:=50;
...
colwidths[6]:=100;
end;
end; 对么?
调用的时候这么写:form1.csh_sg(); 对么?
{声明:}procedure form1.csh_sg; {如果要让其它窗体能调用此方法,要在 public之下声明.}
{定义:} procedure form1.csh_sg;
begin
with sg do
begin
colwidths[0]:=50;
...
colwidths[6]:=100;
end;
end; 对么?
其它窗体调用:form1.csh_sg; 本窗体:csh_sg;
声明,定义不加form1,如果加,编译通不过。
咋搞的???
然后procedure form1.csh_sg();
begin
sg.colwidths[0]:=50;
sg.colwidths[1]:=200;
sg.colwidths[2]:=300;
sg.colwidths[3]:=200;
end;
procedure Tform1.csh_sg;
begin
with sg do
begin
colwidths[0]:=50;
...
colwidths[6]:=100;
end;
end;
声明的地方在type
...
end;之下,也就是不再private,public内
3.在implementation内定义:procedure csh_sg(); //不能加窗体名,加了编译通不过
begin
with frmkjlb.sg do //必须加窗体名,不加编译通不过,说sg未定义
begin
colwidths[0]:=50;
colwidths[1]:=200;
colwidths[2]:=300;
colwidths[3]:=200;
end;
end;4.procedure Tfrmkjlb.FormCreate(Sender: TObject);
begin
csh_sg(); 在窗体加载过程中调用
end;
5.编译通过,打开frmkjlb窗体出错,在with frmkjlb.sg do处挂起,弹出错误对话框,报告大意是在访问内存地址某处错。急死人了。help me!!!
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;type
TForm1 = class(TForm)
sg: TStringGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure csh_sg;
end;var
Form1: TForm1;implementation{$R *.dfm}
procedure TForm1.csh_sg;
begin
sg.colwidths[0]:=50;
sg.colwidths[1]:=200;
sg.colwidths[2]:=300;
sg.colwidths[3]:=200;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
csh_sg;
end;end.
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids;type
TForm1 = class(TForm)
sg: TStringGrid;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end; procedure csh_sg;
var
Form1: TForm1;implementation{$R *.dfm}
procedure csh_sg;
begin
with Form1.sg do begin
colwidths[0]:=50;
colwidths[1]:=200;
colwidths[2]:=300;
colwidths[3]:=200;
end;end;procedure TForm1.FormCreate(Sender: TObject);
begin
csh_sg;
end;end.
2.我将ADODataSet1的Connection属性设为:ADOConnection1;
3.我的ADODataSet1的commandtype属性为:cmdText;
4.我的ADODataSet1的commandtext属性为:select x_a,x_b,x_c from x_eng
5.
procedure TForm1.FormCreate(Sender: TObject);
begin
csh_sg;
ADODataSet1.Active:=true;
end;
当运行程序时没出现你所说的问题.
6.所以应该是你的ADODataSet设置有问题
7.如果你是看书学的,请你务必要搞清所有数据控件的用法.