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

📄 umain.pas

📁 实现短信的收发应用非常的方便,系统很小直接使用不需安装
💻 PAS
📖 第 1 页 / 共 5 页
字号:
   if namebd='失败短信' then
   begin
   //开始向listview中加数据
   taball:='sendsms';
   ljxdel:='no';
   nameall:='失败短信';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='接收者手机号';
   name[1]:='发送者';
   name[2]:='短信内容';
   name[3]:='发信时间';

   for i:= 0 to 3 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from sendsms where status=2';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('receiver').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('sender').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('senddate').AsString);
        qlist.Next;
      end;
   end;
   //结束加数据
   //开始更新数据即读过的应将其状态改为1表示已读过了
   //结束对状态的更改
   //application.MessageBox('你双击了失败短信!',':提示:',mb_ok)
   end;
   //结束失败短信的显示

   //开始草稿短信的显示
   if namebd='草稿短信' then
   begin
   //开始向listview中加数据
   taball:='dxgl';
   ljxdel:='no';
   nameall:='草稿短信';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='接收者手机号';
   name[1]:='发送者';
   name[2]:='短信内容';
   name[3]:='发信时间';

   for i:= 0 to 3 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from dxgl where status=3';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('receiver').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('sender').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('senddate').AsString);
        qlist.Next;
      end;
   end;
   //结束加数据
   //开始更新数据即读过的应将其状态改为1表示已读过了
   //结束对状态的更改
   //application.MessageBox('你双击了草稿箱!',':提示:',mb_ok)
   end;
   //结束草稿箱的显示
   //开始垃圾箱的显示
   if namebd='垃圾箱' then
   begin
   //开始向listview中加数据
   taball:='dxgl';
   ljxdel:='yes';
   nameall:='垃圾箱';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='接收者手机号';
   name[1]:='发送者';
   name[2]:='短信内容';
   name[3]:='发信时间';

   for i:= 0 to 3 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from dxgl where status=4';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('receiver').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('sender').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('senddate').AsString);
        qlist.Next;
      end;
   end;
   //结束加数据
   //开始更新数据即读过的应将其状态改为1表示已读过了
   //结束对状态的更改
   //application.MessageBox('你双击了垃圾箱!',':提示:',mb_ok)
   end;
          //结束垃圾箱的刷新

   end//结束分析是否listview.selcount>0否则退出
   else
   begin
   application.MessageBox('你没选listview的选项故退出!',':提示:',mb_ok);
   exit;
   end;
   //结束检验

end;

procedure Tmainform.N28Click(Sender: TObject);
begin
frmdxxj:=Tfrmdxxj.Create(nil);
frmdxxj.Show;
end;

procedure Tmainform.ListView1SelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
begin
 //开始对删除按扭是否可用的限制
if listview1.SelCount>0 then
  begin
  ToolButton7.Enabled:=true;
  N29.Enabled:=true;
  N34.Enabled:=true;
  ToolButton18.Enabled:=true;
  N14.Enabled:=true;
  n7.Enabled:=true;
  end
  else
  begin
  ToolButton7.Enabled:=false;
  N29.Enabled:=false;
  N34.Enabled:=false;
  ToolButton18.Enabled:=false;
  n7.Enabled:=false;
  N14.Enabled:=false;
  end;
  //结束对删除按扭的控制
  //开编辑按扭的是否可用的控制
  if ((listview1.selcount>0) and (nameall<>'已收短信')and (nameall<>'接收短信')) then
    begin
    ToolButton17.Enabled:=true;
    N32.Enabled:=true;
    N6.Enabled:=true;
    end
    else
    begin
    ToolButton17.Enabled:=false;
    N32.Enabled:=false;
    N6.Enabled:=false;
    end;
  //结束编辑按扭是否可用的控制
  //开始分析“发送短信”的按扭是否可用
    if ((listview1.selcount>0) and (nameall<>'已收短信')and (nameall<>'接收短信')) then
    begin
    ToolButton6.Enabled:=true;
    N30.Enabled:=true;
    N13.Enabled:=true;
    end
    else
    begin
    ToolButton6.Enabled:=false;
    N30.Enabled:=false;
    N13.Enabled:=false;
    end;
  //结束分析“发送短信”的按扭的分析
  //开始短信内容的显示按扭的是否可用的分析
  //结束短信内容显示的分析;
  //开始"回复短信"的是否显示的控制;
  if ((listview1.selcount>0) and ((nameall='已收短信')or (nameall='接收短信'))) then
    begin
      n24.Enabled:=true;
      n36.Enabled:=true;
    end
    else
    begin
      n24.Enabled:=false;
      n36.Enabled:=false;
    end;
  //结束"回复短信"的控制;
end;

