⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 selmail.pas

📁 一款不错的商务程序商品管理系统,有简易的窗体皮肤
💻 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 + -