各位高手,我有两个问题,请各位高手帮我看看如何解决。第一个问题:
我想建立两个Form,在Form1中设置2个按钮(Add和Edit),在Form2中建立两个GroupBox,在这两个GroupBox中分别添加Label和Edit组件。目的是这样:
当单击Form1中的Add按钮时,调用Form2,同时将Form2中GroupBox1中TLabel组件除外的其它所有输入性质的组件的Enabled设为True,将Form2中GroupBox2中TLabel组件除外的其它所有输入性质的组件的Enabled设为False;
当单击Form1中的Edit按钮时,调用Form2,同时将Form2中GroupBox2中TLabel组件除外的其它所有输入性质的组件的Enabled设为True,将Form2中GroupBox1中TLabel组件除外的其它所有输入性质的组件的Enabled设为False。 (即:单击Form1中的Add、Edit按钮后,同时调用Form2,但Form2中的两个GroupBox内的组件的Enabled值相反) 问题:我觉得应该在Form2中编写“自定义事件”,但参数不会写。我写的代码如下所示,但运行后不起作用。 代码如下:unit Form2;……public
{ Public declarations }
procedure SetComponentState(AGroupNum: TGroupBox);implementation{$R *.dfm}uses Form1;procedure TForm2.SetComponentState(AGroupBoxNum: Integer);
Var
ComTotal: Integer;
begin
IF AGroupBoxNum = 1 Then
begin
For ComTotal := 0 To GroupBox2.ControlCount -1 Do
begin
GroupBox2.Controls[ComTotal].Enabled := False;
end;
end;
IF AGroupBoxNum = 2 Then
begin
For ComTotal := 0 To GroupBox1.ControlCount -1 Do
begin
GroupBox1.Controls[ComTotal].Enabled := False;
end;
end;
end;unit Unit1;……procedure TForm1.Button1Click(Sender: TObject);
begin
Try
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
Form2.SetComponentState(1);
Except
Form2.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
Try
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
Form2.SetComponentState(2);
Except
Form2.Free;
end;
end;第二个问题: 数据库表中,有“编号、日期、地点、检查人、内容、措施、复查日期、复查人、复查结果”等几个字段。其中“内容”、“措施”两个字段是对应的,有一条内容,就必有一条措施。并且,每次输入都会输入成如下这样: 编号 检查日期 地点 检查人 内容 措施 复查日期 其它字段省略
1 12-7-6 某地 某人 一条内容 一条措施 第二天或第三天
2 同上 同上 同上 与上不同 与上不同 第二天或第三天
3 同上 同上 同上 与上不同 与上不同 第二天或第三天
4 同上 另一地点 同上 一条内容 一条措施 第二天或第三天
5 同上 同上 同上 与上不同 与上不同 第二天或第三天
6 12-7-7 某地 某人 一条内容 一条措施 第二天或第三天
7 同上 同上 同上 与上不同 与上不同 第二天或第三天 以上表中,即:每天会去不同地点检查(最少1个地点,但这种情况几乎没有),每一个地点都会有多条内容,每一条内容都会对应一条措施。(同时,日期不同的时候,即便内容、措施一样,也必须为一条新记录)复查日期为检查日期的第2或第3、4天。 请问各位高手:
2、这样的表怎么做主表和从表?
3、由于“每天会去不同地点检查(最少1个地点,但这种情况几乎没有),每一个地点都会有多条内容,每一条内容都会对应一条措施。”。如果每输入一条就保存一条,太麻烦(每天都会有不少于10条需要输入),怎样设计窗体使输入过程简单?是否能够每次输入都先输入多条记录,然后一起保存?如能,怎样实现?
我想建立两个Form,在Form1中设置2个按钮(Add和Edit),在Form2中建立两个GroupBox,在这两个GroupBox中分别添加Label和Edit组件。目的是这样:
当单击Form1中的Add按钮时,调用Form2,同时将Form2中GroupBox1中TLabel组件除外的其它所有输入性质的组件的Enabled设为True,将Form2中GroupBox2中TLabel组件除外的其它所有输入性质的组件的Enabled设为False;
当单击Form1中的Edit按钮时,调用Form2,同时将Form2中GroupBox2中TLabel组件除外的其它所有输入性质的组件的Enabled设为True,将Form2中GroupBox1中TLabel组件除外的其它所有输入性质的组件的Enabled设为False。 (即:单击Form1中的Add、Edit按钮后,同时调用Form2,但Form2中的两个GroupBox内的组件的Enabled值相反) 问题:我觉得应该在Form2中编写“自定义事件”,但参数不会写。我写的代码如下所示,但运行后不起作用。 代码如下:unit Form2;……public
{ Public declarations }
procedure SetComponentState(AGroupNum: TGroupBox);implementation{$R *.dfm}uses Form1;procedure TForm2.SetComponentState(AGroupBoxNum: Integer);
Var
ComTotal: Integer;
begin
IF AGroupBoxNum = 1 Then
begin
For ComTotal := 0 To GroupBox2.ControlCount -1 Do
begin
GroupBox2.Controls[ComTotal].Enabled := False;
end;
end;
IF AGroupBoxNum = 2 Then
begin
For ComTotal := 0 To GroupBox1.ControlCount -1 Do
begin
GroupBox1.Controls[ComTotal].Enabled := False;
end;
end;
end;unit Unit1;……procedure TForm1.Button1Click(Sender: TObject);
begin
Try
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
Form2.SetComponentState(1);
Except
Form2.Free;
end;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
Try
Application.CreateForm(TForm2, Form2);
Form2.ShowModal;
Form2.Free;
Form2.SetComponentState(2);
Except
Form2.Free;
end;
end;第二个问题: 数据库表中,有“编号、日期、地点、检查人、内容、措施、复查日期、复查人、复查结果”等几个字段。其中“内容”、“措施”两个字段是对应的,有一条内容,就必有一条措施。并且,每次输入都会输入成如下这样: 编号 检查日期 地点 检查人 内容 措施 复查日期 其它字段省略
1 12-7-6 某地 某人 一条内容 一条措施 第二天或第三天
2 同上 同上 同上 与上不同 与上不同 第二天或第三天
3 同上 同上 同上 与上不同 与上不同 第二天或第三天
4 同上 另一地点 同上 一条内容 一条措施 第二天或第三天
5 同上 同上 同上 与上不同 与上不同 第二天或第三天
6 12-7-7 某地 某人 一条内容 一条措施 第二天或第三天
7 同上 同上 同上 与上不同 与上不同 第二天或第三天 以上表中,即:每天会去不同地点检查(最少1个地点,但这种情况几乎没有),每一个地点都会有多条内容,每一条内容都会对应一条措施。(同时,日期不同的时候,即便内容、措施一样,也必须为一条新记录)复查日期为检查日期的第2或第3、4天。 请问各位高手:
2、这样的表怎么做主表和从表?
3、由于“每天会去不同地点检查(最少1个地点,但这种情况几乎没有),每一个地点都会有多条内容,每一条内容都会对应一条措施。”。如果每输入一条就保存一条,太麻烦(每天都会有不少于10条需要输入),怎样设计窗体使输入过程简单?是否能够每次输入都先输入多条记录,然后一起保存?如能,怎样实现?
解决方案 »
- 高分求解,为什么不好用呢??、
- 散分
- 一个有关所有控件基础的问题。
- 怎么把EXE文件存入SQL SERVER,然后可以取出还原成EXE,有没有源码
- 请教DELPHI6中通过使用BDE数据组件连接SQL SERVER 2000,然后使用中文内容的问题.
- 请问:哪里有Delphi 5.x 分布式多层应用电子商务篇的配套光盘原码下载?
- 关于websnap中的如何用adoquery进行查询的问题。希望各位帮忙。
- 请大家看看这段程序????????
- 紧急求助!高手新手都看看!
- TChart植入C++Bulider出现类TChartListBox没有找到
- 有关立象打印二次开发的问题
- delphi调用webservice客户端不生成代码
Form2.Free;
Form2.SetComponentState(1);都释放了还怎么设置Form2.SetComponentState(1);
Form2.ShowModal;
Form2.Free;
procedure SetComponentState(AGroupNum: TGroupBox);
procedure TForm2.SetComponentState(AGroupBoxNum: Integer);可以改成这样:
private
procedure SetComponentState;
public
AGroupBoxNum:Integer;implementation{$R *.dfm}procedure TForm2.SetComponentState;
begin
...
end;procedure TForm2.FormShow(Sender: TObject);
begin
SetComponentState;
end;其它窗体调用:
try
Application.CreateForm(TForm2, Form2);
Form2.AGroupBoxNum:=0;
Form2.ShowModal;
finally
Form2.Free;
end;