www.pudn.com > 邮件群发程序1.2.rar > ListMail.pas


unit ListMail; 
 
interface 
 
uses 
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
  Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, Mask, DBCtrls, Buttons, 
  Menus, DBTables; 
 
type 
  TfrmListmail = class(TForm) 
    DataSource1: TDataSource; 
    DBGrid1: TDBGrid; 
    ADODataSet1: TADODataSet; 
    GroupBox1: TGroupBox; 
    Label1: TLabel; 
    Label2: TLabel; 
    Label3: TLabel; 
    BitBtn1: TBitBtn; 
    edtName: TEdit; 
    edtEmail: TEdit; 
    edtZone: TEdit; 
    Button1: TButton; 
    BitBtn2: TBitBtn; 
    ADOQuery1: TADOQuery; 
    Label4: TLabel; 
    edtFind: TEdit; 
    Button2: TButton; 
    PopupMenu1: TPopupMenu; 
    N1: TMenuItem; 
    N2: TMenuItem; 
    N3: TMenuItem; 
    N4: TMenuItem; 
    N5: TMenuItem; 
    N6: TMenuItem; 
    BitBtn3: TBitBtn; 
    procedure FormCreate(Sender: TObject); 
    procedure FormClose(Sender: TObject; var Action: TCloseAction); 
    procedure BitBtn1Click(Sender: TObject); 
    procedure Button1Click(Sender: TObject); 
    procedure BitBtn2Click(Sender: TObject); 
    procedure Button2Click(Sender: TObject); 
    procedure N1Click(Sender: TObject); 
    procedure N3Click(Sender: TObject); 
    procedure N4Click(Sender: TObject); 
    procedure N5Click(Sender: TObject); 
    procedure N6Click(Sender: TObject); 
    procedure BitBtn3Click(Sender: TObject); 
  private 
    { Private declarations } 
  public 
    { Public declarations } 
    procedure displayRecord(); 
  end; 
 
var 
  frmListmail: TfrmListmail; 
 
implementation 
 
uses mail,inifiles; 
 
{$R *.dfm} 
procedure TfrmListmail.displayRecord(); 
var 
    sql:string; 
begin 
    sql:='select id as 编号,name as 姓名,mails as email,inputdate as 入库日期 '; 
    sql:=sql+' from email order by id desc'; 
    ADODataSet1.Close; 
    ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
            ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    ADODataSet1.CommandType:=cmdText; 
    ADODataSet1.CommandText:=sql; 
    ADODataSet1.Open; 
    ADODataSet1.First; 
    if ADODataSet1.RecordCount>0 then 
    begin 
        DBGrid1.Columns.Items[0].Width:=70; 
        DBGrid1.Columns.Items[1].Width:=100; 
        DBGrid1.Columns.Items[2].Width:=170; 
        DBGrid1.Columns.Items[3].Width:=170; 
    end; 
    frmMain.StatusBar1.Panels[0].Text:='已经打开数据'; 
    frmMain.StatusBar1.Panels[2].Text:='记录有'+inttostr(ADODataSet1.RecordCount)+'条'; 
end; 
 
procedure TfrmListmail.FormCreate(Sender: TObject); 
begin 
    displayRecord; 
end; 
 
procedure TfrmListmail.FormClose(Sender: TObject; 
  var Action: TCloseAction); 
begin 
    ADODataSet1.Close; 
    free; 
    frmMain.StatusBar1.Panels[0].Text:=''; 
    frmMain.StatusBar1.Panels[2].Text:=''; 
end; 
 
procedure TfrmListmail.BitBtn1Click(Sender: TObject); 
begin 
    ADODataSet1.Delete; 
end; 
 
procedure TfrmListmail.Button1Click(Sender: TObject); 
var 
    sEmail,sql0:string; 
    i:integer; 
begin 
    sEmail:=trim(edtEmail.Text); 
    if sEmail<>'' then 
    begin 
    i:=pos('@',sEmail); 
    if i>0 then 
    begin 
    sql0:='insert into email(name,mails,zone,inputdate) value('''+edtName.Text+''','''+edtEmail.Text+''','''+edtZone.Text+''',now)'; 
    sql0:='select * from email'; 
    ADODataSet1.Close; 
    ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
            ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    ADODataSet1.CommandType:=cmdText; 
    ADODataSet1.CommandText:=sql0; 
    ADODataSet1.Open; 
    //ADOQuery1.SQL.Clear; 
    //ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
    //        ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    //ADOQuery1.SQL.Add(sql0); 
    //ADOQuery1.Open; 
    ADODataSet1.Insert; 
    if trim(edtName.Text)<>'' then 
        ADODataSet1.FieldByName('name').AsString:=edtName.Text; 
    ADODataSet1.FieldByName('mails').AsString:=edtEmail.Text; 
    if trim(edtZone.Text)<>'' then 
        ADODataSet1.FieldByName('zone').AsString:=edtZone.Text; 
    ADODataSet1.FieldByName('inputDate').AsDateTime:=now; 
    ADODataSet1.Post; 
    frmMain.StatusBar1.Panels[0].Text:='新邮件已经入库'; 
    edtName.Text:=''; 
    edtEmail.Text:=''; 
    edtZone.Text:=''; 
    //ADODataSet1.Close; 
    displayRecord; 
    end; 
    end; 
end; 
 
procedure TfrmListmail.BitBtn2Click(Sender: TObject); 
var 
    sEmail,sql0:string; 
    i:integer; 
begin 
    sEmail:=trim(edtEmail.Text); 
    if sEmail<>'' then 
    begin 
    i:=pos('@',sEmail); 
    if i>0 then 
    begin 
    //sql0:='insert into email(name,mails,zone,inputdate) value('''+edtName.Text+''','''+edtEmail.Text+''','''+edtZone.Text+''',now)'; 
    sql0:='select * from email'; 
    ADODataSet1.Close; 
    ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
            ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    ADODataSet1.CommandType:=cmdText; 
    ADODataSet1.CommandText:=sql0; 
    ADODataSet1.Open; 
    //ADOQuery1.SQL.Clear; 
    //ADOQuery1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
    //        ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    //ADOQuery1.SQL.Add(sql0); 
    //ADOQuery1.Open; 
    ADODataSet1.Insert; 
    if trim(edtName.Text)<>'' then 
        ADODataSet1.FieldByName('name').AsString:=edtName.Text; 
    ADODataSet1.FieldByName('mails').AsString:=edtEmail.Text; 
    if trim(edtZone.Text)<>'' then 
        ADODataSet1.FieldByName('zone').AsString:=edtZone.Text; 
    ADODataSet1.FieldByName('inputDate').AsDateTime:=now; 
    ADODataSet1.Post; 
    frmMain.StatusBar1.Panels[0].Text:='新邮件已经入库'; 
    edtName.Text:=''; 
    edtEmail.Text:=''; 
    edtZone.Text:=''; 
    //ADODataSet1.Close; 
    displayRecord; 
    end; 
    end; 
end; 
 
procedure TfrmListmail.Button2Click(Sender: TObject); 
var 
   sql0:string; 
begin 
sql0:='select id as 编号,name as 姓名,mails as email,inputdate as 入库时间 from email where mails like ''%'+edtFind.Text+'%'''; 
ADODataSet1.Close; 
ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Paramstr(0))+ 
          'db\GroupMail.mdb;Jet OLEDB:Database Password=820745'; 
ADODataSet1.CommandType:=cmdText; 
ADODataSet1.CommandText:=sql0; 
ADODataSet1.Open; 
DBGrid1.Columns.Items[0].Width:=70; 
DBGrid1.Columns.Items[1].Width:=100; 
DBGrid1.Columns.Items[2].Width:=170; 
DBGrid1.Columns.Items[3].Width:=170; 
clearSta; 
if ADODataSet1.RecordCount>0 then 
    begin 
     frmMain.StatusBar1.Panels[0].Text:='查询数据成功'; 
     frmMain.StatusBar1.Panels[2].Text:='查询邮件结果有:'+IntToStr(ADODataSet1.RecordCount); 
    end 
    else 
    begin 
      Application.MessageBox('没有找到任何记录','确认',MB_OKCANCEL); 
      frmMain.StatusBar1.Panels[0].Text:='没有找到任何记录'; 
    end; 
//ADODataSet1.Close; 
end; 
 
procedure TfrmListmail.N1Click(Sender: TObject); 
begin 
displayRecord; 
end; 
 
procedure TfrmListmail.N3Click(Sender: TObject); 
begin 
ADODataSet1.First; 
end; 
 
procedure TfrmListmail.N4Click(Sender: TObject); 
begin 
ADODataSet1.Next; 
end; 
 
procedure TfrmListmail.N5Click(Sender: TObject); 
begin 
ADODataSet1.Prior; 
end; 
 
procedure TfrmListmail.N6Click(Sender: TObject); 
begin 
ADODataSet1.Last; 
end; 
 
procedure TfrmListmail.BitBtn3Click(Sender: TObject); 
var 
    sql:string; 
begin 
    try 
    sql:='delete from email'; 
    ADODataSet1.Close; 
    ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='+ 
            ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password=820745'; 
    ADODataSet1.CommandType:=cmdText; 
    ADODataSet1.CommandText:=sql; 
    ADODataSet1.Open; 
    except 
        on E:exception do 
            frmMain.StatusBar1.Panels[0].Text:='数据错误:'+E.Message; 
    end; 
end; 
 
end.