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

📄 unitsendsmsform.pas

📁 串口短信猫收发软件。支持西门子TC35i设备
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit UnitSendSMSForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls, RzEdit, Mask,
  RzBtnEdt, RzButton, RzLabel, RzTabs, ImgList, RzLstBox, ComCtrls,
  RzTreeVw, RzPanel, RzDBGrid, ActnList, Menus, RzRadChk, RzRadGrp, Buttons,
  RzListVw, RzDBEdit, DBActns;

type
  TSendSMSForm = class(TForm)
    RzPageControl1: TRzPageControl;
    TabSheet1: TRzTabSheet;
    TabSheet3: TRzTabSheet;
    TabSheet2: TRzTabSheet;
    TabSheet4: TRzTabSheet;
    ImageList1: TImageList;
    RzLabel3: TRzLabel;
    RzEdit_QueryCity: TRzEdit;
    RzBitBtn2: TRzBitBtn;
    ActionList1: TActionList;
    PopupMenu1: TPopupMenu;
    PopupMenu2: TPopupMenu;
    Action_AddAddrGroup: TAction;
    Action_EditAddrGroup: TAction;
    Action_DelAddrGroup: TAction;
    Action_AddSMSGroup: TAction;
    Action_EditSMSGroup: TAction;
    Action_DelSMSGroup: TAction;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    RzLabel4: TRzLabel;
    RzGroupBox1: TRzGroupBox;
    RzBitBtn1: TRzBitBtn;
    Action_InsertTel: TAction;
    Action_InsertSMS: TAction;
    Action_InsertEndDefName: TAction;
    RzListView_AddRequest: TRzListView;
    RzEdit_QueryTel: TRzEdit;
    RzDBGrid_AddrGroup: TRzDBGrid;
    RzDBGrid_TextGroup: TRzDBGrid;
    RzPanel1: TRzPanel;
    RzDBGrid_Addr: TRzDBGrid;
    RzPanel2: TRzPanel;
    RzDBGrid_Text: TRzDBGrid;
    DataSetInsert1: TDataSetInsert;
    DataSetDelete1: TDataSetDelete;
    DataSetEdit1: TDataSetEdit;
    DataSetPost1: TDataSetPost;
    DataSetCancel1: TDataSetCancel;
    DataSetInsert2: TDataSetInsert;
    DataSetDelete2: TDataSetDelete;
    DataSetEdit2: TDataSetEdit;
    DataSetPost2: TDataSetPost;
    DataSetCancel2: TDataSetCancel;
    RzPanel3: TRzPanel;
    RzBitBtn4: TRzBitBtn;
    RzBitBtn5: TRzBitBtn;
    RzBitBtn6: TRzBitBtn;
    RzBitBtn7: TRzBitBtn;
    RzBitBtn8: TRzBitBtn;
    RzPanel4: TRzPanel;
    RzLabel6: TRzLabel;
    RzLabel7: TRzLabel;
    RzLabel8: TRzLabel;
    RzDBEdit1: TRzDBEdit;
    RzDBEdit2: TRzDBEdit;
    RzDBEdit3: TRzDBEdit;
    RzPanel5: TRzPanel;
    RzBitBtn9: TRzBitBtn;
    RzBitBtn10: TRzBitBtn;
    RzBitBtn11: TRzBitBtn;
    RzBitBtn12: TRzBitBtn;
    RzBitBtn13: TRzBitBtn;
    RzPanel6: TRzPanel;
    RzLabel9: TRzLabel;
    RzDBEdit4: TRzDBEdit;
    RzLabel10: TRzLabel;
    RzDBEdit5: TRzDBEdit;
    RzLabel11: TRzLabel;
    RzDBEdit6: TRzDBEdit;
    RzBitBtn14: TRzBitBtn;
    RzPanel7: TRzPanel;
    RzLabel_Tel: TRzLabel;
    RzURLLabel2: TRzURLLabel;
    RzMemo_RequestTel: TRzMemo;
    RzLabel_Text: TRzLabel;
    RzLabel_TextCount: TRzLabel;
    RzURLLabel1: TRzURLLabel;
    RzMemo_RequestText: TRzMemo;
    RzBitBtn3: TRzBitBtn;
    RzLabel1: TRzLabel;
    RzLabel2: TRzLabel;
    RzLabel5: TRzLabel;
    RzEdit_QueryArea: TRzEdit;
    RzEdit_QueryType: TRzEdit;
    RzEdit_QueryRegion: TRzEdit;
    RzBitBtn_EditTel: TRzBitBtn;
    RzBitBtn_SaveTel: TRzBitBtn;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure Action_AddAddrGroupExecute(Sender: TObject);
    procedure Action_EditAddrGroupExecute(Sender: TObject);
    procedure Action_DelAddrGroupExecute(Sender: TObject);
    procedure Action_AddSMSGroupExecute(Sender: TObject);
    procedure Action_EditSMSGroupExecute(Sender: TObject);
    procedure Action_DelSMSGroupExecute(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure RzListView_AddRequestDblClick(Sender: TObject);
    procedure RzBitBtn3Click(Sender: TObject);
    procedure RzMemo_RequestTelKeyPress(Sender: TObject; var Key: Char);
    procedure RzBitBtn14Click(Sender: TObject);
    procedure RzMemo_RequestTextChange(Sender: TObject);
    procedure RzURLLabel2Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure RzURLLabel1Click(Sender: TObject);
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzEdit_QueryTelChange(Sender: TObject);
    procedure RzEdit_QueryTelKeyPress(Sender: TObject; var Key: Char);
    procedure RzBitBtn_EditTelClick(Sender: TObject);
    procedure RzBitBtn_SaveTelClick(Sender: TObject);
  private
    FSendTel, FSendData: string;
    procedure OpenAddr;
    procedure OpenText;
  public
    constructor Create(AOwner: TComponent; SendTel, SendData: string);
  end;

const
  YES_SEND = '已发';
  NO_SEND = '未发';

implementation

uses UnitDM, UnitSelectTelForm, UnitSelectTextForm, UnitPublicFun;

{$R *.dfm}

procedure TSendSMSForm.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=27 then Close;
end;

procedure TSendSMSForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action := caFree;
  DM.DSet_AddrGroup.Close;
  DM.DSet_Addr.Close;
  DM.DSet_TextGroup.Close;
  DM.DSet_Text.Close;
end;

procedure TSendSMSForm.FormShow(Sender: TObject);
begin
  OpenAddr;
  OpenText;
  RzPageControl1.ActivePage := TabSheet1;
  if FSendTel<>'' then
  begin
    RzMemo_RequestTel.Lines.Add(FSendTel);
    RzMemo_RequestText.SetFocus;
  end;
  if FSendData<>'' then
  begin
    RzMemo_RequestText.Lines.Text := FSendData;
  end;
end;

procedure TSendSMSForm.Action_AddAddrGroupExecute(Sender: TObject);
var
  s1: string;
begin
//增加通讯群组
  if not InputQuery('请输入    ', '通讯群组名称:    ', s1) then
  begin
    Exit;
  end;
  s1 := Trim(s1);
  if s1='' then
  begin
    Application.MessageBox('群组名称不能为空,增加通讯群组失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if not DM.AddAddrGroup(s1) then
  begin
    Application.MessageBox('更新通讯群组数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenAddr;  
end;

procedure TSendSMSForm.Action_EditAddrGroupExecute(Sender: TObject);
var
  s1, s2: string;
begin
//修改通讯群组
  s1 := DM.DSet_AddrGroup.FieldByName('addrgroup_name').AsString;
  s1 := InputBox('请输入    ', '通讯群组名称:    ', s1);
  s1 := Trim(s1);
  if s1=DM.DSet_AddrGroup.FieldByName('addrgroup_name').AsString then
  begin
    Exit;
  end;
  if s1='' then
  begin
    Application.MessageBox('群组名称不能为空,修改通讯群组失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  s2 := DM.DSet_AddrGroup.FieldByName('addrgroup_id').AsString;
  if s2='' then
  begin
    Application.MessageBox('群组编号不存在,修改通讯群组失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if not DM.UpdateAddrGroup(s2, s1) then
  begin
    Application.MessageBox('更新通讯群组数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenAddr;
end;

procedure TSendSMSForm.Action_DelAddrGroupExecute(Sender: TObject);
var
  s2: string;
begin
//删除通讯群组
  s2 := DM.DSet_AddrGroup.FieldByName('addrgroup_id').AsString;
  if s2='' then
  begin
    Application.MessageBox('群组编号不存在,修改通讯群组失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if Application.MessageBox(PChar('真的要删除群组 "'+DM.DSet_AddrGroup.FieldByName('addrgroup_name').AsString+'" 及其群组下的所有通讯联系人吗?'),'提示',MB_OKCancel + MB_DEFBUTTON2 + MB_IconQuestion)<>ID_OK then
  begin
    Exit;
  end;
  if not DM.DelAddrGroup(s2) then
  begin
    Application.MessageBox('更新通讯群组数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenAddr;
end;

procedure TSendSMSForm.Action_AddSMSGroupExecute(Sender: TObject);
var
  s1: string;
begin
//增加常用短语类别
  if not InputQuery('请输入    ', '常用短语类别:    ', s1) then
  begin
    Exit;
  end;
  s1 := Trim(s1);
  if s1='' then
  begin
    Application.MessageBox('常用短语类别不能为空,增加常用短语类别失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if not DM.AddTextGroup(s1) then
  begin
    Application.MessageBox('更新常用短语类别数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenText;
end;

procedure TSendSMSForm.Action_EditSMSGroupExecute(Sender: TObject);
var
  s1, s2: string;
begin
//修改常用短语类别
  s1 := DM.DSet_TextGroup.FieldByName('textgroup_name').AsString;
  s1 := InputBox('请输入    ', '常用短语类别:    ', s1);
  s1 := Trim(s1);
  if s1=DM.DSet_TextGroup.FieldByName('textgroup_name').AsString then
  begin

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -