亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gsmctrfr.pas

?? boomerang library 5.11 internet ed
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit GSMCtrFr;

interface

uses
  {$IFDEF LINUX}Qt, {$ENDIF}SysUtils, Connect, CommConnect, QControls, QExtCtrls, QComCtrls, QForms,
  QStdCtrls, Terminal, Classes, {$IFDEF LINUX} Libc, Types, GSM, XSMS, Wap, QDialogs,
  QImgList, QButtons, AuxGSM, dm_GSM, QGrids, QGraphics{$ELSE}Windows, Messages{$ENDIF};


const
  glRed = 1;
  glGreen = 3;
  glYellow = 5;
  glNone = 0;

type
  TGSMCentralForm = class(TForm)
    ImageList: TImageList;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    Panel2: TPanel;
    GroupBox2: TGroupBox;
    IndNetRegStatus: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    Panel1: TPanel;
    Panel6: TPanel;
    StatusBar: TStatusBar;
    Semafor: TSpeedButton;
    SpeedButton1: TSpeedButton;
    TabSheet5: TTabSheet;
    Panel7: TPanel;
    TabSheet6: TTabSheet;
    TabSheet7: TTabSheet;
    Panel8: TPanel;
    Panel9: TPanel;
    ModemLog: TTerminal;
    SMSLog: TTerminal;
    Label1: TLabel;
    DA: TEdit;
    Label2: TLabel;
    Message: TEdit;
    BitBtn1: TBitBtn;
    AutoShowModemLog: TCheckBox;
    ConfigureGroupbox: TGroupBox;
    SCAEdit: TEdit;
    PinEdit: TEdit;
    PINLabel: TLabel;
    SCALabel: TLabel;
    ModemComboBox: TComboBox;
    ModemLabel: TLabel;
    SMSLOGCheckBox: TCheckBox;
    GSMLOGCheckBox: TCheckBox;
    SMSLogButton: TButton;
    GSMLogButton: TButton;
    SMSLogSaveDialog: TSaveDialog;
    GSMLogSaveDialog: TSaveDialog;
    Label3: TLabel;
    SMSFormat: TComboBox;
    GroupBox1: TGroupBox;
    CatchSMSMT: TCheckBox;
    CatchSMSCB: TCheckBox;
    CatchSMSDS: TCheckBox;
    OnlyIndication: TCheckBox;
    ManufacturerId: TMemo;
    DeviceNameEdit: TEdit;
    DeliveryNotification: TCheckBox;
    DCS: TComboBox;
    SMSKind: TComboBox;
    Label4: TLabel;
    Label5: TLabel;
    SMSKind2: TComboBox;
    PictureGB: TGroupBox;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    PictureWidth: TEdit;
    PictureHeight: TEdit;
    PictureNumAnimations: TEdit;
    ScrollBox1: TScrollBox;
    Picture: TPaintBox;
    Label9: TLabel;
    PictureOperator: TComboBox;
    vCardGB: TGroupBox;
    Label10: TLabel;
    Label11: TLabel;
    vCardName: TEdit;
    vCardPhone: TEdit;
    Blink: TButton;
    Button2: TButton;
    Button3: TButton;
    SavePictureDialog: TSaveDialog;
    OpenPictureDialog: TOpenDialog;
    MelodyGB: TGroupBox;
    Label12: TLabel;
    MelodyName: TEdit;
    MelodyKeyboard: TPaintBox;
    Button1: TButton;
    Button4: TButton;
    MelodyGrid: TStringGrid;
    MelodyNote: TComboBox;
    MelodyDuration: TComboBox;
    MelodyDuration2: TComboBox;
    MelodyScale: TComboBox;
    MelodyStyle: TComboBox;
    MelodyTempo: TComboBox;
    MelodyVolume: TComboBox;
    MelodyInsert: TCheckBox;
    Button5: TButton;
    Button6: TButton;
    SaveMelodyDialog: TSaveDialog;
    OpenMelodyDialog: TOpenDialog;
    procedure FormCreate(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure IndNetRegStatusClick(Sender: TObject);
    procedure StatusBarClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure ModemLogKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure SMSLOGCheckBoxClick(Sender: TObject);
    procedure SMSLogButtonClick(Sender: TObject);
    procedure GSMLogButtonClick(Sender: TObject);
    procedure GSMLOGCheckBoxClick(Sender: TObject);
    procedure SMSKindChange(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure PicturePaint(Sender: TObject);
    procedure PictureWidthExit(Sender: TObject);
    procedure PictureWidthKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure PictureMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure BlinkClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure MelodyKeyboardPaint(Sender: TObject);
    procedure MelodyKeyboardMouseDown(Sender: TObject;
      Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure MelodyKeyboardMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure MelodyGridDblClick(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    FSaveActivePage: TTabSheet;
    FLastSMSKind, FLastSMSKind2: Integer;
    FSMSKindLock: Byte;
    FSmartMessage: TSmartMessageClass;
    FEMS: TEMSObjectClass;
    fPictureBitmap: TBitmap;
    fReference: Integer;
    fMelodyKeyPressTick: Longint;
    fMelodyKeyPressed: Integer;
    fMelodyArray: array[0..6] of TComboBox;
    procedure CheckGSMActive;
    procedure cmNetRegistrationChanged(var Msg: TCMNotifyMessage); message cm_NetRegistrationChanged;
    procedure cmModemStatusChanged(var Msg: TCMNotifyMessage); message cm_ModemStatusChanged;
    procedure SendSMSPhn(aDA, S: string; aDeliveryNotification: Boolean; aDCS: Byte; aUDH, aNoConv, aUnicode: Boolean);
    function GetGlyphNum(aGlyph: Byte; aOnOff: Boolean): Integer;
    procedure StatusLineOnHint(Sender: TObject);
    procedure ShowModemLog;
    procedure HideModemLog;
    procedure GetConfiguration;
    procedure SetConfiguration;
    procedure AdjustSMSKind;
    procedure AdjustPicture;
    procedure GetKeyRect(aScale: Byte; aNote: Byte; var R: TRect; var Keyis: Boolean);
    procedure MelodySetFromGrid;
    procedure SMRingingToneFromGrid(SM: TSMRingingTone);
 public
    { Public declarations }
  end;

var
  GSMCentralForm: TGSMCentralForm;

implementation
uses
  AuxStr, IniFiles, CmdLine, Math;

resourcestring
  sModemNotActive = 'Device is not active';

{$R *.dfm}

const                  
  SendPrefix = '+:';
  MaxSMSLength = 160;

  CaptionStr = 'GSM Central [%s]';

procedure TGSMCentralForm.FormCreate(Sender: TObject);
var
  i: TGSMEquipment;
  J: Integer;
  S: string;
resourcestring
  sMelodyTitles = 'Scale;Note;Dur;Dur2;Tempo;Style;Vol.;';
const
  MelodyDef: array[0..6] of Integer = (smrtiScaleDefault, 0, 0, 0, smrtiTempoDefault, smrtiStyleDefault, smrtiVolumeDefault);
begin
  GSMDataModule.ModemLog:= ModemLog;
  GSMDataModule.SMSLog:= SMSLog;
  PageControl1.ActivePage:= TabSheet1;
  Semafor.Align:= alClient;
  Caption:= Format(CaptionStr, [GSMEquipmentLongName[GSMDataModule.GSM.Equipment]]);
  ImageList.GetBitmap(GetGlyphNum(glNone, False), IndNetRegStatus.Glyph);
  ImageList.GetBitmap(GetGlyphNum(glNone, False), Semafor.Glyph);
  for i:=Low(TGSMEquipment) to High(TGSMEquipment) do
    ModemComboBox.Items.Add(GSMEquipmentLongName[i]);
  //  GSMDataModule.Comm1.Open;
  Application.OnHint:= StatusLineOnHint;
  DCS.ItemIndex:= 2;
  fPictureBitmap:= TBitmap.Create;
  {$IFNDEF LINUX}  // some problem when setting Pixels[x,y]
  fPictureBitmap.Monochrome:= True;
  {$ENDIF}

  MelodyGrid.ColCount:= High(fMelodyArray)-Low(fMelodyArray)+1;
  fMelodyArray[0]:= MelodyScale;
  fMelodyArray[1]:= MelodyNote;
  fMelodyArray[2]:= MelodyDuration;
  fMelodyArray[3]:= MelodyDuration2;
  fMelodyArray[4]:= MelodyTempo;
  fMelodyArray[5]:= MelodyStyle;
  fMelodyArray[6]:= MelodyVolume;
  S:= sMelodyTitles;
  for J:= Low(fMelodyArray) to High(fMelodyArray) do
  begin
    MelodyGrid.ColWidths[J]:= fMelodyArray[J].Width;
    MelodyGrid.Cells[J, 0]:= Copy(S, 1, Pos(';', S)-1);
    Delete(S, 1, Pos(';', S));
    MelodyGrid.Objects[J, 0]:= Pointer(MelodyDef[J]);
  end;
  MelodySetFromGrid;
end;

function TGSMCentralForm.GetGlyphNum;
begin
  Result:= aGlyph;
  Inc(Result, Byte((aGlyph > 0) and aOnOff));
end;

procedure TGSMCentralForm.CheckGSMActive;
begin
  if not GSMDataModule.Active then
    GSMError(sModemNotActive);
end;

procedure TGSMCentralForm.SendSMSPhn;
var
  aSMS: TSMSSubmit;
resourcestring
  sDeviceNotActive = 'Device not active. Connect?';
begin
  if not GSMDataModule.Active then
  begin
    if MessageDlg(sDeviceNotActive, mtConfirmation, [mbYes, mbNo], 0) <> mrYes then
      Abort;
    SetConfiguration;
    GSMDataModule.GSM.Open;
  end;
  CheckGSMActive;
  aSMS:= TSMSSubmit.Create;
  try
    aSMS.GSM:= GSMDataModule.GSM;
    aSMS.DA:= aDA;
    if not aNoConv then
      S:= ISOtoSMS(S);
    if aUnicode then
      aSMS.WideUD:= Copy(S,1,70)
    else
      aSMS.UD:= Copy(S,1,MaxSMSLength);
    aSMS.DCS:= aDCS;
    aSMS.SRR:= aDeliveryNotification;
    aSMS.UDHI:= aUDH;
    GSMDataModule.SendSMS(aSMS);
    GSMDataModule.LogSMS(aSMS);
  finally
    aSMS.Free;
  end;
end;

procedure TGSMCentralForm.cmNetRegistrationChanged;
var
  Col: Byte;
begin
  case Msg.wParam of
    1: Col:= glGreen;
    2: Col:= glYellow;
  else
    Col:= glRed;
  end;
  IndNetRegStatus.Glyph:= nil;
  ImageList.GetBitmap(GetGlyphNum(Col, True), IndNetRegStatus.Glyph);
end;

procedure TGSMCentralForm.cmModemStatusChanged;
var
  Col: Byte;
  i: Integer;
begin
  for i:=0 to ConfigureGroupBox.ControlCount-1 do
    ConfigureGroupBox.Controls[i].Enabled := not GSMDataModule.GSM.Active;

  with SMSLogCheckBox do
    SMSLogButton.Enabled := Enabled and Checked;
  with GSMLogCheckBox do
    GSMLogButton.Enabled := Enabled and Checked;

  case Msg.wParam and $7F of
    0: Col:= glRed;
    1:
      begin
        Col:= glGreen;
        with GSMDataModule do
          if (Msg.wParam and $80 <> 0) and GSM.Active then
          begin
            ManufacturerId.Lines.Text:= Format('%s/%s'#13#10'%s'#13#10'S/N: %s', [GSM.ManufacturerId, GSM.ModelId, GSM.RevisionId, GSM.SerialNumberId]);
          end;
      end;
  else
    Col:= glNone;
  end;
  Semafor.Glyph:= nil;
  ImageList.GetBitmap(GetGlyphNum(Col, True), Semafor.Glyph);
  Application.ProcessMessages;
end;

procedure TGSMCentralForm.SpeedButton3Click(Sender: TObject);
var MakeActive: Boolean;
begin
  ShowModemLog;
  try
    MakeActive:=Boolean((Sender as TControl).Tag);
    if MakeActive then
    begin
      GSMDataModule.GSM.ComDevice.Close;
      SetConfiguration;
    end;
    GSMDataModule.Active:=MakeActive;
  finally
    HideModemLog;
  end;
end;

procedure TGSMCentralForm.IndNetRegStatusClick(Sender: TObject);
var
  Sg: TStrings;
  I: Integer;
begin
  CheckGSMActive;
  with GSMDataModule do
  begin
    Sg:= TStringList.Create;
    try
      if GSM.SendATCommand('AT+CSQ', atrCode+atrParams+atrATResponse, Sg) = 0 then
      begin
        I:= 1;
        I:= StrToNum(ExtractParam(Sg[0], I));
        if I = 99 then begin
                         IndNetRegStatus.Caption:= '?';
                         I:= 0;
                       end
                  else IndNetRegStatus.Caption:= Format('%d dBm', [2*I + (-113)]);
      end;
    finally
      Sg.Free;
    end;
  end;
end;

procedure TGSMCentralForm.StatusLineOnHint;
begin
  StatusBar.SimpleText:= GetLongHint(Application.Hint);
end;

procedure TGSMCentralForm.StatusBarClick(Sender: TObject);
begin
  with StatusBar do
    SimpleText:= GetShortHint(Hint);
end;

procedure TGSMCentralForm.SpeedButton1Click(Sender: TObject);
begin
  ShowModemLog;
  try
    GSMDataModule.GSM.SwitchOff;
  finally
    HideModemLog;
  end;
end;

procedure TGSMCentralForm.FormShow(Sender: TObject);
begin
  GetConfiguration;
  fLastSMSKind:= -MaxInt;
  SMSKind.ItemIndex:= 0;
  AdjustSMSKind;
  if IsThereCmd('START', clUpcase) then
    SpeedButton3Click(SpeedButton3);
  StatusBarClick(nil);
end;

procedure TGSMCentralForm.ModemLogKeyPress(Sender: TObject; var Key: Char);
begin
  if not GSMDataModule.GSM.Active then
    GSMDataModule.GSM.COMDevice.Close;
  GSMDataModule.GSM.COMDevice.Open;
  GSMDataModule.GSM.COMDevice.Send(Key);       
  Key:= #0;
end;

procedure TGSMCentralForm.ShowModemLog;
begin
  if AutoShowModemLog.Checked then
  begin
    FSaveActivePage:= PageControl1.ActivePage;
    PageControl1.ActivePage:= TabSheet7;
    Application.ProcessMessages;
  end;
end;

procedure TGSMCentralForm.HideModemLog;
begin
  if AutoShowModemLog.Checked then
  begin
    PageControl1.ActivePage:= FSaveActivePage;
  end;
end;

procedure TGSMCentralForm.GetConfiguration;
begin
  with GSMDataModule,GSM do
  begin
    ModemComboBox.ItemIndex := Ord(Equipment);
    SCAEdit.Text := SCA;
    PINEdit.Text := PIN;
    Self.SMSFormat.ItemIndex := SMSFormat;
    CatchSMSMT.Checked := uindSMSDeliver in UnsolicitedIndication;
    CatchSMSCB.Checked := uindCellBroadcast in UnsolicitedIndication;
    CatchSMSDS.Checked := uindSMSStatusReport in UnsolicitedIndication;
    OnlyIndication.Checked := uindOnlyIndication in UnsolicitedIndication;
    DeviceNameEdit.Text:= ComDevice.DeviceName;

    SMSLogCheckBox.Checked := SMSLogFile <> NO_LOG_FILE;
    GSMLogCheckBox.Checked := GSMLogFile <> NO_LOG_FILE;
    SMSLogSaveDialog.FileName := SMSLogFile;
    GSMLogSaveDialog.FileName := GSMLogFile;
  end;
end;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
豆国产96在线|亚洲| 国内精品免费在线观看| 91在线免费视频观看| 国产女主播一区| a美女胸又www黄视频久久| 国产精品福利av| 91美女片黄在线观看91美女| 自拍偷拍亚洲激情| 欧美日韩一区二区欧美激情| 天天操天天干天天综合网| 日韩一区二区三区精品视频| 蓝色福利精品导航| 国产日韩精品一区二区浪潮av| 成人的网站免费观看| 亚洲一区二区av在线| 这里只有精品免费| 国产精品1024| 亚洲综合自拍偷拍| 日韩精品一区国产麻豆| 国产999精品久久久久久| 亚洲欧美偷拍另类a∨色屁股| 欧美写真视频网站| 国产一区福利在线| 亚洲九九爱视频| 欧美一卡2卡三卡4卡5免费| 国产乱码精品一区二区三| 一区二区三区免费在线观看| 欧美大片在线观看一区| 色偷偷成人一区二区三区91 | 欧美色综合网站| 久久99久久99| 亚洲精品老司机| 欧美大片国产精品| 色综合久久久久久久| 另类综合日韩欧美亚洲| 欧美国产综合一区二区| 欧美顶级少妇做爰| 97aⅴ精品视频一二三区| 免费看精品久久片| 亚洲天堂网中文字| 久久看人人爽人人| 911精品国产一区二区在线| 成人免费视频国产在线观看| 麻豆精品国产传媒mv男同| 亚洲精品乱码久久久久久久久 | 91丝袜高跟美女视频| 老鸭窝一区二区久久精品| 一区在线中文字幕| 精品国产乱码久久久久久1区2区| 91欧美一区二区| 国产精品一区在线观看你懂的| 亚洲成av人片一区二区梦乃| 1024成人网| 国产欧美一区二区在线| 日韩精品自拍偷拍| 欧美日韩国产系列| 日本精品一区二区三区四区的功能| 国产suv一区二区三区88区| 久久99日本精品| 免费成人在线播放| 午夜精品爽啪视频| 一片黄亚洲嫩模| 亚洲人精品一区| 国产精品久久一级| 国产亲近乱来精品视频| 精品国产伦理网| www欧美成人18+| 精品99999| 精品久久久久久久人人人人传媒| 69久久夜色精品国产69蝌蚪网| 欧美日本一区二区三区| 欧洲一区二区三区免费视频| 一本大道久久a久久综合| 9色porny自拍视频一区二区| 成人国产精品免费观看视频| 成人性生交大合| 成人app在线| caoporm超碰国产精品| av在线一区二区三区| 91麻豆国产精品久久| 色美美综合视频| 在线观看av一区二区| 欧美高清一级片在线| 欧美一区二区三区在线观看| 日韩三区在线观看| 精品国产91久久久久久久妲己| 久久久精品国产免费观看同学| 欧美一区二区三区男人的天堂| 91精品在线免费| www久久精品| 日本一区二区三区在线不卡| 自拍偷拍亚洲欧美日韩| 亚洲一区二三区| 免费高清不卡av| 国内外成人在线| 波波电影院一区二区三区| 在线看不卡av| 日韩一级完整毛片| 久久综合九色综合97婷婷女人| 国产日韩精品一区| 夜夜精品视频一区二区| 乱中年女人伦av一区二区| 国产一区二区精品久久91| jlzzjlzz亚洲日本少妇| 欧美色视频在线观看| 日韩视频一区二区在线观看| 日本一区免费视频| 亚洲香蕉伊在人在线观| 久久99热99| 99在线视频精品| 欧美一区午夜精品| 国产精品久久久久久久久晋中| 一区二区三区国产精华| 久久国产精品露脸对白| 91丨九色丨国产丨porny| 91精品国产一区二区人妖| 国产精品网站导航| 午夜在线电影亚洲一区| 国产福利精品一区二区| 91美女片黄在线观看| 欧美sm美女调教| 一区二区三区免费在线观看| 国产精品综合一区二区三区| 欧美色中文字幕| 国产精品免费网站在线观看| 免费观看日韩电影| 色婷婷久久综合| 中文字幕成人在线观看| 免费视频一区二区| 在线精品视频一区二区三四| 日本一区二区三区在线观看| 免费人成在线不卡| 色综合久久九月婷婷色综合| 久久免费偷拍视频| 天堂久久久久va久久久久| 成人蜜臀av电影| 久久新电视剧免费观看| 午夜a成v人精品| 色婷婷香蕉在线一区二区| 国产欧美日韩视频在线观看| 日本一区中文字幕| 欧美综合一区二区| 国产精品不卡在线观看| 国产九九视频一区二区三区| 日韩一区和二区| 亚洲国产美女搞黄色| 99久久婷婷国产综合精品| 久久青草国产手机看片福利盒子 | 91久久精品一区二区三| 国产女同性恋一区二区| 国产一区二区三区四区在线观看| 欧美一区二区三区播放老司机| 亚洲一卡二卡三卡四卡五卡| 91麻豆自制传媒国产之光| 国产精品福利一区| va亚洲va日韩不卡在线观看| 久久精品在这里| 国产一区二区视频在线播放| 精品成人一区二区三区| 免费欧美日韩国产三级电影| 91精品国产入口在线| 亚洲成a人v欧美综合天堂下载| 在线观看成人免费视频| 亚洲综合色自拍一区| 欧美在线一区二区三区| 一区二区三区欧美| 欧美日韩午夜在线视频| 丝袜美腿亚洲色图| 91精品在线免费| 久久精品国产精品亚洲红杏| 精品1区2区在线观看| 国产精品一级片在线观看| 国产视频一区在线播放| 国产白丝网站精品污在线入口| 欧美国产日韩亚洲一区| 99久久久久久| 亚洲国产va精品久久久不卡综合| 欧美日韩国产高清一区二区| 免费的国产精品| 久久精品综合网| 99久久久国产精品| 亚洲第一av色| 日韩精品一区二区在线| 国产成a人亚洲| 亚洲精品网站在线观看| 欧美色图在线观看| 麻豆成人在线观看| 国产三级三级三级精品8ⅰ区| 粉嫩一区二区三区性色av| 最新国产成人在线观看| 欧美日韩国产天堂| 麻豆成人久久精品二区三区红 | 亚洲成av人影院在线观看网| 欧美日韩国产综合久久| 精品一区二区在线免费观看| 中文字幕成人网| 欧美日韩不卡在线| 国产高清不卡一区二区| 一区二区三区四区在线| 欧美成人精品高清在线播放|