找出同样的用一个for 循环不就完事了,循环时记录相同的item的索引下标,然后把对于下标的设置下背景色
修改背景色可以把canvas的brush指定一个颜色,然后fillrect填充这个颜色,最后用textout把文字画上去
修改背景色可以把canvas的brush指定一个颜色,然后fillrect填充这个颜色,最后用textout把文字画上去
解决方案 »
- 相同网络打印机、相同操作系统,套打效果不一样?
- 求一sql语句
- TDataBase动态连接Access数据库无法连接的问题
- 为什么用媒体播放器控件录音后保存的文件中时间长度大小总是秒的倍数,能精确到毫秒吗?
- SQL SERVER7的数据库恢复问题
- 程序中遇到一个很麻烦的问题,关于memo输入时自动适应输入的文字总宽度.
- 关于DBgrid与操作数据库的问题!
- 奇怪的问题,我的多文档窗体的主窗体的WindowMenu已经指向一个菜单,为什么当打开一个子窗体时这个菜单下没有这个子窗体?
- 急:关于输入数据的控制的一个问题。谢谢
- 打80分的拖拉机程序可能大家都用过。那扑克牌的边可是圆角的,TImage能做到吗?
- delphi中使用Lua的问题
- 将listbox1中每一行的值,写入到自定义文本文件中
如果一樣的話...就在上下筆資料的虛擬欄位填入值...
目前卡在不知如何進行上下筆資料比對...請大大指導...謝謝!!
我在ADOQuery20CalcFields中寫了以下語法..但發生錯誤while not Adoquery20.Eof do
begin
s1:=adoquery20.fieldbyname('sField2').AsString;
Adoquery20.Next;
ss:=adoquery20.fieldbyname('sField2').AsString;
if(ss=s1) then
begin
DataSet.FieldByName('s4').AsString:='0';
end;
end;
只是做以下修改:1.在AdoQuery.AfterPost事件里处理;
2.先DisableControls,记住目前位置,处理完后回到目前位置(用Dataset.book),最后EnableControls;
3.记住目前的值(你的代码里已有),Prior到头,再Next到尾。
4.EnableControls会帮你Update Grids,从而上色。
就是最後一筆資料會讀取2次...變成最後一筆資料會誤判重覆
找不出哪裡有問題..請大大指導...謝謝!!
adoquery20.DisableControls;
try
Adoquery20.First;
while not Adoquery20.Eof do
begin
s2:=adoquery20.fieldbyname('sField2').AsString;
s3:=adoquery20.fieldbyname('re').AsString;
Adoquery20.Next;
s4:=adoquery20.fieldbyname('sField2').AsString;
s5:=adoquery20.fieldbyname('re').AsString;
if(s2=s4) then
begin
ListBox1.Items.Add(s3);
ListBox1.Items.Add(s5);
end;
end;
finally
adoquery20.EnableControls;
end;
adoquery20.DisableControls;
try
Adoquery20.First;
if not ADOQuery20.Eof then
begin
s2:=adoquery20.fieldbyname('sField2').AsString;
s3:=adoquery20.fieldbyname('re').AsString;
end;
ADOQuery20.Next;
while not Adoquery20.Eof do
begin
s4:=adoquery20.fieldbyname('sField2').AsString;
s5:=adoquery20.fieldbyname('re').AsString;
if(s2=s4) then
begin
ListBox1.Items.Add(s3);
ListBox1.Items.Add(s5);
end;
Adoquery20.Next;
end;
finally
adoquery20.EnableControls;
end;
把数据先导出到Excel,再对比 FOR i:=1 to N-1 do IF (第i格=第i+1格) THEN 上色;IF 格(N-1)=格(N) THEN 上色 完事,外面加个N>1 的判断,懂的。
WHILE NOT eof DO
BEGIN
(取数据)
next
(取数据)
END;的形式,而只可能是
WHILE NOT eof DO
BEGIN
(取数据)
next
END;
这样才不报错的。
再另,SQL语句(Oracle)或者存储过程应该都能实现直接取上下行数据的功能,不用在程序里搞。