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

📄 unit1.pas

📁 很方便查看各种字符的unicode值
💻 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+';短信内容:'+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 + -