📄 fac_color.pas
字号:
unit fac_color;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, ADODB, DBCtrls, StdCtrls, ExtCtrls, Grids, DBGrids;
type
TFormfac_color = class(TForm)
Qryfactory: TADOQuery;
ListBox1: TListBox;
Label1: TLabel;
DBGrid1: TDBGrid;
Panel1: TPanel;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ColorDialog1: TColorDialog;
Label2: TLabel;
Button1: TButton;
ADODataSet1dept: TStringField;
ADODataSet1color: TIntegerField;
DBNavigator1: TDBNavigator;
procedure Panel1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Formfac_color: TFormfac_color;
implementation
uses datamol,main,factory;
{$R *.DFM}
procedure TFormfac_color.Panel1Click(Sender: TObject);
begin
if colordialog1.execute then
panel1.color:=colordialog1.Color;
end;
procedure TFormfac_color.Button1Click(Sender: TObject);
begin
if listbox1.itemindex<>-1 then
with datamod do
begin
query1.close;
query1.sql.text:='Insert into fac_color values('''+listbox1.items[listbox1.itemindex]+''','+inttostr(colortorgb(panel1.color))+') ';
query1.execsql;
listbox1.items.Delete(listbox1.itemindex);
adodataset1.Close;
adodataset1.open;
end;
end;
procedure TFormfac_color.FormCreate(Sender: TObject);
begin
qryfactory.close;
qryfactory.sql.text:='Select * from pub05010 ';
qryfactory.open;
listbox1.items.clear;
while not qryfactory.eof do
begin
listbox1.items.add(qryfactory.fieldbyname('dept').asstring);
qryfactory.next;
end;
end;
procedure TFormfac_color.DBGrid1DrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
var
OutRect: TRect;
begin
OutRect := Rect;
if Column.Field = adodataset1color then
DBGrid1.Canvas.Font.Color := adodataset1color.asinteger;
DBGrid1.DefaultDrawDataCell (OutRect, Column.Field, State);
end;
procedure TFormfac_color.ListBox1Click(Sender: TObject);
var
i:integer;
begin
i:=listbox1.itemindex;
adodataset1.Close;
adodataset1.open;
while not adodataset1.eof do
begin
if listbox1.Items[i]=adodataset1.fieldbyname('dept').asstring then
begin
panel1.Color:=adodataset1.fieldbyname('color').value;
break;
end
else adodataset1.next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -