狠狠色噜噜狠狠狠777米奇小说,精品久久久久精品亚洲av,丰满的少妇邻居中文bd,疯狂做受xxxx,中文天堂最新版在线www,国内精品综合久久久40p,亚洲另类欧美综合久久图片区,小荡货你夹的老师好紧
廣州高深商電子技術有限公司 用戶登錄
用戶注冊 ......
首頁 公告 收款機 抽獎機 來電管理 數據采集 臺球燈控 軟件開發 綜合 會員下載 發貨查詢
公司首頁
當前位置:首頁>> 來電管理>> 二次開發 >>正文
使用DLL的函數進行“來電顯示”二次開發
chen在2006/6/14發表,被瀏覽9870
編程方式:delphi

DLL接口函數的功能見“服務程序”一文。

建立窗體如下:


在ComboBox1的Items中添加如下:
AddShareNo
GetShareData
ReadShareData
CountShareData
ReadLastNo
OpenComport
CloseComport
GetComportState
ChangeComPort
ReadComPort
OpenSocket
CloseSocket
GetSocketState
ChangeSocketComPort
ReadSocketPort
StartJDService
StopJDService
Dial
ReadDialNo
ShowTeleServerState

程序代碼如下:
unit cltTeleSS;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ScktComp;
  
const
  ComTeleDll='cdTele.dll';

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Button3: TButton;
    ComboBox1: TComboBox;
    edFt: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

//==============cdTele.dll提供的查詢和獲取來電號碼的函數==============

//來電池是指監聽程序內的一個數組 [0..100],用來保存來電號碼和來電時間。//數組從0
//開始計數,把第1個來電號碼保存在第0個數據單元,把第2個來電號碼保存在第1個數據單
//元,如此類推。當取走來第1個來電號碼(第0個數據單元)后,自動把第2個號碼移位到
//第0個數據單元,如此類推。

//打開服務程序共享內存,如果使用DLL函數,建議在程序啟動時調用
function OpenMapFile: LongBool; stdcall; external ComTeleDll;

//關閉服務程序共享內存,調用了OpenMapFile后,在程序結束時調用
function CloseMapFile: LongBool; stdcall; external ComTeleDll;

//測試使用,把來電號碼和時間寫入監聽程序內的來電池中
function AddShareData(No: PChar; T: TDateTime): Integer; stdcall; external ComTeleDll;

//獲取來電號碼和來電時間。如果有來電,則返回True,否則返回False。獲取來電后,刪除來電池中的該來電號碼。
//i:獲取來電池中的第i個來電號碼,從0開始計數,0為最先來電;
//No:獲取的來電號碼;
//T:獲取的來電時間。
function GetShareData(const i: Integer; var No: PChar; var T: TDateTime): LongBool; stdcall; external ComTeleDll;

//獲取來電號碼和來電時間。如果有來電,則返回True,否則返回False。獲取來電后,不刪除來電池中的該來電號碼。
function ReadShareData(const i: Integer; var No: PChar; var T: TDateTime): LongBool; stdcall; external ComTeleDll;

//獲取最新來電號碼和來電時間。
function ReadLastData(var No: PChar; var T: TDateTime): LongBool; stdcall; external ComTeleDll;

//測試使用,把來電號碼寫入來電池
function AddShareNo(No: PChar): Integer; stdcall; external ComTeleDll;

//直接獲取來電池中的第i個來電號碼。獲取來電后,刪除來電池中的該來電號碼。
function GetShareNo(const i: Integer): PChar; stdcall; external ComTeleDll;

//直接獲取來電池中的第i個來電號碼。獲取來電后,不刪除來電池中的該來電號碼。
function ReadShareNo(const i: Integer): PChar; stdcall; external ComTeleDll;

//返回最新來電號碼。
function ReadLastNo: PChar; stdcall; external ComTeleDll;

//直接刪除來電池中的第i個來電號碼。
function DelShareData(const i: Integer): LongBool; stdcall; external ComTeleDll;

