www.pudn.com > 邮件群发程序1.2.rar > DataInput.pas
unit DataInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, ADODB, StdCtrls, Buttons, Menus;
type
TfrmInput = class(TForm)
OpenDialog1: TOpenDialog;
BitBtn1: TBitBtn;
GroupBox1: TGroupBox;
Label1: TLabel;
edtFile: TEdit;
SpeedButton1: TSpeedButton;
Memo1: TMemo;
ADODataSet1: TADODataSet;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure ConnectDB(sql:string);
end;
var
frmInput: TfrmInput;
iVal:integer;
const pws='820745';
implementation
uses mail;
{$R *.dfm}
procedure TfrmInput.ConnectDB(sql:string);
var
sqls,strs:string;
begin
frmMain.StatusBar1.Panels[0].Text:='数据准备入库、正在检测...';
strs:=sql;
sqls:='select * from email where mails='''+strs+'''';
//sqls:='insert into email(mails) value('''+strs+''')';
ADODataSet1.Close;
ADODataSet1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source='
+ExtractFilePath(paramstr(0))+'db\GroupMail.mdb; Jet OLEDB:Database Password='+pws;
ADODataSet1.CommandType:=cmdText;
ADODataSet1.CommandText:=sqls;
ADODataSet1.Open;
if ADODataSet1.RecordCount<1 then
begin
ADODataSet1.Insert;
ADODataSet1.FieldByName('mails').AsString:=strs;
ADODataSet1.FieldByName('inputdate').AsDateTime:=now;
ADODataSet1.Post;
frmMain.StatusBar1.Panels[0].Text:='数据已经入库';
end;
ADODataSet1.Close;
end;
procedure TfrmInput.FormClose(Sender: TObject; var Action: TCloseAction);
begin
clearSta;
free;
end;
procedure TfrmInput.BitBtn1Click(Sender: TObject);
var
ff:TextFile;
sql1,str:string;
iFind,num:integer;
begin
if Trim(edtFile.Text)='' then
begin
Application.MessageBox('还没有指定文本文件','确认',MB_IConinformation+MB_OKCANCEL);
frmMain.StatusBar1.Panels[0].Text:='还没有指定文本文件';
Exit;
end;
frmMain.StatusBar1.Panels[0].Text:='正在导入邮件...';
if trim(edtFile.Text)='' then
begin
Application.MessageBox('还没有打开文本文件','错误',MB_YESNO+MB_IConinformation);
exit;
end;
num:=1;
AssignFile(ff,edtFile.Text);
Reset(ff);
try
while not eof(ff) do
begin
Readln(ff,str);
if trim(str)<>'' then
begin
iFind:=pos('@',str);
if iFind>0 then
begin
memo1.Lines.Add(str);
ConnectDB(str);
frmMain.StatusBar1.Panels[1].Text:='导入:'+inttostr(num);
Inc(num);
end;
end;
end;
finally
CloseFile(ff);
end;
memo1.Clear;
frmMain.StatusBar1.Panels[0].Text:='已经导入邮件';
end;
procedure TfrmInput.SpeedButton1Click(Sender: TObject);
begin
OpenDialog1.Filter:='*.txt(*.txt)|*.txt';
if OpenDialog1.Execute then
edtFile.Text:=OpenDialog1.FileName;
end;
procedure TfrmInput.FormCreate(Sender: TObject);
var
num:integer;
begin
for num:=0 to 2 do
frmMain.StatusBar1.Panels[num].Text:='';
end;
end.