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

📄 umain.pas

📁 实现短信的收发应用非常的方便,系统很小直接使用不需安装
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit umain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, ComCtrls, ToolWin, ExtCtrls, ImgList, StdCtrls, DB,
  DBTables, Excel2000, OleServer,ShellAPI, ADODB;
const
  WM_BARICON=WM_USER+200;
type
  Tmainform = class(TForm)
    MainMenu: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N3: TMenuItem;
    N4: TMenuItem;
    N5: TMenuItem;
    stbar: TStatusBar;
    Panel1: TPanel;
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton10: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    ToolButton14: TToolButton;
    Panel2: TPanel;
    Splitter1: TSplitter;
    Panel3: TPanel;
    TreeView1: TTreeView;
    Splitter2: TSplitter;
    TreeView2: TTreeView;
    ListView1: TListView;
    Splitter3: TSplitter;
    Memo1: TMemo;
    N9: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
    C1: TMenuItem;
    N16: TMenuItem;
    N17: TMenuItem;
    N19: TMenuItem;
    S1: TMenuItem;
    A1: TMenuItem;
    N22: TMenuItem;
    N25: TMenuItem;
    ToolButton16: TToolButton;
    ToolButton15: TToolButton;
    ImageList2: TImageList;
    PopupMenu1: TPopupMenu;
    N27: TMenuItem;
    ImageList3: TImageList;
    ImageList4: TImageList;
    PopupMenu2: TPopupMenu;
    N28: TMenuItem;
    N29: TMenuItem;
    N30: TMenuItem;
    N31: TMenuItem;
    N32: TMenuItem;
    ToolButton17: TToolButton;
    N33: TMenuItem;
    N34: TMenuItem;
    PopupMenu3: TPopupMenu;
    N35: TMenuItem;
    ToolButton18: TToolButton;
    N6: TMenuItem;
    N7: TMenuItem;
    PopupMenu4: TPopupMenu;
    N8: TMenuItem;
    N10: TMenuItem;
    N18: TMenuItem;
    N21: TMenuItem;
    N23: TMenuItem;
    N24: TMenuItem;
    N36: TMenuItem;
    ExcelApplication1: TExcelApplication;
    ExcelWorksheet1: TExcelWorksheet;
    ExcelWorkbook1: TExcelWorkbook;
    SaveDialog1: TSaveDialog;
    PopupMenu5: TPopupMenu;
    N37: TMenuItem;
    Timer1: TTimer;
    N26: TMenuItem;
    qtxldq: TADOQuery;
    qt1: TADOQuery;
    qt2: TADOQuery;
    qt3: TADOQuery;
    qlistup: TADOQuery;
    qlist: TADOQuery;
    Qrlist: TADOQuery;
    qredit: TADOQuery;
    Qrsend: TADOQuery;
    qrly: TADOQuery;
    procedure N11Click(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton9Click(Sender: TObject);
    procedure N19Click(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure S1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure N27Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure N31Click(Sender: TObject);
    procedure N29Click(Sender: TObject);
    procedure N28Click(Sender: TObject);
    procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
      Selected: Boolean);
    procedure N32Click(Sender: TObject);
    procedure N33Click(Sender: TObject);
    procedure N30Click(Sender: TObject);
    procedure N34Click(Sender: TObject);
    procedure N35Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure N12Click(Sender: TObject);
    procedure C1Click(Sender: TObject);
    procedure N16Click(Sender: TObject);
    procedure N17Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N18Click(Sender: TObject);
    procedure N21Click(Sender: TObject);
    procedure N23Click(Sender: TObject);
    procedure N24Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure A1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure N26Click(Sender: TObject);
    procedure TreeView2Click(Sender: TObject);
    procedure TreeView1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
  private
     Elapse:Longint;
     nowDate:TDate;
     DateChanged:Boolean;
     //在这里定义系统的系统过程即实现恢复和最小化的消息管理
     procedure WMSysCommand(var Message: TMessage); message 
               WM_SYSCOMMAND;
     procedure WMBarIcon(var Message:TMessage);message 
               WM_BARICON;
     //定义状态条上的变量

         { Private declarations }
  public
         { Public declarations }
  end;

var
  mainform: Tmainform;
  idall:array[0..9999] of string;
  taball:string;
  ljxdel:string;//yes表示是垃圾箱则从数据库delete,no表示不是垃圾箱则只用更新status=4即可
  nameall:string; //用于标识我现在正在操作的类别为"已收短信",还是"待发短信"等.
  statusall:string;//状态参数用于短信编中的处理,说明现在编辑的是什么类别的类信息
                   //而且只有点击"待发,已发,失败,草稿"才能编辑否则不可编辑
implementation
uses utxl,udy,udb,utxlxz,udxxj,ucxlxr,udycx,udxcx,uyfdx,usbdx,uabout;

{$R *.dfm}
procedure Tmainform.WMSysCommand(var Message:TMessage);
var
   lpData:PNotifyIconData;
begin
  if Message.WParam = SC_ICON then
  begin
     //如果用户最小化窗口则将窗口隐藏并在任务栏上添加图标
     lpData := new(PNotifyIconDataA);
     lpData.cbSize := 88;
//SizeOf(PNotifyIconDataA);
     lpData.Wnd := mainform.Handle;
     lpData.hIcon := mainform.Icon.Handle;
     lpData.uCallbackMessage := WM_BARICON;
     lpData.uID :=0;
     lpData.szTip := '数通短信系统1.2';
     lpData.uFlags := NIF_ICON
or NIF_MESSAGE or NIF_TIP;
     Shell_NotifyIcon(NIM_ADD,lpData);
     dispose(lpData);
     mainform.Visible := False;
  end
  else
  begin
     //如果是其它的SystemCommand消息则调用系统缺省处理函数处理之。
     DefWindowProc(mainform.Handle,Message.
Msg,Message.WParam,Message.LParam);
  end;
end;

procedure Tmainform.WMBarIcon(var Message:TMessage);
var
   lpData:PNotifyIconData;
begin
  if (Message.LParam = WM_LBUTTONDOWN) then
   begin
     //如果用户点击任务栏图标则将图标删除并回复窗口。
     lpData := new(PNotifyIconDataA);
     lpData.cbSize := 88;//SizeOf(PNotifyIconDataA);
     lpData.Wnd := mainform.Handle;
     lpData.hIcon := mainform.Icon.Handle;
     lpData.uCallbackMessage := WM_BARICON;
     lpData.uID :=0;
     lpData.szTip := '数通短信系统1.2';
     lpData.uFlags := NIF_ICON or NIF_MESSAGE or NIF_TIP;
     Shell_NotifyIcon(NIM_DELETE,lpData);
     dispose(lpData);
     mainform.Visible := True;
   end;
end;
//开始当程序的图标最小化后不同的响应;
//结束最小化后的响应
procedure Tmainform.N11Click(Sender: TObject);
begin
close;
end;

procedure Tmainform.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
 if  MessageBox(Handle,'您确认要退出本系统吗?','确认退出',MB_YESNO+MB_IconInformation+MB_DefButton2)=IDYES then
   begin
     CanClose:=True;
   end
 else
     CanClose:=False;
end;

procedure Tmainform.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;

procedure Tmainform.ToolButton9Click(Sender: TObject);
begin
frmtxl:=Tfrmtxl.Create(nil);
frmtxl.Show;
end;

procedure Tmainform.N19Click(Sender: TObject);
begin
frmtxl:=Tfrmtxl.Create(nil);
frmtxl.Show;
end;

procedure Tmainform.ToolButton10Click(Sender: TObject);
begin
frmdy:=Tfrmdy.Create(nil);
frmdy.Show;
end;

procedure Tmainform.S1Click(Sender: TObject);
begin
frmdy:=Tfrmdy.Create(nil);
frmdy.Show;
end;

procedure Tmainform.FormCreate(Sender: TObject);
var
 treenode,treenode1,treenode2,treenode3:ttreenode;
 tree1node,tree1node2,tree1node3,tree1node4,tree1node5,tree1node6,tree1node7:Ttreenode;
begin
   
    //开始下面的状态条信息的写入
    Elapse:=0;
    nowDate:=Date;
    Timer1.Enabled:=true;
    DateChanged:=true;
    //结束状态的写入
    //让删除按扭不可用即初始化工作;
    ToolButton7.Enabled:=false;
    ToolButton17.Enabled:=false;
    ToolButton6.Enabled:=false;
    ToolButton18.Enabled:=false;
    n6.Enabled:=false;
    n7.Enabled:=false;
    N13.Enabled:=false;
    N14.Enabled:=false;
    N29.Enabled:=false;
    N32.Enabled:=false;
    N30.Enabled:=false;
    //n26.Enabled:=false;
    n34.Enabled:=false;
    n24.Enabled:=false;
    n36.Enabled:=false;
    //按扭的是否可用分析结束即初始化工作;
    treeview2.items.clear;
    treenode:=treeview2.items.add(nil,'通讯录');
    treenode.HasChildren := true;
    treenode.ImageIndex := 0;
    treenode.SelectedIndex := 0;
    runsql(qt1,'select * from fz');
    with TreeView2.Items do
    begin
        while not qt1.eof do
        begin
            treenode1:=addchild(treenode,trim(qt1.fieldbyname('fzname').asstring));
            treenode1.ImageIndex := 1;
            treenode1.SelectedIndex := 2;
            //开始加第二层的内容:人员
               runsql(qt2,'select * from txl where fzid='''+trim(qt1.fieldbyname('fzid').asstring)+'''');
               while not qt2.Eof do
               begin
               treenode2:=addchild(treenode1,trim(qt2.fieldbyname('name').asstring));
               treenode2.ImageIndex := 3;
               treenode2.SelectedIndex := 4;
               //开始第三层:手机号,私人电 话,
                  runsql(qt3,'select * from txl where txlid='''+trim(qt2.fieldbyname('txlid').asstring)+'''');
                  while not qt3.Eof do
                  begin
                  //加个人具体信息
                    if  trim(qt3.fieldbyname('sex').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'性别:'+trim(qt3.fieldbyname('sex').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('telsj').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'手机号:'+trim(qt3.fieldbyname('telsj').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('telsr').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'私人电话:'+trim(qt3.fieldbyname('telsr').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('email').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'电子邮件:'+trim(qt3.fieldbyname('email').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('qz').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'传真:'+trim(qt3.fieldbyname('qz').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('telgs').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'公司电话:'+trim(qt3.fieldbyname('telgs').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('gsname').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'公司名称:'+trim(qt3.fieldbyname('gsname').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('ssbm').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'所属部门:'+trim(qt3.fieldbyname('ssbm').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                    if  trim(qt3.fieldbyname('xxdz').asstring)<>'' then
                    begin
                    treenode3:=addchild(treenode2,'联系地址:'+trim(qt3.fieldbyname('xxdz').asstring));
                    treenode3.ImageIndex := 5;
                    treenode3.SelectedIndex := 6;
                    end;
                  //加个人具体信息结束
                  qt3.Next;
                  end;
               //结束第三层
               qt2.Next;
               end;
            //结束第二层

⌨️ 快捷键说明

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