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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? ucomposesms.pas

?? FMA is a free1 powerful phone editing tool allowing users to easily manage all of the personal data
?? PAS
?? 第 1 頁 / 共 2 頁
字號:
unit uComposeSMS;

{
*******************************************************************************
* Descriptions: Implementation for SMS Editor Dialog
* $Source: /cvsroot/fma/fma/uComposeSMS.pas,v $
* $Locker:  $
*
* Todo:
*
* Change Log:
* $Log: uComposeSMS.pas,v $
*
*******************************************************************************
}

interface

uses
  Windows, TntWindows, Messages, SysUtils, TntSysUtils, Variants, Classes, TntClasses, Graphics, TntGraphics,
  Controls, TntControls, Forms, TntForms, Dialogs, TntDialogs, StdCtrls, TntStdCtrls, ComCtrls, TntComCtrls,
  UniTntCtrls, ToolWin, ImgList, Placemnt, Buttons, TntButtons, ExtCtrls, TntExtCtrls, Menus, TntMenus, Registry,
  uSMS;

const
  MaxFavorites = 20;

type
  TfrmMessageContact = class(TTntForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    StatusBar: TTntStatusBar;
    FormPlacement1: TFormPlacement;
    Memo: TTntMemo;
    ToolBar2: TToolBar;
    WarningPanel: TTntPanel;
    Panel1: TTntPanel;
    Image1: TTntImage;
    lbWarning: TTntLabel;
    FavoritesPopupMenu: TTntPopupMenu;
    btnSend: TToolButton;
    ToolButton8: TToolButton;
    ToolButton5: TToolButton;
    ToolButton9: TToolButton;
    btnStatusReport: TToolButton;
    btnRequestReply: TToolButton;
    ToolButton1: TToolButton;
    btnSave: TToolButton;
    btnLongSMS: TToolButton;
    btnFlashSMS: TToolButton;
    btnRecent: TToolButton;
    ToolButton6: TToolButton;
    PopupMenu2: TTntPopupMenu;
    ClearMessageCounter1: TTntMenuItem;
    ToPopupMenu: TTntPopupMenu;
    Add1: TTntMenuItem;
    N1: TTntMenuItem;
    Delete1: TTntMenuItem;
    AddToPhonebook1: TTntMenuItem;
    AddToFavorites1: TTntMenuItem;
    Organize1: TTntMenuItem;
    N2: TTntMenuItem;
    btnTo: TToolButton;
    N3: TTntMenuItem;
    Edit1: TTntEdit;
    EncodingPopupMenu1: TTntPopupMenu;
    ForceUCS2Encoding1: TTntMenuItem;
    procedure SendClick(Sender: TObject);
    procedure MemoChange(Sender: TObject);
    procedure Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
      State: TDragState; var Accept: Boolean);
    procedure Edit1DragDrop(Sender, Source: TObject; X, Y: Integer);
    procedure ClearClick(Sender: TObject);
    procedure MemoKeyPress(Sender: TObject; var Key: Char);
    procedure FormShow(Sender: TObject);
    procedure LongClick(Sender: TObject);
    procedure ToolBar2Resize(Sender: TObject);
    procedure ToClick(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
    procedure SaveClick(Sender: TObject);
    procedure Edit1Change(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure PopupMenu1Click(Sender: TObject);
    procedure FavoritesPopupMenuPopup(Sender: TObject);
    procedure btnRecentClick(Sender: TObject);
    procedure ClearMessageCounter1Click(Sender: TObject);
    procedure PopupMenu2Popup(Sender: TObject);
    procedure ToPopupMenuPopup(Sender: TObject);
    procedure Delete1Click(Sender: TObject);
    procedure AddToPhonebook1Click(Sender: TObject);
    procedure AddToFavorites1Click(Sender: TObject);
    procedure Organize1Click(Sender: TObject);
    procedure UCS2Click(Sender: TObject);
    procedure EncodingPopupMenu1Popup(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure TntFormCloseQuery(Sender: TObject; var CanClose: Boolean);
  private
    { Private declarations }
    FMaxLength: Integer;
    FDCS: TGSMCodingScheme;
    procedure DoSend(AsDraft: boolean = False);
  protected
    FChatMode: boolean;
  public
    { Public declarations }
    procedure AddRecipient(node: TTreeNode); overload;
    procedure AddRecipient(str: WideString); overload;
    procedure Clear;
  end;

var
  frmMessageContact: TfrmMessageContact;

implementation

uses
  gnugettext, gnugettexthelpers,
  Unit1, uGlobal, uSelectContact, uDialogs;

{$R *.dfm}

procedure TfrmMessageContact.MemoChange(Sender: TObject);
var
  len, packetCount, packetL: Integer;
begin
  if Form1.FForceUCSusage then
    FDCS := gcs16bitUcs2
  else
    FDCS := GSMCodingScheme(Memo.Text);

  if FDCS = gcs16bitUcs2 then begin
    StatusBar.Panels[1].Text := _('UCS-2');
    FMaxLength := 70;
  end
  else
  if FDCS = gcs8BitOctets then begin
    StatusBar.Panels[1].Text := _('8-bit');
    FMaxLength := 140;
  end
  else
  if FDCS = gcsDefault7Bit then begin
    StatusBar.Panels[1].Text := _('GSM');
    FMaxLength := 160;
  end
  else begin
    StatusBar.Panels[1].Text := _('Error');
    FMaxLength := 0;
  end;

  if not btnLongSMS.Down then begin
     if Length(Memo.Text) > FMaxLength then begin
       { Auto-switch to long-sms mode ON }
       btnLongSMS.Down := True;
     end
  end;
  if btnLongSMS.Down then begin
     packetL := 0;
     case FDCS of
       gcsDefault7Bit:
         packetL := (FMaxLength - 7); { 160 septets - UDH (6 octets+padding) }
       gcs8BitOctets:
         packetL := (FMaxLength - 6); { 140 octets - UDH (6 octets) }
       gcs16bitUcs2:
         packetL := (FMaxLength - 3); { 140 octets (70widechars) - UDH (6 octets) }
     end;
     len := length(Memo.Text);
     packetCount := (len div packetL) + 1;
     if len <= FMaxLength then packetCount := 1;
     if packetCount > 1 then begin
       StatusBar.Panels[0].Text := _('SMS: ') + IntToStr(packetCount);
       StatusBar.Panels[0].Text := StatusBar.Panels[0].Text + _(' - chars ') + IntToStr(length(Memo.Text));
     end
     else begin
       { Auto-switch to long-sms mode OFF }
       btnLongSMS.Down := False;
     end;
  end;
  if not btnLongSMS.Down then begin
     len := length(Memo.Text);
     StatusBar.Panels[0].Text := Format(ngettext('%s char left','%s chars left',FMaxLength - len),
       [IntToStr(FMaxLength - len)]);
  end;

  btnSave.Enabled := memo.Text <> '';
end;

procedure TfrmMessageContact.Edit1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
var
  node: TTreeNode;
begin
  Accept := False;

  if Source is TTntTreeView then begin
    node := (Source As TTntTreeView).Selected;
    if (node.ImageIndex >= 9) and (node.ImageIndex <= 13) then Accept := True;
  end;
end;

procedure TfrmMessageContact.Edit1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
begin
  if Source is TTntTreeView then AddRecipient((Source As TTntTreeView).Selected);
end;

procedure TfrmMessageContact.ClearClick(Sender: TObject);
begin
  Clear;
end;

procedure TfrmMessageContact.AddRecipient(node: TTreeNode);
var
  str: WideString;
begin
  str := node.Parent.Text + ' [' + node.Text + ']';

  if trim(Edit1.Text) <> '' then Edit1.Text := trim(Edit1.Text) + '; ';
  Edit1.Text := Edit1.Text + str;
end;

procedure TfrmMessageContact.AddRecipient(str: WideString);
begin
  Edit1.Text := str;
end;

procedure TfrmMessageContact.Clear;
begin
  if btnSave.Enabled then begin
    MessageBeep(MB_ICONQUESTION);
    case MessageDlgW(_('Do you want to save your current message as a Draft?'),
      mtConfirmation, MB_YESNOCANCEL) of
      ID_YES: begin
        btnSave.Click;
        Form1.Status(_('Previous message saved in Drafts'));
      end;
      ID_CANCEL: Abort;
    end;
  end;
  Memo.Lines.Clear;
  Edit1.Text := '';
  StatusBar.Panels[0].Text := '';
  StatusBar.Panels[1].Text := '';
  btnSave.Enabled := False;
end;


procedure TfrmMessageContact.MemoKeyPress(Sender: TObject; var Key: Char);
begin
  if ord(Key) = 10 then btnSend.Click; // Ctrl-Enter Sent
end;

procedure TfrmMessageContact.FormShow(Sender: TObject);
begin
  try
    if Form1.FConnected then
      btnStatusReport.Enabled := Form1.FStatusReport
    else
      btnStatusReport.Enabled := Form1.IsK750orBetter;
    btnStatusReport.Down := btnStatusReport.Enabled;
    if btnStatusReport.Enabled then
      btnStatusReport.Hint := _('Request Status Report')
    else
      btnStatusReport.Hint := _('Not supported by phone');

    btnSave.Enabled := False;
    if Edit1.Text = '' then Edit1.SetFocus else
      Memo.SetFocus;
    CoolBar1.Bands[0].MinHeight := 36;
    CoolBar1.Bands[1].MinHeight := 22;
    Memo.Clear();
  except
  end;
end;

procedure TfrmMessageContact.ToolBar2Resize(Sender: TObject);
begin
  Edit1.Width := ToolBar2.Width - btnTo.Width - btnRecent.Width - 4;
end;

procedure TfrmMessageContact.ToClick(Sender: TObject);
begin
  with TfrmSelContact.Create(nil) do
  try
    SelContacts := Edit1.Text;
    if ShowModal = mrOk then
      Edit1.Text := SelContacts;
  finally
    Free;
  end;
end;

procedure TfrmMessageContact.Edit1Click(Sender: TObject);
var
  a,b: string;
  i,j: integer;
  p,r: pchar;
begin
  a := Copy(Edit1.Text,1,Edit1.SelStart);
  b := Edit1.Text;
  Delete(b,1,Edit1.SelStart);
  i := 1;
  if a <> '' then begin
    p := @a[1];
    r := AnsiStrRScan(p,';');
    if r <> nil then begin
      i := r-p+2;
      while (i < length(a)) and (a[i] = ' ') do inc(i); 
    end;
  end;
  j := Length(b);
  if b <> '' then begin
    p := @b[1];
    r := AnsiStrScan(p,';');
    if r <> nil then j := r-p+1;
  end;
  with Edit1 do begin
    SelStart := i-1;
    SelLength := length(a)-i+1+j;
  end;
end;

procedure TfrmMessageContact.DoSend(AsDraft: boolean);

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲妇女屁股眼交7| 欧美日韩国产免费一区二区| 色婷婷狠狠综合| 欧美美女喷水视频| 精品国产免费久久| 日韩一区在线看| 视频一区欧美日韩| 国产精品一区二区三区四区| 色噜噜久久综合| 日韩精品一区二区三区视频在线观看| 国产三级一区二区三区| 亚洲va天堂va国产va久| 国产自产高清不卡| 欧美主播一区二区三区| 久久蜜桃av一区二区天堂| 亚洲日本欧美天堂| 精品系列免费在线观看| 色哟哟一区二区在线观看| 欧美成人精品高清在线播放| 国产精品白丝在线| 另类欧美日韩国产在线| 91麻豆6部合集magnet| 日韩欧美亚洲国产精品字幕久久久| 亚洲欧洲精品成人久久奇米网| 日韩国产欧美三级| 一本大道久久a久久综合| 欧美videossexotv100| 亚洲综合小说图片| 丁香婷婷综合激情五月色| 欧美精品视频www在线观看| 国产精品久久精品日日| 蜜桃91丨九色丨蝌蚪91桃色| 色狠狠桃花综合| 国产午夜精品久久久久久免费视| 三级久久三级久久| 色网综合在线观看| 欧美国产日本视频| 久久99热这里只有精品| 欧美三级日韩在线| 综合分类小说区另类春色亚洲小说欧美| 麻豆精品视频在线观看免费| 欧美视频一区二| 日韩一区中文字幕| 国产成人精品免费视频网站| 日韩欧美中文一区| 亚洲成av人片一区二区| 91麻豆蜜桃一区二区三区| 日本一区二区三区视频视频| 美女国产一区二区三区| 欧美日产在线观看| 亚洲美女视频在线观看| www.日韩av| 国产精品久久综合| 高清beeg欧美| 久久精品欧美日韩精品 | 欧美日韩国产一二三| 综合久久久久综合| av在线不卡电影| 国产精品萝li| 成人在线视频一区| 国产婷婷色一区二区三区| 狠狠色综合播放一区二区| 日韩欧美一区二区不卡| 免费精品99久久国产综合精品| 91.xcao| 亚洲成人av一区二区三区| 欧美亚洲动漫精品| 亚洲午夜免费电影| 在线免费观看视频一区| 一区二区三区免费网站| 在线视频你懂得一区二区三区| 亚洲另类一区二区| 欧美综合天天夜夜久久| 亚洲一级二级在线| 欧美喷水一区二区| 天天操天天干天天综合网| 欧美精品乱码久久久久久按摩| 亚洲国产aⅴ天堂久久| 欧美日韩中文精品| 日韩不卡一区二区| 欧美电视剧在线观看完整版| 精一区二区三区| 久久久久99精品国产片| 懂色av一区二区三区蜜臀| 中文字幕中文乱码欧美一区二区| 99久久精品99国产精品| 一级日本不卡的影视| 欧美伊人久久久久久午夜久久久久| 亚洲无人区一区| 91精品国产综合久久婷婷香蕉| 美女网站在线免费欧美精品| 久久综合五月天婷婷伊人| 国产91色综合久久免费分享| 亚洲欧洲色图综合| 欧洲色大大久久| 免费观看在线色综合| 久久综合九色综合97_久久久| 成人性视频免费网站| 一区二区三区成人| 欧美久久久久免费| 国产在线视视频有精品| 国产精品国产成人国产三级| 欧美日韩在线播放三区四区| 美女在线观看视频一区二区| 国产日韩亚洲欧美综合| 91久久精品一区二区三| 日本强好片久久久久久aaa| 久久亚洲精精品中文字幕早川悠里| 成人免费视频caoporn| 亚洲最新视频在线观看| 欧美成人艳星乳罩| 99久久精品国产导航| 日欧美一区二区| 国产精品三级电影| 欧美日本在线播放| 国产成人精品午夜视频免费| 一区二区三区影院| 日韩欧美的一区| 91视频在线观看免费| 日本视频中文字幕一区二区三区 | 99国产欧美另类久久久精品| 午夜视频在线观看一区二区三区| 精品福利视频一区二区三区| 色综合久久六月婷婷中文字幕| 蜜臀av亚洲一区中文字幕| 国产精品欧美极品| 欧美一三区三区四区免费在线看 | 亚洲美女免费视频| 欧美电影免费观看高清完整版| 色综合久久综合| 国产一区二区在线视频| 亚洲综合999| 中文字幕av在线一区二区三区| 欧美日韩国产区一| 成人av高清在线| 久久精品国产第一区二区三区| 亚洲猫色日本管| 国产视频一区二区在线| 91精品欧美综合在线观看最新| av毛片久久久久**hd| 毛片av一区二区三区| 一区二区三区鲁丝不卡| www国产精品av| 91麻豆精品国产91久久久使用方法| av电影一区二区| 国产麻豆成人精品| 美女mm1313爽爽久久久蜜臀| 亚洲一区二区欧美激情| 国产精品国产自产拍在线| 欧美va在线播放| 在线电影院国产精品| 色94色欧美sute亚洲线路一ni| 国产精品白丝av| 久久99国产精品麻豆| 婷婷久久综合九色国产成人| 亚洲人快播电影网| 国产精品欧美精品| 国产色一区二区| 久久蜜臀精品av| 精品久久免费看| 日韩色在线观看| 欧美精品久久天天躁| 欧美性色欧美a在线播放| av在线免费不卡| 成人av资源在线观看| 国产精一区二区三区| 久久成人羞羞网站| 蜜桃av一区二区三区电影| 天堂精品中文字幕在线| 亚洲一区二区欧美激情| 亚洲在线视频一区| 一区二区三区精品在线观看| 亚洲视频你懂的| 亚洲色图色小说| 中文字幕一区二区三区色视频| 日本一区二区高清| 欧美国产一区二区| 亚洲国产成人午夜在线一区| 国产婷婷一区二区| 中文字幕+乱码+中文字幕一区| 久久久久国产成人精品亚洲午夜| 久久久久久久久伊人| 久久午夜国产精品| 国产亚洲精品aa| 国产免费成人在线视频| 亚洲国产成人自拍| 综合激情成人伊人| 一区二区三区在线视频播放 | 欧美亚洲一区三区| 欧美亚洲国产怡红院影院| 欧美日韩综合在线免费观看| 欧美日韩精品一二三区| 7777精品伊人久久久大香线蕉的 | 国产精品久久毛片a| 亚洲欧洲日韩综合一区二区| 亚洲男人的天堂在线观看| 亚洲日本青草视频在线怡红院| 亚洲综合视频在线| 肉丝袜脚交视频一区二区| 免费观看成人鲁鲁鲁鲁鲁视频|