procedure Tmainform.N32Click(Sender: TObject);
var
  editid:string; //用于操作表中的记录id号
  edittab:string;//用于标识所在操作的表;
  editstr:string;
  ljxbd:string;//用于说明是否操作的是垃圾箱,如果是则删除从数据库.
  namebd:string;
  //下面是用于刷新操作用到的局部变量
  i:integer;
  lstitem:Tlistitem;
  name: array[0..10] of string;
  strsql:string;
begin
   //在编辑之前要分析一下是否有项被选中,选中才执行下面的操作,否则exit;
   if listview1.SelCount >0 then
   begin
   editid:=idall[listview1.selected.index];
   edittab:=taball;
   ljxbd:=ljxdel;
   namebd:=nameall;//将全局变量类别名称赋给naemebd便于做删除操作后对此模块进行刷新;
   //首先在界面上要显示删除的情况
   //listview1.Selected.Delete;
   //结束界面的删除显示
   //开始检查原表中是否有这样的一条记录有才能执行删除操作;
   runsql(qredit,'select * from '+edittab+' where id='+editid);
   if qredit.RecordCount >0 then
   begin
    // if application.MessageBox('请确认是否要编辑?',':提示:',mb_yesno)=idyes then
       // begin
        //开始给编辑窗口赋值
          try
          frmdxxj:=Tfrmdxxj.Create(nil);
          frmdxxj.Show;
          frmdxxj.Edit1.Text:=qredit.fieldbyname('sender').asstring;
          frmdxxj.Edit2.Text:=qredit.fieldbyname('receiver').AsString;
          frmdxxj.Memo1.Text:=qredit.fieldbyname('content').AsString;
          isedit:='edit';
        //结束给编辑窗口赋值
          //开始分析编辑
          editstr:='delete from '+edittab+' where id='+editid;
          //结束编辑分析
          qrlist.Close;
          qrlist.SQL.Clear;
          qrlist.SQL.Text:=editstr;
          qrlist.ExecSQL;
          listview1.Selected.Delete;
          memo1.Clear;
          //当删除操作完后做此类的刷新
          finally
          if namebd='接收短信' then
   begin
   //开始向listview中加数据
   taball:='revsms';
   ljxdel:='no';
   nameall:='接收短信';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='来自手机号';
   name[1]:='短信内容';
   name[2]:='接收时间';
   for i:= 0 to 2 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from revsms where status=0';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('fromaddress').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('revtime').AsString);
        qlist.Next;
      end;
   qlistup.Close;
   qlistup.SQL.Clear;
   qlistup.SQL.Text:='update revsms set status=1 where status=0';
   qlistup.ExecSQL;
   end;
   //结束加数据
   //开始更新数据即读过的应将其状态改为1表示已读过了
   //结束对状态的更改
   //application.MessageBox('你双击了接收短信!',':提示:',mb_ok)
   end;
   //结结束用户的分析
   if namebd='已收短信' then
   begin
   //开始向listview中加数据
   taball:='revsms';
   ljxdel:='no';
   nameall:='已收短信';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='来自手机号';
   name[1]:='短信内容';
   name[2]:='接收时间';
   for i:= 0 to 2 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from revsms ';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('fromaddress').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('revtime').AsString);
        qlist.Next;
      end;
   end;
   //结束加数据
   //开始更新数据即读过的应将其状态改为1表示已读过了
   //结束对状态的更改
   //application.MessageBox('你双击了已收短信!',':提示:',mb_ok)
   end;
   //结结束用户的分析

   //开始测试是否点击了待发短信
   if namebd='待发短信' then
   begin
   //开始向listview中加数据
   taball:='sendsms';
   ljxdel:='no';
   nameall:='待发短信';
   listview1.Items.Clear;
   listview1.Columns.Clear;
   name[0]:='接收者手机号';
   name[1]:='发送者';
   name[2]:='短信内容';
   name[3]:='发信时间';

   for i:= 0 to 3 do
     begin
     listview1.columns.add;
     listview1.Column[i].Caption:=name[i];
     listview1.Column[i].Width:=115;
     listview1.Column[i].Alignment:=tacenter;
     end;
   strsql:='select * from sendsms where status=0';
   runsql(qlist,strsql);
   if qlist.RecordCount >0 then
   begin
    for i:=0 to qlist.RecordCount-1 do
      begin
        lstitem:=listview1.Items.Add;
        idall[i]:=qlist.fieldbyname('id').AsString;//用于删除时的标识付
        lstitem.Caption:=qlist.fieldbyname('receiver').AsString;
        lstitem.ImageIndex:=0;
        lstitem.SubItems.Add(qlist.fieldbyname('sender').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('content').AsString);
        lstitem.SubItems.Add(qlist.fieldbyname('senddate').AsString);
        qlist.Next;
      end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -