📄 sm_msgp.pas
字号:
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 + -