//直接刪除來電池中的所有來電號碼。
function ClearShareData: LongBool; stdcall; external ComTeleDll;

//返回來電池中有幾個來電號碼。
function CountShareData: Integer; stdcall; external ComTeleDll;

//返回來電管理器的COM端口打開與否
function GetComportState: LongBool; stdcall; external ComTeleDll;

//返回連接來電管理器的COM端口號。1表示COM1,2表示COM2,如此類推
function ReadComPort: Byte; stdcall; external ComTeleDll;

//返回服務程序是否已經打開Socket服務
function GetSocketState: LongBool; stdcall; external ComTeleDll;

//返回監聽服務程序的Socket服務端口號
function ReadSocketPort: Integer; stdcall; external ComTeleDll;

//====以下函數適用于TeleListen.exe,如果使用svrTele.exe,則響應速度會慢一些====

//打開來電管理器的COM端口,返回COM端口狀態
function OpenComPort: LongBool; stdcall; external ComTeleDll;

//關閉來電管理器的COM端口,返回COM端口狀態
function CloseComPort: LongBool; stdcall; external ComTeleDll;

//修改來電管理器的COM端口,并返回打開狀態。1表示COM1,2表示COM2,如此類推
function ChangeComPort(const Port: Byte): LongBool; stdcall; external ComTeleDll;

//打開TeleListen.exe的Socket服務,返回Socket服務狀態
function OpenSocket: LongBool; stdcall; external ComTeleDll;

//關閉TeleListen.exe的Socket服務,返回Socket服務狀態
function CloseSocket: LongBool; stdcall; external ComTeleDll;

//修改TeleListen.exe的Socket服務端口,并返回打開狀態
function ChangeSocketPort(const Port: Integer): LongBool; stdcall; external ComTeleDll;

//返回TeleLC.exe中的連接服務器地址
function ReadSocketAddress: PChar; stdcall; external ComTeleDll;

//回撥電話,如果NO為空,則重撥
function DialTeleNo(No: PChar): LongBool; stdcall; external ComTeleDll;

//返回上次撥出電話
function ReadDialNo: PChar; stdcall; external ComTeleDll;

//設置監聽服務程序的運行狀態
function ShowTeleServerState: Integer; stdcall; external ComTeleDll;


//====以下函數適用于svrTele.exe,當啟動客戶端程序失敗時,要StopJDService,然后再StartJDService====

//啟動svrTele.exe服務,如果啟動成功,返回True
function StartJDService: LongBool; stdcall; external ComTeleDll;

//停止svrTele.exe服務,如果關閉成功,返回True
function StopJDService: LongBool; stdcall; external ComTeleDll;


//====以下函數適用于TeleLC.exe====

//修改TeleLC.exe的連接服務器地址
function ChangeSocketAddress(addr: PChar): LongBool; stdcall; external ComTeleDll;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  try
    OpenMapFile;
  except
    //打開不成功,一般都是由于svrTele.exe作為服務程序,Tele Server已經啟動造成的
    //解決的辦法是先停止服務,打開MapFile,再啟動服務
    StopJDService;
    OpenMapFile;
    StartJDService;
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  CloseMapFile;
end;

procedure TForm1.Button3Click(Sender: TObject);

  procedure GetData(get: Boolean);
  var
    no: PChar;
    t: TDateTime;
    i: Integer;
  begin
    no:=StrAlloc(20);
    if edFt.Text='' then i:=0 else i:=StrToIntDef(edFt.Text,0);
    if get then begin
      if GetShareData(i, no, t) then
        Memo1.Lines.Add(StrPas(no)+FormatDateTime(' yyyy-mm-dd hh:nn:ss', t));
    end
    else
      if ReadShareData(i, no, t) then
        Memo1.Lines.Add(StrPas(no)+FormatDateTime(' yyyy-mm-dd hh:nn:ss', t));
    StrDispose(no);
  end;

  procedure WriteState(connected: Boolean);
  begin
    if connected then
      Memo1.Lines.Add('Connected!')
    else
      Memo1.Lines.Add('not Connected!');
  end;

  procedure WriteState1(active: Boolean);
  begin
    if active then
      Memo1.Lines.Add('Active!')
    else
      Memo1.Lines.Add('not Active!');
  end;

