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

📄 sm_msgp.pas

📁 SM_Msg.rar 手机短信发送程序
💻 PAS
📖 第 1 页 / 共 4 页
字号:
end;

procedure TfrmSM_Msg.bit_ReadSMClick(Sender: TObject);
begin
inc(SIM_MsgCount);
CommCMGR;
end;

procedure TfrmSM_Msg.V1Click(Sender: TObject);
begin
  mem_InfoSend.PasteFromClipboard;
  mem_InfoSend.SetFocus;
end;

procedure TfrmSM_Msg.N16Click(Sender: TObject);
begin
  mem_InfoSend.CopyToClipboard;
  mem_InfoSend.SetFocus;
end;

procedure TfrmSM_Msg.D1Click(Sender: TObject);
begin
mem_InfoSend.Clear;
mem_InfoSend.SetFocus;
end;

procedure TfrmSM_Msg.sgrdString1DblClick(Sender: TObject);
var
 s:string;
begin
s:=sgrdString1.Cells[1,sgrdString1.Row];
mem_InfoSend.Lines.Add(s);
PageControl1.TabIndex:=0;
end;

procedure TfrmSM_Msg.N1Click(Sender: TObject);
begin
PageControl1.TabIndex:=3;
end;

procedure TfrmSM_Msg.MenuItem5Click(Sender: TObject);
begin
mem_InfoReceive.Clear;
end;

procedure TfrmSM_Msg.MenuItem3Click(Sender: TObject);
begin
mem_InfoReceive.CopyToClipboard;
mem_InfoReceive.SetFocus;
end;

procedure TfrmSM_Msg.bit_StopSendClick(Sender: TObject);
begin
CurLogMsg(0,'当前操作被终止!');
stat_msg:='状态:当前操作被终止!';
TmrSend.Enabled:=False;
TmrReceive.Enabled:=False;
bit_Send.Enabled:=True;
bit_ReadSM.Enabled:=True;
ReceiveStr:='';
Timer1.Interval:=1000;
if MobilePhone_List.Count>1 then
 begin
  CommRefresh;
  MobilePhone_List.Delete(0);
  TmrSend.Enabled:=True;
 end;
end;

procedure TfrmSM_Msg.TV_PhoneNoteGetSelectedIndex(Sender: TObject;
  Node: TTreeNode);
var
 PhoneNote_Store:PUserInfo;
 i:Integer;
begin
if FNode=1 then  Refresh_sgrd(2);
Cur_Point:=TV_PhoneNote.Selected.Index;
if (UserPhoneNote_Store.Count>0)and(FNode>1) then
 begin
  for i:=0 to UserPhoneNote_Store.Count-1 do
   begin
    PhoneNote_Store:=UserPhoneNote_Store[i];
    if (Classe_ID=PhoneNote_Store^.FClasse_ID)and
       (Cur_Point=PhoneNote_Store^.FCurPoint) then
     begin
      with sgrdString2 do
       begin
        Cells[1,0]:=PhoneNote_Store^.FName;
        Cells[1,1]:=PhoneNote_Store^.FPhoneNum1;
        Cells[1,2]:=PhoneNote_Store^.FPhoneNum2;
        Cells[1,3]:=PhoneNote_Store^.FFax;
        Cells[1,4]:=PhoneNote_Store^.FHomePhone;
        Cells[1,5]:=PhoneNote_Store^.FMobilePhone;
        Cells[1,6]:=PhoneNote_Store^.FEmail;
        Cells[1,7]:=PhoneNote_Store^.FUnit;
        Cells[1,8]:=PhoneNote_Store^.FOfficeAdd;
        Cells[1,9]:=PhoneNote_Store^.FCommAdd;
        Cells[1,10]:=PhoneNote_Store^.FPost;
        Cells[1,11]:=PhoneNote_Store^.FRetic;
        Cells[1,12]:=PhoneNote_Store^.FQQNum;
        Cells[1,13]:=PhoneNote_Store^.FBZ;
       end;
     end;
   end;
  end;
end;

procedure TfrmSM_Msg.TV_PhoneNoteChanging(Sender: TObject; Node: TTreeNode;
  var AllowChange: Boolean);
begin
FNode:=Node.Level;
Classe_ID:=Node.Parent.Index;
end;

procedure TfrmSM_Msg.sgrdString3KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
 if (Key=VK_Delete) then  bit_DelChatMsg.OnClick(nil);
end;

procedure TfrmSM_Msg.bit_SendKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (Key=VK_Control)or(Key=VK_Return) then
 if Key=VK_Return then Bit_Send.OnClick(nil);
end;

procedure TfrmSM_Msg.bit_PhoneNoteDelClick(Sender: TObject);
var
 PhoneNote_Store:PUserInfo;
 FFCurIndex,i:Integer;
 FClass:string;
begin
if FNode>1 then
if Application.MessageBox('是否删除此记录?','确认',
       MB_IconQuestion+MB_YesNo)=IDYes then
begin
 for i:=0 to UserPhoneNote_Store.Count-1 do
  begin
   PhoneNote_Store:=UserPhoneNote_Store[i];
   if (Classe_ID=PhoneNote_Store^.FClasse_ID)and
      (Cur_Point=PhoneNote_Store^.FCurPoint) then
    begin
    FFCurIndex:=PhoneNote_Store^.FCurIndex;
    FClass:=PhoneNote_Store^.FClasse;
     with frmMsgDB.delNum do
      begin
       Close;
       Parameters.ParamByName('FCurIndex').Value:=FFCurIndex;
       Parameters.ParamByName('FClass').Value:=FClass;
       ExecSQL;
      end;
     UserPhoneNote_Store.Delete(i);
     TV_PhoneNote.Selected.Delete;
     TV_PhoneNote.Refresh;
     Refresh_sgrd(2);
     Exit;
    end;
   end;
 end;
end;

procedure TfrmSM_Msg.BitBtn13Click(Sender: TObject);
begin
{for i:=0 to userphonenote_store.Count-1 do
begin
 phonenote_store:=userphonenote_store[i];
   memo1.Lines.add(inttostr(PhoneNote_store^.FClasse_ID)+inttostr(phonenote_store^.FCurPoint)+
                  phonenote_store^.FClasse+phonenote_store^.FName+phonenote_store^.FMobilePhone);
end;}
CommCPBR;
end;

procedure TfrmSM_Msg.bit_PhoneNoteAppClick(Sender: TObject);
begin
Save_Falg:=1;
bit_PhoneNoteDel.Enabled:=False;
if FNode=2 then
SubNode:=TV_PhoneNote.Items.Add(RootNode.TreeView.Selected,'   ');
if FNode=1 then
SubNode:=TV_PhoneNote.Items.AddChild(RootNode.TreeView.Selected,'   ');
sgrdString2.EditorMode:=True;
SubNode.Selected:=True;
sgrdString2.FixedRows:=0;
sgrdString2.Row:=0;
Refresh_sgrd(2);
sgrdString2.SetFocus;
end;

procedure TfrmSM_Msg.sgrdString2SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
if (Save_Falg=1)and(ARow<>sgrdString2.Row) then
 begin
  sgrdString_State:=stBrowse;
   if  sgrdString2.Cells[1,0]='' then
    begin
     sgrdString2.EditorMode:=True;
     ErrorMsg(1,'姓名不能为空!');
    end else
     TV_PhoneNote.Selected.Text:=sgrdString2.Cells[1,0];
  end;
end;

procedure TfrmSM_Msg.bit_PhoneNoteCanClick(Sender: TObject);
begin
bit_PhoneNoteDel.Enabled:=True;
sgrdString2.EditorMode:=True;
sgrdstring2.FixedRows:=1;
Save_Falg:=0;
if Trim(TV_PhoneNote.Selected.Text)='' then
 begin
  TV_PhoneNote.Selected.Delete;
  Refresh_sgrd(2);
 end else
 begin
  sgrdString2.SetFocus;
  ErrorMsg(1,'不能使用此操作!');
 end;
end;

procedure TfrmSM_Msg.SavePhoneNote_Data(Falg:integer);
var
 PhoneNote_Store:PUserInfo;
 ClassInfo_Store:PClassInfo;
 FCurIndex,Cur_Line,i:Integer;
 FClass:string;
begin
sgrdString2.FixedRows:=1;
if Falg=0 then
begin
bit_PhoneNoteApp.Enabled:=True;
 for i:=0 to UserPhoneNote_Store.Count-1 do
  begin
   Cur_Line:=i;
   PhoneNote_Store:=UserPhoneNote_Store[Cur_Line];
   if (Classe_ID=PhoneNote_Store^.FClasse_ID)and
      (Cur_Point=PhoneNote_Store^.FCurPoint) then
   with sgrdString2 do
    begin
     FClass:=PhoneNote_Store^.FClasse;
     FCurIndex:=PhoneNote_Store^.FCurIndex;
     PhoneNote_Store^.FClasse_ID:=Classe_ID;
     PhoneNote_Store^.FCurPoint:=Cur_Point;
     PhoneNote_Store^.FName:=Cells[1,0];
     PhoneNote_Store^.FPhoneNum1:=Cells[1,1];
     PhoneNote_Store^.FPhoneNum2:=Cells[1,2];
     PhoneNote_Store^.FFax:=Cells[1,3];
     PhoneNote_Store^.FHomePhone:=Cells[1,4];
     PhoneNote_Store^.FMobilePhone:=Cells[1,5];
     PhoneNote_Store^.FEmail:=Cells[1,6];
     PhoneNote_Store^.FUnit:=Cells[1,7];
     PhoneNote_Store^.FOfficeAdd:=Cells[1,8];
     PhoneNote_Store^.FCommAdd:=Cells[1,9];
     PhoneNote_Store^.FPost:=Cells[1,10];
     PhoneNote_Store^.FRetic:=Cells[1,11];
     PhoneNote_Store^.FQQNum:=Cells[1,12];
     PhoneNote_Store^.FBZ:=Cells[1,13];
    end;
   end;
   with frmMsgDB.updNum do
    begin
     Close;
     for i:=0 to Parameters.Count-1 do
        Parameters[i].Value:=sgrdstring2.Cells[1,i];
     Parameters.ParamByName('FFClass').Value:=FClass;
     Parameters.ParamByName('FCurIndex').Value:=FCurIndex;
     ExecSQL;
    end;
 UserPhoneNote_Store.Delete(Cur_Line);
 UserPhoneNote_Store.Insert(Cur_Line,PhoneNote_Store);
end;
if Falg=1 then
 begin
  New(PhoneNote_Store);
  bit_PhoneNoteDel.Enabled:=True;
  ClassInfo_Store:=UserClassInfo_Store[Classe_ID];
   with sgrdString2 do
    begin
     FClass:=ClassInfo_Store.FClass;
     PhoneNote_Store^.FClasse_ID:=Classe_ID;
     PhoneNote_Store^.FCurPoint:=Cur_Point;
     PhoneNote_Store^.FClasse:=FClass;
     PhoneNote_Store^.FName:=Cells[1,0];
     PhoneNote_Store^.FPhoneNum1:=Cells[1,1];
     PhoneNote_Store^.FPhoneNum2:=Cells[1,2];
     PhoneNote_Store^.FFax:=Cells[1,3];
     PhoneNote_Store^.FHomePhone:=Cells[1,4];
     PhoneNote_Store^.FMobilePhone:=Cells[1,5];
     PhoneNote_Store^.FEmail:=Cells[1,6];
     PhoneNote_Store^.FUnit:=Cells[1,7];
     PhoneNote_Store^.FOfficeAdd:=Cells[1,8];
     PhoneNote_Store^.FCommAdd:=Cells[1,9];
     PhoneNote_Store^.FPost:=Cells[1,10];
     PhoneNote_Store^.FRetic:=Cells[1,11];
     PhoneNote_Store^.FQQNum:=Cells[1,12];
     PhoneNote_Store^.FBZ:=Cells[1,13];
    end;
   with frmMsgDB.tblNum do
    begin
     Open;
     Insert;
     Fields[1].Value:=FClass;
     Fields[2].Value:=sgrdString2.Cells[1,0];
     Fields[3].Value:=sgrdString2.Cells[1,1];
     Fields[4].Value:=sgrdString2.Cells[1,2];
     Fields[5].Value:=sgrdString2.Cells[1,3];
     Fields[6].Value:=sgrdString2.Cells[1,4];
     Fields[7].Value:=sgrdString2.Cells[1,5];
     Fields[8].Value:=sgrdString2.Cells[1,6];
     Fields[9].Value:=sgrdString2.Cells[1,7];
     Fields[10].Value:=sgrdString2.Cells[1,8];
     Fields[11].Value:=sgrdString2.Cells[1,9];
     Fields[12].Value:=sgrdString2.Cells[1,10];
     Fields[13].Value:=sgrdString2.Cells[1,11];
     Fields[14].Value:=sgrdString2.Cells[1,12];
     Fields[15].Value:=sgrdString2.Cells[1,13];
     Post;
     FCurIndex:=frmMsgDB.tblNum.Fields[0].Value;
     Close;
    end;
     PhoneNote_Store^.FCurIndex:=FCurIndex;
     UserPhoneNote_Store.Add(PhoneNote_Store);
  end;
 Save_Falg:=0;
