📄 unit_sendinfo.pas
字号:
unit unit_SendInfo;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Buttons, ExtCtrls, Db, DBTables, TFlatEditUnit,
TFlatButtonUnit, TFlatMemoUnit;
type
TFrm_SendInfo = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Label1: TLabel;
Panel5: TPanel;
Panel6: TPanel;
Label2: TLabel;
Panel7: TPanel;
DBGrid1: TDBGrid;
Panel8: TPanel;
Panel9: TPanel;
ListBox1: TListBox;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
Query1: TQuery;
DataSource1: TDataSource;
Panel10: TPanel;
Panel11: TPanel;
Label3: TLabel;
SP_DXFW: TStoredProc;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
Edit1: TFlatEdit;
FlatButton1: TFlatButton;
Memo1: TFlatMemo;
BitBtn4: TFlatButton;
BitBtn1: TFlatButton;
FlatButton2: TFlatButton;
FlatButton3: TFlatButton;
procedure BitBtn3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
procedure ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
procedure SpeedButton3Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Memo1KeyPress(Sender: TObject; var Key: Char);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
procedure SendDX(nr:String;SJ:String;InGh:String;FXR:String;Sid:String);
public
{ Public declarations }
PubSQL:String;
end;
var
Frm_SendInfo: TFrm_SendInfo;
implementation
Uses
Unit_SelectInfoP,Main;
{$R *.DFM}
procedure TFrm_SendInfo.SendDX(nr:String;SJ:String;InGh:String;FXR:String;Sid:String);
Begin
SP_DXFW.Close;
SP_DXFW.ParamByName('P_DXNR').AsString:=Trim(nr);
SP_DXFW.ParamByName('P_FXSJ').AsString:=SJ;
SP_DXFW.ParamByName('P_YXJ').AsString:='1';
SP_DXFW.ParamByName('P_INGH').AsString:=InGH;
SP_DXFW.ParamByName('P_FXR').AsString:=FXR;
SP_DXFW.ParamByName('P_SID').AsString:=Sid;
SP_DXFW.ExecProc;
End;
procedure TFrm_SendInfo.BitBtn3Click(Sender: TObject);
begin
Close;
end;
procedure TFrm_SendInfo.FormShow(Sender: TObject);
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(PubSQL);
Query1.Open;
ListBox1.Items.Clear;
Memo1.SetFocus;
end;
procedure TFrm_SendInfo.SpeedButton1Click(Sender: TObject);
begin
If (Length(Trim(Edit1.Text))<11) Or (Length(Trim(Edit1.Text))>15) Then
Begin
ShowMessage('您输入的手机号码不合法,请重新输入!');
Edit1.SetFocus;
Exit;
End;
If ListBox1.Items.IndexOf(Edit1.Text)>=0 Then
Begin
ShowMessage(Edit1.Text+'已经存在发信箱中!');
Edit1.SetFocus;
Exit;
End
Else
Begin
ListBox1.Items.Add(Trim(Edit1.Text));
Edit1.Text:='';
Edit1.SetFocus;
Label1.Caption:='总用户数:'+IntToStr(ListBox1.Items.Count);
End;
end;
procedure TFrm_SendInfo.ListBox1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
// Accept := Source is TDBGrid;
end;
procedure TFrm_SendInfo.ListBox1DragDrop(Sender, Source: TObject; X,
Y: Integer);
begin
// If (Sender Is TListBox) and (Source Is TDBGrid) Then
// SpeedButton2Click(Nil);
end;
procedure TFrm_SendInfo.SpeedButton3Click(Sender: TObject);
begin
If ListBox1.Items.Count>0 Then
ListBox1.Items.Delete(ListBox1.ItemIndex);
Label1.Caption:='总用户数:'+IntToStr(ListBox1.Items.Count);
If ListBox1.Items.Count=0 Then
Begin
SpeedButton3.Enabled:=False;
SpeedButton5.Enabled:=False;
End;
end;
procedure TFrm_SendInfo.SpeedButton2Click(Sender: TObject);
begin
If Query1.RecordCount>0 Then
If ListBox1.Items.IndexOf(Query1.FieldByName('SID').AsString)>=0 Then
Begin
ShowMessage(Query1.FieldByName('SID').AsString+'已经存在发信箱中!');
End
Else
Begin
ListBox1.Items.Add(Query1.FieldByName('SID').AsString);
Label1.Caption:='总用户数:'+IntToStr(ListBox1.Items.Count);
End;
SpeedButton3.Enabled:=True;
SpeedButton5.Enabled:=True;
end;
procedure TFrm_SendInfo.BitBtn4Click(Sender: TObject);
begin
Application.CreateForm(TFrm_SelectInfo, Frm_SelectInfo);
Frm_SelectInfo.ShowModal;
If Frm_SelectInfo.PubStr<>'' Then
Begin
Memo1.Text:=Frm_SelectInfo.PubStr;
Edit1.SetFocus;
End
Else
Memo1.SetFocus;
end;
procedure TFrm_SendInfo.BitBtn1Click(Sender: TObject);
Var
I:Integer;
begin
For I:=0 To ListBox1.Items.Count-1 Do
SendDX(Trim(Memo1.Text),FormatDateTime('YYYYMMDD HH:NN:SS',Now),GH,'',Trim(ListBox1.Items.Strings[I]));
ShowMessage('共发送'+IntToStr(ListBox1.Items.Count)+'条短信!');
ListBox1.Items.Clear;
Label1.Caption:='总用户数:0';
Edit1.SetFocus;
end;
procedure TFrm_SendInfo.BitBtn2Click(Sender: TObject);
begin
ListBox1.Items.Clear;
Label1.Caption:='总用户数:0';
Edit1.SetFocus;
end;
procedure TFrm_SendInfo.Memo1KeyPress(Sender: TObject; var Key: Char);
begin
If Key=#13 Then
Edit1.SetFocus;
end;
procedure TFrm_SendInfo.SpeedButton5Click(Sender: TObject);
begin
ListBox1.Items.Clear;
Label1.Caption:='总用户数:0';
If ListBox1.Items.Count=0 Then
Begin
SpeedButton3.Enabled:=False;
SpeedButton5.Enabled:=False;
End;
end;
procedure TFrm_SendInfo.SpeedButton4Click(Sender: TObject);
begin
If Not (Query1.Eof And Query1.Bof) Then
Query1.First;
While Not Query1.Eof Do
Begin
If ListBox1.Items.IndexOf(Query1.FieldByName('SID').AsString)=-1 Then
ListBox1.Items.Add(Query1.FieldByName('SID').AsString);
Query1.Next;
End;
Label1.Caption:='总用户数:'+IntToStr(ListBox1.Items.Count);
SpeedButton3.Enabled:=True;
SpeedButton5.Enabled:=True;
end;
procedure TFrm_SendInfo.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If Not (Key in ['0'..'9',#13,#8]) Then
Key:=#0
Else
If Key=#13 Then
SpeedButton1Click(Nil);
end;
procedure TFrm_SendInfo.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -