📄 selmail.pas
字号:
unit SelMail;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls, ExtCtrls, Buttons, DBCtrls, Grids, DBGrids,
Mask, DB, ADODB,Theme;
type
TFrm_SelMail = class(TBaseForm)
GroupBox1: TGroupBox;
ComboBox1: TComboBox;
Label1: TLabel;
ComboBox2: TComboBox;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
CheckBox1: TCheckBox;
DateTimePicker1: TDateTimePicker;
Label4: TLabel;
DateTimePicker2: TDateTimePicker;
Panel1: TPanel;
Label5: TLabel;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
DBGrid1: TDBGrid;
Panel2: TPanel;
DBMemo1: TDBMemo;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Label13: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
ADODataSet1: TADODataSet;
ADODataSet1MR_ID: TAutoIncField;
ADODataSet1MR_Subject: TStringField;
ADODataSet1MR_SendTo: TStringField;
ADODataSet1MR_Date: TDateTimeField;
ADODataSet1MR_Size: TIntegerField;
ADODataSet1MR_Affix: TStringField;
ADODataSet1MR_AffixPath: TStringField;
ADODataSet1MR_Memo: TStringField;
ADODataSet1MR_SaveDate: TDateTimeField;
ADODataSet1MR_area: TStringField;
DataSource1: TDataSource;
SpeedButton3: TSpeedButton;
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
procedure GetFields;
function GetFieldValue(FieldLable:string):string;
public
{ Public declarations }
end;
var
Frm_SelMail: TFrm_SelMail;
implementation
uses Main,DM;
{$R *.dfm}
procedure TFrm_SelMail.FormShow(Sender: TObject);
begin
ADODataSet1.Close;
ADODataSet1.Open;
GetFields;
end;
procedure TFrm_SelMail.GetFields;
var
i:Integer;
begin
ComboBox1.Clear;
with ADODataSet1 do
begin
for i:=0 to Fields.Count-1 do
begin
if (Fields[i].Visible) then
begin
ComboBox1.Items.Add(Fields[i].DisplayLabel);
end;
end;
end;
end;
function TFrm_SelMail.GetFieldValue(FieldLable: string): string;
var
i:Integer;
begin
Result := '';
with ADODataSet1 do
begin
for i:=0 to Fields.Count-1 do
begin
if Fields[i].DisplayLabel=FieldLable then
begin
Result := Fields[i].FieldName;
Break;
end;
end;
end;
end;
procedure TFrm_SelMail.SpeedButton1Click(Sender: TObject);
var
SQLStr:string;
begin
if not (CheckBox1.Checked) and ((ComboBox1.Text='') or (Edit1.Text='')) then
Exit;
if ComboBox2.ItemIndex=0 then
begin
SQLStr:=GetFieldValue(ComboBox1.Text)+' = '+QuotedStr(Edit1.Text);
end
else if ComboBox2.ItemIndex=1 then
begin
if ADODataSet1.FieldByName(GetFieldValue(ComboBox1.Text)).DataType <>ftString then
begin
Application.MessageBox('该字段不能使用模糊查询!','明日科技');
Exit;
end;
SQLStr:=GetFieldValue(ComboBox1.Text)+' like '+QuotedStr(Edit1.Text+'%');
end;
if CheckBox1.Checked then
begin
SQLStr:='MR_Date >=#'+DateTimeToStr(DateTimePicker1.DateTime)+
'# and MR_Date<=#'+DateTimeToStr(DateTimePicker2.DateTime)+'#';
end;
ADODataSet1.Filtered:=False;
ADODataSet1.Filter:=SQLStr;
ADODataSet1.Filtered:=True;
end;
procedure TFrm_SelMail.SpeedButton3Click(Sender: TObject);
begin
ADODataSet1.Filtered:=False;
ADODataSet1.Filter:='';
ADODataSet1.Filtered:=True;
end;
procedure TFrm_SelMail.SpeedButton2Click(Sender: TObject);
begin
Close;
end;
procedure TFrm_SelMail.DBGrid1CellClick(Column: TColumn);
begin
Edit6.Text:=ADODataSet1.FieldByName('MR_Subject').AsString;
Edit7.Text:=ADODataSet1.FieldByName('MR_SendTo').AsString;
Edit8.Text:=ADODataSet1.FieldByName('MR_area').AsString;
Edit2.Text:=DateToStr(StrToDateTime(ADODataSet1.FieldByName('MR_Date').AsString));
Edit3.Text:=TimeToStr(StrToDateTime(ADODataSet1.FieldByName('MR_Date').AsString));
Edit4.Text:=DateToStr(StrToDateTime(ADODataSet1.FieldByName('MR_SaveDate').AsString));
Edit5.Text:=TimeToStr(StrToDateTime(ADODataSet1.FieldByName('MR_SaveDate').AsString));
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -