?? unit1.pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, SPComm, ComCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button3: TButton;
PageControl1: TPageControl;
TabSheet1: TTabSheet;
Button2: TButton;
TabSheet2: TTabSheet;
RichEdit1: TRichEdit;
Button4: TButton;
Label1: TLabel;
UpDown1: TUpDown;
Edit1: TEdit;
Button5: TButton;
Button7: TButton;
TabSheet4: TTabSheet;
TabSheet5: TTabSheet;
Label4: TLabel;
Edit6: TEdit;
Label5: TLabel;
Edit7: TEdit;
RichEdit4: TRichEdit;
Button11: TButton;
RichEdit5: TRichEdit;
Label6: TLabel;
Edit8: TEdit;
Label7: TLabel;
Edit9: TEdit;
Button12: TButton;
TabSheet6: TTabSheet;
Button13: TButton;
Button14: TButton;
Edit10: TEdit;
Edit11: TEdit;
Button15: TButton;
Edit12: TEdit;
Edit13: TEdit;
Button16: TButton;
Edit4: TEdit;
Edit5: TEdit;
Button9: TButton;
Button17: TButton;
RichEdit2: TRichEdit;
TabSheet3: TTabSheet;
Label2: TLabel;
Label3: TLabel;
Edit2: TEdit;
Edit3: TEdit;
RichEdit3: TRichEdit;
Button6: TButton;
Edit14: TEdit;
Button8: TButton;
Comm1: TComm;
procedure Button1Click(Sender: TObject);
procedure Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
procedure Button3Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Edit3KeyPress(Sender: TObject; var Key: Char);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
private
procedure ReadMsg(Index:Integer);
procedure DeleteMsg(Index:Integer);
procedure WriteMsg(Phone,MsgContent:String);
public
{ Public declarations }
end;
// Function SendShortMessage(Char*Number,int NumberLen ,char*Messsage,int MessageLen):Ineteger;
// StdCall;External '
var
Form1: TForm1;
implementation
uses PhoneShare;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
Comm1.StartComm;
Comm1.Tag := 1;
Comm1.WriteCommData('at+cmgf=0'+#13,10);
Sleep(200);
{ While True do
begin
FComOperate.ReadData(TempPChar,60);
if StrPos(TempPChar,'OK')<>nil then Break;
Sleep(100);
FillChar(TempPChar, 60, ' ');
Application.ProcessMessages;
end;}
end;
procedure TForm1.Comm1ReceiveData(Sender: TObject; Buffer: Pointer;
BufferLength: Word);
Var
Len:Integer;
p:PChar;
TempStr,Phone,ShortMsg:String;
begin
TempStr:=UpperCase(PChar(Buffer));
SetLength(TempStr,BufferLength);
Case Comm1.Tag of
1://Connect
begin
if StrPos(PChar(TempStr),'OK')<>Nil then
ShowMessage('Connect OK')
else
ShowMessage('Connect Fail');
end;
2://Read
begin
RichEdit1.Lines.Add(TempStr);
{ p:=StrScan(PChar(TempStr),',');
if p<>Nil then
begin
p:=StrScan(p,#10)+1;
Len:=StrScan(p,#13)-p;
TempStr:=p;
TempStr:=Copy(TempStr,1,Len);
DisposeReadPDU(TempStr,Phone,ShortMsg);
RichEdit1.Lines.Add('電話:'+Phone+';短信內(nèi)容:'+ShortMsg+#13#10);
end; }
end;
3://Delete
begin
RichEdit2.Lines.Add(TempStr);
end;
4://Write
begin
// RichEdit3.Lines.Add(TempStr);
end;
5://Write English Msg
begin
RichEdit4.Lines.Add(TempStr);
end;
6://Write 8Bits Msg
begin
RichEdit3.Lines.Add(TempStr);
end;
7://Write Chinese Msg
begin
RichEdit5.Lines.Add(TempStr);
end;
else
begin
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Comm1.StopComm;
Button1.Enabled := True;
Button3.Enabled := False;
end;
procedure TForm1.ReadMsg(Index:Integer);
var
SendStr:String;
begin
//Write Read Command to Mobile
Comm1.Tag := 2;
SendStr:='at+cmgr='+inttostr(Index)+#13;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button2Click(Sender: TObject);
var
i:Integer;
begin
for i:=1 to 5 do
begin
ReadMsg(i);
Sleep(200);
Application.ProcessMessages;
end;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
RichEdit1.Lines.Clear;
end;
procedure TForm1.DeleteMsg(Index: Integer);
var
SendStr:String;
begin
//Write Delete Command to Mobile
Comm1.Tag := 3;
SendStr:='at+cmgd='+inttostr(Index)+#13;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
DeleteMsg(StrToInt(Edit1.Text));
end;
procedure TForm1.WriteMsg(Phone,MsgContent: String);
var
i,Len:Integer;
SendStr,MixMsg:String;
begin
MixMsg:=Mix2PDU('8613800100500',Phone,MsgContent);
//Write Send Command to Mobile
Comm1.Tag := 4;
Len:=Length(MixMsg) div 2;
SendStr:='at+cmgs='+IntToStr(Len)+#13;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
Sleep(50);
SendStr:=MixMsg+#26;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
RichEdit2.Lines.Clear;
end;
procedure TForm1.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
if Not (Key in ['0'..'9',#8]) then
Key:=#0;
end;
procedure TForm1.Button11Click(Sender: TObject);
var
i:Integer;
SendStr,MixMsg,Len:String;
begin
MixMsg := MixSendPDU(Edit6.Text,Edit7.Text,Len,0);
//Write Send Command to Mobile
Comm1.Tag := 5;
SendStr:='at+cmgs='+Len+#13;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
Sleep(50);
SendStr:=MixMsg+#26;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button12Click(Sender: TObject);
var
i:Integer;
SendStr,MixMsg,Len:String;
begin
MixMsg := MixSendPDU(Edit8.Text,Edit9.Text,Len,8);
//Write Send Command to Mobile
Comm1.Tag := 7;
SendStr:='at+cmgs='+Len+#13;
// Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
// Sleep(50);
SendStr:=SendStr+MixMsg+#26;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
Edit10.Text:=EnCodeEnglish('Test1234ABC');
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
Edit11.Text:=DecodeEnglish(Edit10.Text);
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
Edit12.Text:=EnCodeUniCode(Edit13.text);
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
Edit13.Text:=DecodeUniCode(Edit12.Text);
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
Edit4.Text := Encode8Bits('askjfkj1123536');
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
Edit5.Text := Decode8Bits(Edit4.Text);
end;
procedure TForm1.Button6Click(Sender: TObject);
var
i:Integer;
SendStr,MixMsg,Len:String;
begin
MixMsg := MixSendPDU(Edit2.Text,Edit3.Text,Len,4);
//Write Send Command to Mobile
Comm1.Tag := 6;
SendStr:='at+cmgs='+Len+#13;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
Sleep(50);
SendStr:=MixMsg+#26;
Comm1.WriteCommData(PChar(SendStr),Length(SendStr));
end;
procedure TForm1.Button8Click(Sender: TObject);
var
Phone,MsgContent:String;
begin
Case DisposeReadPDU(Edit14.Text,Phone,MsgContent) of
1:ShowMessage('type Error');
2:ShowMessage('Msg Length Error');
else
ShowMessage('Phone:'+Phone+#13+'MsgContent:'+MsgContent);
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -