VoIP模拟手机系统的常用功能网络电话设计(6)_毕业论文

毕业论文移动版

毕业论文 > 计算机论文 >

VoIP模拟手机系统的常用功能网络电话设计(6)


  UClient1.Port :=9927;//设置对方IP
  if(label4.Caption='1') then
  begin
      form9.BitBtn1.Click;
  end;
  if length(Memo1.lines.GetText)>0 then
  begin
       UClient1.Send(memo1.Lines .GetText);//将短信内容发出
    接受短信用到的udpsever onudpread函数
     Stream:=Tstringstream.creat('');//创建一个字符串流
     Stream.CopyFrom(AData,AData.Size);//将接收到的内容拷贝进字符串流
     str:=Stream.DataString;//转换成字符串
     form11.show;
     s:=ExtractFilePath(paramstr(0))+trim('wav\1.wav');//播放当前程序wav文件夹下声音文件
     sndPlaySound(PChar(s), SND_LOOP or SND_ASYNC);//短信响铃
     form11.Memo1.Clear;
     form11.memo1.Lines.Insert(0,str);//显示信息
     form11.Label1.Caption:= ABinding.PeerIP;//显示对方联系方式
     sleep(1000);//让响铃播放结束
     sndPlaySound(nil, 0);//停止响铃
     以下为写信功能与收到短信的截图
  图 6.2  编辑短信并发送 图6.3  收到短信并显示
6.2.2 短信记录功能的实现
     短信能有记录的前提是先要有储存,本课题通过ADOquery控件执行SQL语句的插入功能,将短信存储进数据库,使得记录存在。短信的记录功能主要考虑到了三个方面,即收件箱,发件箱,草稿箱,收件箱有查看和回复以及转发三项功能,发件箱有查看与转发两项功能,而草稿箱有查看和发送两项功能,考虑到各个功能细节不尽相同,本课题使用了三个form来实现这些功能,关于短信的提取显示,本课题主用利用到了DBgrid,DataSource,ADOquery,ADOConnection,四个数据库操作控件,其中ADOConnection主要负责连接到SQL Server数据库,ADOquery控件负责执行SQL语句,DBgrid控件负责SQL语句结果的内容显示,DataSource控件负责ADOquery和DBgrid的连接。为了实现查看短信的功能,除了要显示短信内容,还应当有联系人信息,而联系人信息分为号码和姓名两部分,要把短信中的联系人号码和联系人姓名对应起来,本课题用到了SQL语句的外连接,即,在查阅短信时,可以同时看到通讯录中已存联系人的姓名。最后还需要添加删除记录的功能,这个部分需要用到SQL语句的delete功能,详细代码如下:
    存储功能以发件箱为例
       Adoquery1.insert;
       Adoquery1.FieldByname('text').AsString:=memo1.Text ;//存入短信内容
       Adoquery1.FieldByname('number').AsString:=Edit2.Text;//存入联系方式
       Adoquery1.FieldByname('time').Asstring:=DateTimeToStr(Now());//存入时间
       Adoquery1.FieldByname('flag').Asinteger:=2;//代表为发出信息
       Adoquery1.post;
    信息记录的显示,SQL语句的外连接
     SQL.Add('select b.name as 姓名,a.number as 号码,a.text as 内容 ,a.time as 时间 from  通讯录 as b ') ;
         SQL.Add('right outer join 短信 as a on a.number=b.number where a.flag=''3''')  ;//通讯录表外连接到短信表,以显示短信联系人姓名
    显示结果如下 (责任编辑:qin)