假如我的数据集ADOQuery_aaa内容如下:
打分者 被打分者 分数
张三 李四 5
王二 麻子 4
李四 小刚 3则richedit的内容如下;张三给李四打了5分.
王二给麻子打了4分.
李四给小刚打了3分. (如果分数大于4分该行字体兰色,3分到4分之间黑色,小于三分红色)
打分者 被打分者 分数
张三 李四 5
王二 麻子 4
李四 小刚 3则richedit的内容如下;张三给李四打了5分.
王二给麻子打了4分.
李四给小刚打了3分. (如果分数大于4分该行字体兰色,3分到4分之间黑色,小于三分红色)
procedure TForm1.Button1Click(Sender: TObject);
var
SQLStr:string;
StuName:string;
StuSex:string;
StrRE:string;
StuMark,StartPos,i:integer;
begin
StartPos:=0;
i:=0; //记录RICHEEDIT的行号 SQLStr:='select student_name,student_sex,student_Mark from student_info';
ADOQStu.SQL.Add(SQLStr);
ADOQStu.Open; ADOQStu.First;
repeat
//往RICHEDIT加入数据库的一条记录
StuName:=ADOQStu.FieldValues['student_name'];
StuSex:=ADOQStu.FieldValues['student_sex'];
//StuLibNum:=ADOQStu.FieldValues['student_libraryid'];
StuMark:=ADOQStu.FieldValues['student_Mark'];
StrRE:=StuName;
StrRE:=StrRE+'is'+StuSex+'Mark is'+IntToStr(StuMark);
RichEdit1.Lines.Add(StrRE); //选择这行的字
RichEdit1.SelStart:=StartPos;
RichEdit1.SelLength:=length(RichEdit1.Lines.Strings[i]);
StartPos:=StartPos+RichEdit1.SelLength+2; //通过判断分数高低,改变这行字体颜色
case StuMark of
0..59:
RichEdit1.SelAttributes.Color:=clRed;
60..79:
RichEdit1.SelAttributes.Color:=clBlack;
80..100:
RichEdit1.SelAttributes.Color:=clBlue;
end; ADOQStu.Next; //往下移动一条记录
i:=i+1; //行号加1
until ADOQStu.Eof; //到记录尾就不做了
end;
这个应该不难的,自己要动手试试!