begin
  case ComboBox1.ItemIndex of
    0: AddShareNo(PChar(edFt.Text));
    1: GetData(True);
    2: GetData(False);
    3: Memo1.Lines.Add('Tele Count '+IntToStr(CountShareData));
    4: Memo1.Lines.Add(StrPas(ReadLastNo));
    5: WriteState(OpenComport);
    6: WriteState(CloseComport);
    7: WriteState(GetComportState);
    8: WriteState(ChangeComport(StrToIntDef(edFt.Text,0)));
    9: Memo1.Lines.Add('COM'+IntToStr(ReadComport));
    10: WriteState1(OpenSocket);
    11: WriteState1(CloseSocket);
    12: WriteState1(GetSocketState);
    13: WriteState1(ChangeSocketPort(StrToIntDef(edFt.Text,3825)));
    14: Memo1.Lines.Add('Socket Port is '+IntToStr(ReadSocketPort));
    15: if StartJDService then Memo1.Lines.Add('Start Tele Server');
    16: if StopJDService then Memo1.Lines.Add('Stop Tele Server');
    17: if DialTeleNo(PChar(edFt.Text)) then Memo1.Lines.Add('Dial '+edFt.Text);
    18: Memo1.Lines.Add('Last Dial No is '+StrPas(ReadDialNo));
    19: if ShowTeleServerState=mrOK then Memo1.Lines.Add('Set Server State Successful');
  end;
end;

end.
【相關文章】
使用DLL的函數進行“來電…
【同類文章】
高深商GSM無線固話盒OC…
WIFI接口來電顯示管理器…
新一代USB轉COM口來電…
來電管理器故障排除的方法
在WIN7或Win8中注冊…
計算機收發短信的OCX控件…
使用Java開發來電顯示管…
開發來電顯示及錄音程序的C…
C#來電顯示管理器開發示例…
使用C#的Socket開發…

廣州高深商電子技術有限公司

地址:天河北路908號、高科大廈B座2704
電話:020-38259081、38258857
電子郵箱:gaoykosen@foxmail.com

主站蜘蛛池模板: 性一交一乱一伦一| 亚洲国产精品成人一区二区在线| www射我里面在线观看| 午夜丰满少妇性开放视频| 国产真实愉拍系列在线视频| 亚洲无人区码一码二码三码四码| 好姑娘6电影在线观看| 精品人妻无码一区二区色欲产成人| 亚洲中文字幕久久久一区| 全国最大成人网站| 国产激情精品一区二区三区| 国产综合精品久久久久成人影院| 夜夜高潮次次欢爽av女| 在线天堂中文新版www| 国产精品人成在线观看| 肉多荤文高h羞耻玩弄校园| 51国产黑色丝袜高跟鞋| 亚洲日韩精品无码专区加勒比| 国产成人精品久久综合| 无码137片内射在线影院| 棚户区小伙嫖老妓女| 高清windows免费版| gogogo高清在线观看视频直播 | a级国产片在线观看| 亚洲av无码片在线播放| 最好好看的中文字幕| av大片| 亚洲一区无码中文字幕| 亚洲av成人无码网天堂| 亚洲人成网站日本片| 日产精品久久久一区二区| asian中国人体欣赏pics| 18禁又污又黄又爽的网站不卡| 日本乱偷中文字幕| 国产精品国色综合久久| 亚洲av国产av综合av| 亚洲中文字幕久久无码精品| 一面上边一面膜下边的免费| 蜜桃av自慰久久久久免费网站| 高清国产一区二区三区在线| 好姑娘在线视频免费观看|