table内容循环(50)

  • 主题发起人 主题发起人 terry_zhou82
  • 开始时间 开始时间
T

terry_zhou82

Unregistered / Unconfirmed
GUEST, unregistred user!
有一个窗体用来显示数据表(table2),还有一个窗体用(table1)来循环显示表中某些字段,当我点击form2中的按钮后,停止循环,并退出,回到FORM1.FORM1下的按钮代码:form2.show;procedure TForm2.Button1Click(Sender: TObject);begin timer1.Enabled:=false; form1.Table2.Edit ; Close;end;procedure TForm2.FormCreate(Sender: TObject);begin timer1.Enabled :=true;end;procedure TForm2.Timer1Timer(Sender: TObject);begin DBText1.Caption :=Form1.Table1.FieldByName('empno').AsString ; DBMemo1.Text :=Form1.Table1.FieldByName('firstname').AsString ; if Form1.table1.eof then Form1.table1.first else Form1.table1.next;end;end.但当我点击按钮后,出现table2 is not in edit mode;但是如果我此时点击FORM2窗体上的关闭按钮,却可以正常退出,这个是什么原因啊?
 
DBMemo1.Text :=Form1.Table1.FieldByName('firstname').AsString ;就相当于给 DBMemo1对应字段赋值,所以出现这种错误,建议更改为Memo控件。或者DBMemo1对应到Form1.Table1的firstname字段上去。这是基本功夫,你用delphi好像时间有好几个月了唉。
 
不是,我现在的问题不是说不能显示。程序可以正常运行,而是按按钮关闭会弹出错误。
 
哎,都说了。是自己做的玩玩。
 
给我2000元,你的那个程序我来给你做,保证基本功能可以完成。前提:软件要求明确(写完整的需求估计太浪费时间)。
 
form1.Table2.Edit ; 这句放到TForm2.FormCreatec里边 执行这个代码 DBText1.Caption :=Form1.Table1.FieldByName('empno').AsString ; DBMemo1.Text :=Form1.Table1.FieldByName('firstname').AsString ; 就相当于是edit的。
 
另外还有,我想实现数据表中的某些字段显示在form2中,但是form2不管我怎么设置,背景都是黑色的,不能设为透明色。大家帮我看看,有何办法啊?procedure TForm1.Button1Click(Sender: TObject);begin Form2.Top :=0; form2.Left :=screen.Width -form2.Width ; form2.FormStyle:=fsStayOnTop; Form2.Show ; form2.timer1.Enabled :=true;end;procedure TForm2.Button1Click(Sender: TObject);begin timer1.Enabled:=false; Close;end;procedure TForm2.FormCreate(Sender: TObject);begin form2.brush.style:= bsclear; form2.borderstyle:= bsnone; Form1.Table2.Edit ;end;procedure TForm2.FormPaint(Sender: TObject);begin Timer1.Enabled :=true;end;procedure TForm2.Timer1Timer(Sender: TObject);begin form2.Canvas.Refresh ; if Form1.table1.eof then begin DBText1.Caption :=Form1.Table1.FieldByName('empno').AsString ; label1.Caption :=Form1.Table1.FieldByName('firstname').AsString ; Form1.table1.first; label1.Refresh ; label1.Invalidate ; label1.Update ; end else begin DBText1.Caption :=Form1.Table1.FieldByName('empno').AsString ; label1.Caption :=Form1.Table1.FieldByName('firstname').AsString ; Form1.table1.next; label1.Refresh ; label1.Invalidate ; label1.Update ; end;end;end.
 
补充一句,我要窗口透明,但是里面label,dbtext的字不透明。
 
自己解决了。散分
 
多人接受答案了。
 
后退
顶部