end;

procedure TfrmSM_Msg.bit_PhoneNoteSaveClick(Sender: TObject);
begin
if Save_Falg>0 then SavePhoneNote_Data(1) else
 SavePhoneNote_Data(0);
end;

procedure TfrmSM_Msg.bit_SendClick(Sender: TObject);
begin
 Cur_Send;
end;

procedure TfrmSM_Msg.sgrdString2GetEditText(Sender: TObject; ACol,
  ARow: Integer; var Value: String);
begin
if sgrdString_State=stBrowse then
 F_OldValue:=Value;
end;

procedure TfrmSM_Msg.sgrdString2KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if (sgrdString_State<>stBrowse)and(Key=vk_Escape) then
 if sgrdstring_State=stEdit then
   sgrdString2.Cells[1, sgrdString2.Row]:=F_OldValue;
end;

procedure TfrmSM_Msg.sgrdString2SetEditText(Sender: TObject; ACol,
  ARow: Integer; const Value: String);
begin
  if sgrdstring2.EditorMode then
    sgrdstring_State:=stEdit
   else
    sgrdstring_State:=stInsert;
end;

procedure TfrmSM_Msg.StatusBar1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
StartX := X;
StartY := Y;
if ((X>193)and(X<215))and((Y>0)and(Y<18)) then
 begin
  Receive_Message := False;
  RI1 := 0;
 end;
end;

procedure TfrmSM_Msg.StatusBar1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
StartX := X;
StartY := Y;
if ((X>193)and(X<215))and((Y>0)and(Y<18)) then
  StatusBar1.Cursor:=crHandPoint else StatusBar1.Cursor:=crDefault;
end;

procedure TfrmSM_Msg.sgrdString1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
sgrdString1.Hint:=sgrdString1.Cells[1,sgrdString1.Row];
end;

procedure TfrmSM_Msg.StatusBar1DblClick(Sender: TObject);
begin
if ((StartX>193)and(StartX<215))and((StartY>0)and(StartY<18)) then
 PageControl1.TabIndex:=0;
end;

procedure TfrmSM_Msg.N5Click(Sender: TObject);
var
 i:integer;
begin
sgrdString.Cells[1,sgrdString.Row]:='';
sgrdString.Cells[2,sgrdString.Row]:='';
for i:=0 to sgrdString.RowCount-1 do
  if sgrdString.Cells[2,i+1]='' then
   begin
    sgrdString.Cells[1,i+1]:=sgrdString.Cells[1,i+2];
    sgrdString.Cells[2,i+1]:=sgrdString.Cells[2,i+2];
    sgrdString.Cells[1,i+2]:='';    
    sgrdString.Cells[2,i+2]:='';
   end;
end;

end.

⌨️ 快捷键说明

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