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

📄 unitsendsmsform.pas

📁 串口短信猫收发软件。支持西门子TC35i设备
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    Exit;
  end;
  if s1='' then
  begin
    Application.MessageBox('常用短语类别不能为空,修改常用短语类别失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  s2 := DM.DSet_TextGroup.FieldByName('textgroup_id').AsString;
  if s2='' then
  begin
    Application.MessageBox('常用短语类别编号不存在,修改常用短语类别失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if not DM.UpdateTextGroup(s2, s1) then
  begin
    Application.MessageBox('更新常用短语类别数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenText;
end;

procedure TSendSMSForm.Action_DelSMSGroupExecute(Sender: TObject);
var
  s2: string;
begin
//删除常用短语类别
  s2 := DM.DSet_TextGroup.FieldByName('textgroup_id').AsString;
  if s2='' then
  begin
    Application.MessageBox('常用短语类别编号不存在,修改常用短语类别失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  if Application.MessageBox(PChar('真的要删除常用短语类别 "'+DM.DSet_TextGroup.FieldByName('textgroup_name').AsString+'" 及其类别下的所有常用短语吗?'),'提示',MB_OKCancel + MB_DEFBUTTON2 + MB_IconQuestion)<>ID_OK then
  begin
    Exit;
  end;
  if not DM.DelTextGroup(s2) then
  begin
    Application.MessageBox('更新常用短语类别数据失败!', '错误', MB_OK + MB_ICONWARNING);
    Exit;
  end;
  OpenText;
end;

procedure TSendSMSForm.OpenAddr;
begin
  try
    DM.DSet_AddrGroup.Close;
    DM.DSet_Addr.Close;
    DM.DSet_AddrGroup.Open;
    DM.DSet_Addr.Open;
  except
    Application.MessageBox('打开通讯簿数据错误!', '提示', MB_OK + MB_ICONWARNING);
    Close;
  end;
end;

procedure TSendSMSForm.OpenText;
begin
  try
    DM.DSet_TextGroup.Close;
    DM.DSet_Text.Close;
    DM.DSet_TextGroup.Open;
    DM.DSet_Text.Open;
  except
    Application.MessageBox('打开常用短语数据错误!', '提示', MB_OK + MB_ICONWARNING);
    Close;
  end;
end;

procedure TSendSMSForm.RzBitBtn1Click(Sender: TObject);
begin
  RzListView_AddRequest.Items.Clear;
end;

procedure TSendSMSForm.RzListView_AddRequestDblClick(Sender: TObject);
begin
  RzListView_AddRequest.DeleteSelected;
end;

procedure TSendSMSForm.RzBitBtn3Click(Sender: TObject);
var
  i: integer;
  RequestTelList: TStrings;
  RequestTel, RequestText: string;
  Li: TListItem;
begin
  RequestTelList := RzMemo_RequestTel.Lines;
  for i:=0 to RzMemo_RequestText.Lines.Count-1 do
  begin
    RequestText := RequestText + Trim(RzMemo_RequestText.Lines.Strings[i]);
  end;
  RequestText := Trim(RequestText);
  if RequestTelList.Count<=0 then
  begin
    Application.MessageBox('请输入电话号码!', '提示', MB_OK + MB_ICONINFORMATION);
    RzMemo_RequestTel.SetFocus;
    Exit;
  end;
  if (RequestText='') then
  begin
    Application.MessageBox('请输入短信内容!', '提示', MB_OK + MB_ICONINFORMATION);
    RzMemo_RequestText.SetFocus;
    Exit;
  end;
  if (Length(RequestText)>140) then
  begin
    Application.MessageBox('短信内容过长,每条短信内容最多只能输入140个字符或70个中文汉字!', '提示', MB_OK + MB_ICONINFORMATION);
    RzMemo_RequestText.SetFocus;
    Exit;
  end;
  for i:=0 to RequestTelList.Count-1 do
  begin
    RequestTel := Trim(RequestTelList.Strings[i]);
    if RequestTel='' then continue;
    Li := RzListView_AddRequest.Items.Add;
    Li.SubItems.Add(NO_SEND);
    Li.SubItems.Add(RequestTel);
    Li.SubItems.Add(RequestText);
  end;
end;

procedure TSendSMSForm.RzMemo_RequestTelKeyPress(Sender: TObject;
  var Key: Char);
begin
  if not (Key in ['0'..'9', #13, #8]) then Key := #0;
end;

procedure TSendSMSForm.RzBitBtn14Click(Sender: TObject);
var
  i, iCount, iSend: integer;
  Li: TListItem;
  RequestTel, RequestText: string;
begin
  iCount := RzListView_AddRequest.Items.Count;
  if iCount<=0 then
  begin
    Application.MessageBox('请输入电话号码和短信内容,然后点击"添加到待发送列表"按钮!', '提示', MB_OK + MB_ICONINFORMATION);
    RzMemo_RequestTel.SetFocus;
    Exit;
  end;
  iSend := 0;
  for i:=0 to iCount-1 do
  begin
    Li := RzListView_AddRequest.Items[i];
    if Li.SubItems.Strings[0] = YES_SEND then continue;
    RequestTel := Trim(Li.SubItems.Strings[1]);
    RequestText := Trim(Li.SubItems.Strings[2]);
    if (RequestTel='')or(RequestText='')or(Length(RequestText)>140) then continue;
    if DM.AddRequest(FormatDateTime(FORMATDATETIME_DEF, Now), RequestTel, RequestText) then
    begin
      Li.SubItems.Strings[0] := YES_SEND;
      Inc(iSend);
    end
    else
    begin
      Li.SubItems.Strings[0] := NO_SEND;
    end;
  end;
  if iSend<=0 then
  begin
    Application.MessageBox('没有可以发送的短信,已经发送的短信不能重复发送!', '提示', MB_OK + MB_ICONINFORMATION);
    Exit;
  end;
//  if Application.MessageBox(PChar('已经申请发送短信 ' + IntToStr(iSend) + ' 条,是否清除列表?'),'提示',MB_OKCancel + MB_DEFBUTTON1 + MB_IconQuestion)=ID_OK then
  begin
    RzListView_AddRequest.Items.Clear;
  end;
end;

procedure TSendSMSForm.RzMemo_RequestTextChange(Sender: TObject);
begin
  RzLabel_TextCount.Caption := IntToStr(Length(RzMemo_RequestText.Text)) + '/140';
end;

procedure TSendSMSForm.RzURLLabel2Click(Sender: TObject);
begin
  with TSelectTelForm.Create(nil, RzMemo_RequestTel) do
  begin
    try
      ShowModal;
    finally
      Free;
    end;
  end;
end;

procedure TSendSMSForm.RzURLLabel1Click(Sender: TObject);
begin
  with TSelectTextForm.Create(nil, RzMemo_RequestText) do
  begin
    try
      ShowModal;
    finally
      Free;
    end;
  end;
end;

procedure TSendSMSForm.RzBitBtn2Click(Sender: TObject);
var
  phone_city, phone_area, phone_type, phone_region: string;
begin
  if not DM.GetPhonePlace(Trim(RzEdit_QueryTel.Text), phone_city, phone_area, phone_type, phone_region) then
  begin
    //没找到
  end;
  RzEdit_QueryCity.Text := phone_city;
  RzEdit_QueryArea.Text := phone_area;
  RzEdit_QueryType.Text := phone_type;
  RzEdit_QueryRegion.Text := phone_region;
  RzBitBtn_EditTel.Enabled := True;
end;

procedure TSendSMSForm.RzEdit_QueryTelChange(Sender: TObject);
begin
  RzBitBtn_EditTel.Enabled := False;
  RzBitBtn_SaveTel.Enabled := False;
  RzBitBtn_SaveTel.Enabled := False;
  RzEdit_QueryCity.Enabled := False;
  RzEdit_QueryCity.Color := clBtnFace;
  RzEdit_QueryArea.Enabled := False;
  RzEdit_QueryArea.Color := clBtnFace;
  RzEdit_QueryType.Enabled := False;
  RzEdit_QueryType.Color := clBtnFace;
  RzEdit_QueryRegion.Enabled := False;
  RzEdit_QueryRegion.Color := clBtnFace;
  RzEdit_QueryCity.Text := '';
  RzEdit_QueryArea.Text := '';
  RzEdit_QueryType.Text := '';
  RzEdit_QueryRegion.Text := '';
end;

procedure TSendSMSForm.RzEdit_QueryTelKeyPress(Sender: TObject;
  var Key: Char);
begin
  if Key=#13 then RzBitBtn2.Click;
end;

constructor TSendSMSForm.Create(AOwner: TComponent; SendTel, SendData: string);
begin
  inherited Create(AOwner);
  FSendTel := SendTel;
  FSendData := SendData;
end;

procedure TSendSMSForm.RzBitBtn_EditTelClick(Sender: TObject);
begin
  RzBitBtn_EditTel.Enabled := False;
  RzBitBtn_SaveTel.Enabled := True;
  RzEdit_QueryCity.Enabled := True;
  RzEdit_QueryCity.Color := clWindow;
  RzEdit_QueryArea.Enabled := True;
  RzEdit_QueryArea.Color := clWindow;
  RzEdit_QueryType.Enabled := True;
  RzEdit_QueryType.Color := clWindow;
  RzEdit_QueryRegion.Enabled := True;
  RzEdit_QueryRegion.Color := clWindow;
end;

procedure TSendSMSForm.RzBitBtn_SaveTelClick(Sender: TObject);
var
  phone_prefix, phone_city, phone_area, phone_type, phone_region: string;
begin
  phone_prefix := Trim(RzEdit_QueryTel.Text);
  phone_city := Trim(RzEdit_QueryCity.Text);
  phone_area := Trim(RzEdit_QueryArea.Text);
  phone_type := Trim(RzEdit_QueryType.Text);
  phone_region := Trim(RzEdit_QueryRegion.Text);
  if DM.UpdatePhonePlace(phone_prefix, phone_city, phone_area, phone_type, phone_region) then
  begin
    Application.MessageBox('电话号码归属地信息保存成功!', '提示', MB_OK + MB_ICONINFORMATION);
    RzBitBtn_EditTel.Enabled := True;
    RzBitBtn_SaveTel.Enabled := False;
    RzEdit_QueryCity.Enabled := False;
    RzEdit_QueryCity.Color := clBtnFace;
    RzEdit_QueryArea.Enabled := False;
    RzEdit_QueryArea.Color := clBtnFace;
    RzEdit_QueryType.Enabled := False;
    RzEdit_QueryType.Color := clBtnFace;
    RzEdit_QueryRegion.Enabled := False;
    RzEdit_QueryRegion.Color := clBtnFace;
  end;
end;

end.

⌨️ 快捷键说明

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