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

📄 unit1.pas

📁 一个很不错的绿色小软件 可以实现 上网 一个小助手
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    WebBrowser1.Show;
    WebBrowser1.Navigate('file://'+ExtractFilePath(ParamStr(0))+'res\serch_web.htm');
  end
 else
  begin
    myhint.Caption:='鼠标拖入常用的文件,以便进行方便的操作。';
    rl_rj_fp.Visible:=false;
    WebBrowser1.Hide;
    DropShellListView1.Visible:=true;
    PanelFav.Visible:=False;
  end;
end;

procedure TForm1.ListView1DblClick(Sender: TObject);
begin
   ViewNet(ListView1.Selected.Caption);
end;

procedure TForm1.Tab_TpTabChanged(Sender: TObject);
begin
 QueryNet.Close;
 QueryNet.SQL.Text:='select * from net where 类型='''+Tab_Tp.Tabs[Tab_tp.tabIndex]+'''';
 QueryNet.Open;
 AddNetName(ListView1,QueryNet);
end;

procedure TForm1.Tab_TpDragDrop(Sender, Source: TObject; X, Y: Integer);
var
 DroPRect:Trect;
 i:integer;
 TbSet:TTabControl;
begin
 for i:=0 to Tab_Tp.Tabs.Count-1 do
  begin
   DroPRect:=Tab_Tp.TabRect(i);          // 搜索 每个Tab的区域
   if (x<DroPRect.Right) and (x>DroPRect.Left)  then      //判断鼠标区域
    begin
     TbSet:=TTabControl(source);
     TbSet.Tabs.Exchange(i,Tab_Tp.TabIndex);
     Tab_Tp.TabIndex:=i;
     TbSet.Refresh;
     exit;                        //立即退出,否则会导致错误.
    end;
  end;
end;

procedure TForm1.Tab_TpChange(Sender: TObject);
begin
 QueryNet.Close;
 QueryNet.SQL.Text:='select * from net where 类型='''+Tab_Tp.Tabs[Tab_tp.tabIndex]+'''';
 QueryNet.Open;
 AddNetName(ListView1,QueryNet);
end;

procedure TForm1.Tab_TpDragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
 Accept:=(source is TTabControl);
end;

procedure TForm1.Tab_TpMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 if(ssleft in Shift) then
  Tab_Tp.BeginDrag(false);
end;

procedure TForm1.N_ViewNetClick(Sender: TObject);
begin
  ViewNet(ListView1.Selected.Caption); //
end;
procedure TForm1.N_AddAdrClick(Sender: TObject);
var
 Form2:TForm2;  //
begin
 if Tab_Tp.Tabs.Count<=0 then
  begin
   N_AddTp.Click;
   exit;
  end;
 Form2:=TForm2.Create(self);
 try
  Form2.Caption:='添加网址';
  Form2.ShowModal;
  if Form2.ModalResult=mrok then
   begin
    QueryNet.Filter:='网名='''+Form2.Edit1.Text+'''';
    QueryNet.Filtered:=true; //这里判断是否有重复
    if QueryNet.RecordCount>0 then
     begin
      QueryNet.Filtered:=false;
      Showmessage('该网名已经存在');
      exit;
     end;
    QueryNet.InsertRecord([trim(Form2.Edit1.Text),trim(Form2.Edit2.Text),Tab_Tp.Tabs[Tab_Tp.TabIndex]]);
    ListView1.AddItem(Form2.Edit1.Text,ListView1);
   end;
 finally
  Form2.Free;
  QueryNet.Filtered:=false;
 end;
end;
/////////////////////////////////////////////////////////////
///////////////////菜单事件//////////////////////////////////
/////////////////////////////////////////////////////////////
procedure TForm1.PM_NetPopup(Sender: TObject);
begin
 if ListView1.Selected=nil then
   begin
    N_ViewNet.Enabled:=false;
    N_ChangeCon.Enabled:=false;
    N_DeleteAdr.Enabled:=false;
   end
 else
  begin
   N_ViewNet.Enabled:=true;
    N_ChangeCon.Enabled:=true;
    N_DeleteAdr.Enabled:=true;
  end;
end;

procedure TForm1.N_ChangeConClick(Sender: TObject);
var
 Form:TForm2;
begin
 if ListView1.Selected=nil then exit;  //
 Form:=TForm2.Create(self);
 Form.Caption:='修改';
 Form.Hint:='修改';
 try
  Form.ShowModal;
  if Form.ModalResult=mrok then
   begin
    QueryNet.Locate('网名',Form1.ListView1.Selected.Caption,[loCaseInsensitive]);
    QueryNet.Edit;
    QueryNet.FieldByName('网名').Text:=Form.Edit1.Text;
    QueryNet.FieldByName('网址').Text:=Form.Edit2.Text;
    QueryNet.Post;
    ListView1.Selected.Caption:=Form.Edit1.Text;
   end;
 finally
  Form.Free;
 end;
end;

procedure TForm1.N_DeleteAdrClick(Sender: TObject);
begin
 if ListView1.Selected=nil then exit;
 QueryNet.Filter:='网名='''+ListView1.Selected.Caption+'''';
 QueryNet.Filtered:=True;
 QueryNet.Delete;
 QueryNet.Refresh;
 QueryNet.Filtered:=false;
 ListView1.DeleteSelected;
 QueryNet.Open;
end;
/////////////////////////////////////////////////////////////
                  ///////菜单事件/////
/////////////////////////////////////////////////////////////
procedure TForm1.PM_TpPopup(Sender: TObject);
begin       ///
 if Tab_Tp.TabIndex<0 then
  begin
   N_ChangeTp.Enabled:=false;
   N_DeleteTp.Enabled:=false;
  end
 else
  begin
   N_ChangeTp.Enabled:=true;
   N_DeleteTp.Enabled:=true;
  end;
end;
procedure TForm1.N_AddTpClick(Sender: TObject);
var
 Tp:string;
 i:integer;
begin  ///
 if (not InputQuery('添加类别','请输入类别名',Tp))or(Tp='') then exit;
 i:=Tab_Tp.Tabs.IndexOf(Tp);
 if i>=0 then
  begin
   showmessage('该标签已经存在!');
   exit;
  end;
 QueryTp.Append;
 QueryTp.FieldByName('类型').Text:=Tp;
 QueryTp.Refresh;
 Tab_Tp.Tabs.Add(Tp);
end;
procedure TForm1.N_ChangeTpClick(Sender: TObject);
var
 NewTp:string;
 i:integer;
begin   ///
 if (not InputQuery('修改标签','标签名',NewTp))or(NewTp='')then exit;
 for i:=0 to Tab_Tp.Tabs.Count-1 do
  if Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]=NewTp then
   begin
    showmessage('该类型已经存在!');
    exit;
   end;
 Querytp.SQL.Text:='select 类型 from tp where 类型='''+Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]+'''';
 Querytp.Open;
 if Querytp.RecordCount<=0 then exit;
 Querytp.Edit;
 Querytp.FieldByName('类型').Text:=NewTp;
 Querytp.Refresh;
 Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]:=NewTp;
 Querytp.SQL.Text:='select 类型 from tp';
 Querytp.Open;
end;
procedure TForm1.N_DeleteTpClick(Sender: TObject);
begin   ///
 if Tab_Tp.TabIndex<0 then exit;
 if messagebox(handle,'如果该标签被删除,则所有该类别的网址也将会被删除!','警告!',MB_YesNo+MB_IconWarning+MB_DefButton2)=IDNo then exit;
 Querytp.Filter:='类型='''+Tab_Tp.Tabs.Strings[Tab_Tp.TabIndex]+'''';
 Querytp.Filtered:=true;
 if QueryTp.RecordCount>0 then
  Querytp.Delete;
 Querytp.Filtered:=false;
 ListView1.Clear;
 Tab_Tp.Tabs.Delete(Tab_Tp.TabIndex);
end;
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
procedure TForm1.FormDestroy(Sender: TObject);
var
 i:integer;
begin
 for i:=0 to Tab_tp.Tabs.Count-1 do
  begin
   if not QueryTp.Locate('类型',Tab_tp.Tabs[i],[]) then continue;
   QueryTp.Edit;
   QueryTp.FieldByName('编号').AsInteger:=i;
   QueryTp.Refresh;
  end;
//从全局原子表中删除
GlobalDeleteAtom(Atom);
shell_NotifyIcon(NIM_Delete,@NT);//消除托盘上的图标
end;

procedure TForm1.N4Click(Sender: TObject);
begin
  DropShellListView1.SelectedFolder.ExecuteDefault ;  
end;

procedure TForm1.N7Click(Sender: TObject);
begin
  if opendialog1.Execute then
  DropShellListView1.GetNewItem(opendialog1.FileName);
end;

procedure TForm1.N8Click(Sender: TObject);
var
  realpath:string;
begin
  realpath:=Dropshelllistview1.selectedfolder.PathName;
  deletefile(pchar(realpath));
end;

procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG;
  var Handled: Boolean);
const
  KeyPressMask = $80000000;
var
  Doc:IHTMLDocument2;
  input:OleVariant;
begin
  if IsChild(WebBrowser1.Handle, Msg.Hwnd) and (Msg.Message = WM_KEYDOWN) and (Msg.wParam=13) then
  begin
    doc:=webbrowser1.document as ihtmldocument2;
    input:=doc.all.item('imageField',0);
    input.click;
  end;

  if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('N')) then
  begin
    //Disable Ctrl+N
    Handled := True;
  end;
  if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('P')) then
  begin
    //Disable Ctrl+P
    Handled := True;
  end;
  if (Msg.message = WM_KEYDOWN) and ((Msg.lParam and KeyPressMask) = 0) and (GetKeyState(VK_CONTROL) < 0) and (Msg.wParam = Ord('F')) then
  begin
    //Disable Ctrl+F
    Handled := True;
  end;
end;

procedure TForm1.N12Click(Sender: TObject);
begin
  DropShellListView1.ViewStyle:=vsIcon;
end;

procedure TForm1.N15Click(Sender: TObject);
begin
  DropShellListView1.ViewStyle:=vsSmallIcon;
end;

procedure TForm1.N13Click(Sender: TObject);
begin
  DropShellListView1.ViewStyle:=vsList;
end;

procedure TForm1.N14Click(Sender: TObject);
begin
  DropShellListView1.ViewStyle:=vsReport;
end;

procedure TForm1.N20Click(Sender: TObject);
begin
 ListView1.ViewStyle:=vsIcon;
end;

procedure TForm1.N21Click(Sender: TObject);
begin
 ListView1.ViewStyle:=vsSmallIcon;
end;

procedure TForm1.N22Click(Sender: TObject);
begin
 ListView1.ViewStyle:=vsList;
end;

procedure TForm1.N23Click(Sender: TObject);
begin
 ListView1.ViewStyle:=vsReport;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  form3.Parent:=form1.rl_rj_fp;
  form3.Show;
  check_ago; //调用对过去事件检查函数
  datetime_back:=get_ts_datetime;
  form3.rl_tm_sound.Enabled:=true;//启动时钟,开始计时

end;

procedure TForm1.Label3Click(Sender: TObject);
begin
  shellabout(form1.handle,'网络小秘书','制作:南阳理工学院今网软件小组'+#13+'邮箱:hds129@163.com'+#13+'QQ:276659571', Application.Icon.handle);
end;

procedure TForm1.Label1MouseEnter(Sender: TObject);
begin
  label1.Font.style:=[Fsunderline];
  label1.Font.Color:=clBlue;
end;

procedure TForm1.Label1MouseLeave(Sender: TObject);
begin
  label1.Font.style:=[];
  label1.Font.Color:=Clwhite;
end;

procedure TForm1.Label2MouseEnter(Sender: TObject);
begin
  label2.Font.style:=[Fsunderline];
  label2.Font.Color:=clBlue;
end;

procedure TForm1.Label2MouseLeave(Sender: TObject);
begin
  label2.Font.style:=[];
  label2.Font.Color:=Clwhite;
end;

procedure TForm1.Label3MouseEnter(Sender: TObject);
begin
  label3.Font.style:=[Fsunderline];
  label3.Font.Color:=clBlue;
end;

procedure TForm1.Label3MouseLeave(Sender: TObject);
begin
  label3.Font.style:=[];
  label3.Font.Color:=Clwhite;
end;

procedure TForm1.Label1Click(Sender: TObject);
var
  str:string;
begin
  str:='http://todaynet.nyist.net';
  ShellExecute(Application.MainForm.Handle,'open',PChar(str),nil,nil,SW_SHOWNORMAL);
end;

procedure TForm1.Label2Click(Sender: TObject);
var
  str:string;
begin
  str:='file://'+ExtractFilePath(ParamStr(0))+'help\help.html';
  ShellExecute(Application.MainForm.Handle,'open',PChar(str),nil,nil,SW_SHOWNORMAL);
end;

procedure TForm1.N17Click(Sender: TObject);
begin
if self.Title_PopMenu.Items.Find('最小化')<>nil then
  begin
    NT.cbSize:=sizeof(NT);//nid变量的字节数
    NT.Wnd:=Handle;   //主窗口句柄
    NT.uID:=0;         //内部标识,可设为任意数
    NT.uFlags:=NIF_Message or NIF_Icon or NIF_Tip;
    NT.uCallbackMessage:=My_Message;
    NT.hIcon:=icon.Handle;//要加入的图标句柄,可任意指定
    NT.szTip:='你好,我是您的小秘书.'#0;//提示字符串
    NT.hIcon:=application.Icon.Handle;
    self.Hide;
   // Shell_NotifyIcon(Nim_Add,@NT);
    self.Title_PopMenu.Items.Find('最小化').Caption:='还原';
  end
 else
  begin
   setWindowLong(application.handle,GWL_ExStyle,WS_EX_ToolWindow);
  // shell_NotifyIcon(NIM_Delete,@NT);
   ShowWindow(application.Handle,sw_show);
   application.Restore;
   self.Show;
   self.Title_PopMenu.Items.Find('还原').Caption:='最小化';
  end;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
 Application.Terminate;
end;

procedure TForm1.N11Click(Sender: TObject);
begin
DropShellListview1.selected.editcaption;
end;

end.

⌨️ 快捷键说明

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