Delphi总结文档
"以非面向对象的方法去使用面向对象工具是一个错误。使用Delphi编写结构化程序可以很快地到达beta版……你的程序可能永远脱离不了beta版。迅速得到错误的答案,仍然是错误的。"
--Paul Kimmel
请记住,成功的开发者只需写少量的高质量代码,而不是大量的普通代码。"
--Grady Booch
1.用一个函数得到六个字符,有一个累加值,从0到999999,有一个数,前面补5个0,有两个数,前面补4个0,依次类推,用函数得到这个值,值为字符类型。
答:showmessage(Format(''%.6d'', [num]);
2.定义二维数组
答:
type
twoDimArray : array[1..Max1][1..Max2] of String;
3.向各位请教:怎样才能使dbgrid显示的内容,各条记录的颜色相间,即第一条记录是蓝色,第二条记录是绿色,第三条记录是蓝色,第四条记录是绿色。。。如此类推下去。
或者有什么控件或方法可以实现?
答:
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if DBGrid1.datasource.dataset.RecNo mod 2=0 then
DBGrid1.canvas.brush.color:=clred
else
DBGrid1.canvas.Brush.Color:=clgreen;
defaultDrawColumnCell(rect,datacol,column,state);
end;
4.ListBox自动滚动。
答:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
listbox1.Perform(WM_VSCROLL,SB_LINEDOWN,0);
end;
5.得到数据库中的字段名 字段类型 字段长度
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
ADOConnection1.Connected:=true;
ADOQuery1.Open;
for i:=0 to ADOQuery1.FieldCount-1 do //TypInfo
Memo1.Lines.Add(ADOQuery1.Fields[i].FieldName+'':''+GetEnumName(TypeInfo(TFieldType),Integer(ADOQuery1.Fields[i].DataType))+'':''+IntToStr(ADOQuery1.Fields[i].DataSize));
//ADOQuery1.Close;
end;
6.取得屏幕分辨率
Var
X,Y:Integer;
Begin
X:=GetSystemMetrics(SM_CXSCREEN);
Y:=GetSystemMetrics(SM_CYSCREEN);
ENd