小小问题!!!!(30分)

  • 主题发起人 主题发起人 chamberlin
  • 开始时间 开始时间
C

chamberlin

Unregistered / Unconfirmed
GUEST, unregistred user!
本人建一个数据库,用PARADOX的.在FORM窗口中有LABEL几个,用以显示代码(如:0001,0002)
在EDIT中输入代码,按BUTTEN键POST TABEL后,在其有相关代码的LABEL就变颜色(如:红,黄).应
该如何实现?小弟刚入门,请各位大哥大姐帮帮小弟!
 
label1.font.color:=clred;
 
这个我试过了,不行.在第二次运行后LABEL的颜色又变回来了.听别人说LABEL里有一个叫
'壮态'的属性,只要对应数据库就可以. 可我找不到,能否告诉我别的办法呢?
 
在数据集的AfterPost事件里写:
label1.font.color:=clred;试试

 
对不起!可能我没把我的问提说清楚.等我把它讲清楚再说吧!谢谢各位!
 
第二次运行的时候如果你没有改变color的值怎么会变回来?!除非你的form是在运行中创建
的,而不是在程序运行前都建好的。
 
我再把我的问提说清楚一点:
LABEL是代表箱号(如:0001,0002,0003,0004)等等,在EDIT中输入箱号(开箱),按
确定后,相应的LABEL就改变颜色(如:红.代表此箱已开了).在另一个EDIT中输入
开箱的号码,LABEL就改变颜色(如:蓝.代表此箱已结帐).
请问各位大哥大姐,如按小弟上面所说的,应该怎样去编写.能否给小弟说详细一点.谢谢!
 
你用
try
post;
label1.font.color := clred;
...

在另一个Edit中则
try
post;
label1.font.color := clblue;
...

除非你的窗体是动态生成的,否则其颜色是不会变的。
 
请问冰火大哥:
能不能给小弟讲清楚一点,具体要怎么样编写呢?
 
坦白地说,我不是很明白你到底要实现什么功能。
你是否每个箱号都对应一个Label呢?还是再输入一个箱号,这个Label的Caption就会
改变成为新的箱号,而颜色也随着这个箱号的状态改变呢?
或者是当你关闭其所在的窗口,然后重新打开时,希望这个Label的颜色还能保持着?
如果是前一种情况,你最好在数据库里增加一个‘Status’字段,标识该箱的状态:
0:关闭;1:打开。这样显然会对你的应用有好处的,相信你的箱子的打开与否不可能
仅在这里有用。
如果是后一种情况,你只要别动态生成该窗体就行了
 
冰火大哥你真的很棒!小弟表达能力不好,在此说SORRY FOR YOU!
我的问提就象你所说的第一种那样,每个箱号都对应一个Label,而颜色也随着
这个箱号的状态改变.能不能给小弟讲讲要用那种语句去编写,越详细越好.因为小弟
刚刚入的门,又是自学的,没人教.所以还望大哥你能帮帮小弟一把.
在此先谢谢你!
 
比如说,你在Edit1里输入箱号后回车,然后在Edit1的Keypress事件里
置‘Status’字段为1,接着就把对应的Label颜色改了,这是实时生效的。
或者在Table的Afterpost事件里置颜色也行。
要不然就用一些特殊数据敏感控件(到处都能找得到的,就别问我了),
找DBLabel之类的控件来用,看看例子或帮助,就象用DBEdit一样得使用。
你的DBEdit的Text是随着对应的字段的内容而改变的,相应地,你也可以
设置DBLabel的颜色也随着对应的字段的内容而改变。
懂了么?希望我说明白了。
当然,你可能还需要把Table设为AutoUpdate等等。

我最近比较忙,不然等我空了,我给你写个例子,只是可能要等一段时间了。

各位其它高手有兴趣和时间的话,不妨试试,帮帮chamberlin。
 
你的意思是不是:
改变了颜色后,下次再运行该程序时能够保持上次退出时的颜色?

如果是这样, 你需要将颜色代码保存在数据表中,
在Form创建时从数据表中取值,设置Label的Color值。

不知对否?
 
上面这位大哥,你讲得对.能否给小弟我举个例子呢?
越详细越好!
 
有谁能帮帮我呢? 急!!
 
按上面兄弟说的,你要保存LABEL状态,你也可将状态写到INI文件中.
你的意思是否如下:
有四个LABEL,0001,0002,0003,0004,
有两个EDIT,EDIT1,EDIT2,
在EDIT1中输入0001,则LABEL0001的COLOR变为红色,
在EDIT2中输入0001,则LABEL0001的COLOR变为蓝色,
如是,则你给的分数太少,这问题是有点难度的.
 
真是费劲!这问题有啥难度的?
很简单的方法:
在数据库中再设一个字段,叫‘Status’,0:关闭;1:打开。
程序运行后,打开数据库,遍历所有记录的‘Status’字段,
按照其值设置对应Labels的颜色不就成了?

如果在程序运行中要改变‘Status’的值,就是chamberlin说的
在Edit1里输个箱号,Label的颜色就变了,就用我说的方法实时
改变‘Status’的值,同时改变对应Label的颜色好了。

这个问题可以结束了吧,都说到这里了,就差写代码了。
 
冰火大哥,如你有空,给小弟写一下代码好吗?小弟就是不清楚该怎样写.就是等你
示范一下.我的E-MAIL是zhuoyl@163.net. 如果分数不够的话,小弟可以多加给你.
还有上面的wmsoft大哥,小弟在去年就看过你的软件了,真的不错.小弟也想写一个象你
那样的.可惜我的基础太差,只好等慢一些了.你是否住在汕头,我也是.有机会的话能否向你
求教呢?
 
既然这样, 你就把你实际上要做的事情说出来, 而不要说在电脑上要实现什么.
这样或许可以给你想个更好的办法.
 
to wmsoft
我的实际问提就是如上我所说的.我要建一个开箱的数据库.如果有一千个箱的话,LABEL
就要有一千个,它们是代表箱号(如:0001,0002....等等.)如果有人开0001号箱的话,那么所
代表的LABEL的颜色就改变为红.如果0001号箱有人结帐走了的话,那么LABEL0001的颜色就
改变为黑.
我就是不懂得如何在EDIT里面输入0002或0005的话,按确定按钮后,相对应的LABEL就改变
颜色.
冰火大哥给我的那些说法是对的,可惜我不懂得如何去写.
 
后退
顶部