简单数据库编程(200分)

  • 主题发起人 主题发起人 wlaila
  • 开始时间 开始时间
W

wlaila

Unregistered / Unconfirmed
GUEST, unregistred user!
我想编一个简单的数据库程序,遇到了麻烦:
窗体上有10个edit控件,如果在edit1里输入1,就往某数据库某条记录里的一个字段
增加数值,然后自动切换到edit2,继续……切换到edit3……
现在有一个问题是如何自动跳跃
请给一个完整的程序,多谢!
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1437656
 
太菜了吧,,
 
大哥,你说对了
 
怎么叫自动?输完数据总得按一下Tab(也可换为Enter)吧!
按Tab这样实现:
在Edit1的onexit事件添加代码
with table1 do
begin
Open;
Edit;
Append;
FieldsByName('yourfield').asstring:=Edit1.Text;
eng;
Edit2.SetFocus;
.......以下依次类推!
 
to delphi:谁不是从菜鸟走过来的,这样说太损了点把。
 
我也是个菜鸟,我不怕人笑



菜鸟,也会飞翔的。

哈哈,交个朋友了
 
setfoucs就是获得焦点
你想让哪个控件获得焦点就用哪个控件调用他就可以了
如 edit4。setfoucs
 
没办法了,好几天没分捞了,打打牙祭吧。。搞不定我给你分
你要用Tab键换得话:
在窗体上点右键-》tab order-》调整完,在按tab键试一试就行了
要用enter键换写代码吧
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
Perform(WM_NEXTDLGCTL,0,0);
end;
然后让所有的edit(或dbedit都一样得)控件得onkeypress事件都指向Edit1KeyPress就可以了
 
Form1.KeyPreview:=true;
Form1.Onkeypress:=FormKeyPress; //FormKeyPress是事件处理函数

procedure Form1.FormKeyPress(Sender: TObject;var Key: Char);
begin
if FocusedControl is TEdit then begin
postmessage(TEdit(FocusedControl).Handle,wm_keydown,9,0);
postmessage(TEdit(FocusedControl).Handle,wm_keyup,9,0);
end
end;
 
[:D] 那个谁 啷 废话一大片
 
if ((Key = VK_DOWN) ) or ((Key = VK_RETURN) ) then
Perform(WM_NEXTDLGCTL, 0, 0);
if (Key = VK_UP) then
Perform(WM_NEXTDLGCTL, 1, 0);
 
我是菜鸟,我怕谁....
^_^''
 
后退
顶部