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

📄 advanceunit.pas

📁 -个人文档管理专家V1.10版本源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
unit AdvanceUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, PublicUnit,SUIEdit, ComCtrls, SUITreeView, SUIListBox, SUIButton,
  SUIPageControl, SUITabControl, ExtCtrls, SUIForm, ActiveX, SUIGroupBox,Menus, IniFiles, OleCtrls,
  SHDocVw, SUIImagePanel, mshtml, StrUtils, SUIMemo;

type
  TAdvanceFrm = class(TForm)
    AdvanceSFrm: TsuiForm;
    suiPageControl1: TsuiPageControl;
    suiTabSheet1: TsuiTabSheet;
    suiTabSheet2: TsuiTabSheet;
    suiTabSheet3: TsuiTabSheet;
    sbtn_ok: TsuiButton;
    sbtn_cancel: TsuiButton;
    slb_subjectList: TsuiListBox;
    sTv_Subject: TsuiTreeView;
    StaticText1: TStaticText;
    sEdt_subject: TsuiEdit;
    sbtn_Edit: TsuiButton;
    sbtn_Del: TsuiButton;
    suiGroupBox1: TsuiGroupBox;
    HotKey1: THotKey;
    srb_regkey: TsuiRadioButton;
    srb_NoregKey: TsuiRadioButton;
    scb_Autorun: TsuiCheckBox;
    slb_modelist: TsuiListBox;
    StaticText3: TStaticText;
    sbtn_editMode: TsuiButton;
    sbtn_delmode: TsuiButton;
    sbtn_NewMode: TsuiButton;
    smem_Source: TsuiMemo;
    sbtn_preview: TsuiButton;
    StaticText2: TStaticText;
    sedt_OutPutPath: TsuiEdit;
    sbtn_ExpPathbwr: TsuiButton;
    suiGroupBox2: TsuiGroupBox;
    sedt_OldPassword: TsuiEdit;
    StaticText4: TStaticText;
    StaticText5: TStaticText;
    sedt_OldCmPassword: TsuiEdit;
    StaticText6: TStaticText;
    sedt_NewPassword: TsuiEdit;
    sbtn_UpdatePassword: TsuiButton;
    procedure FormShow(Sender: TObject);
    procedure slb_subjectListClick(Sender: TObject);
    procedure sbtn_EditClick(Sender: TObject);
    procedure sbtn_DelClick(Sender: TObject);
    procedure sbtn_okClick(Sender: TObject);
    procedure sbtn_cancelClick(Sender: TObject);
    procedure srb_regkeyClick(Sender: TObject);
    procedure slb_modelistClick(Sender: TObject);
    procedure sbtn_delmodeClick(Sender: TObject);
    procedure sbtn_editModeClick(Sender: TObject);
    procedure sbtn_NewModeClick(Sender: TObject);
    procedure sbtn_previewClick(Sender: TObject);
    procedure sbtn_UpdatePasswordClick(Sender: TObject);
  private
    { Private declarations }
  public
    procedure LoadSubjectList;
    procedure EditSubject(OldSubjectStr,NewSubjectStr:String);
    procedure DelSubject(Subject:String);
    procedure MakeForwardView(ClassDoc:TClassDoc);
    { Public declarations }
  end;

var
  AdvanceFrm: TAdvanceFrm;


implementation
Uses Main,PreviewUnit;
{$R *.dfm}

procedure TAdvanceFrm.FormShow(Sender: TObject);
var
  inifile:TIniFile;
  HotKeyStr,TempStr:String;
  BinF:file of TRecKind;
  Rec:TRecKind;
begin
  LoadSubjectList;
  MainFrm.LoadSubjectNodeData(sEdt_subject.Text,sTv_Subject);
  TempStr:=ExePath+'\OutPut';
  inifile:=TIniFile.Create(IniFileName);
  HotKeyStr:=inifile.ReadString('常用设置','系统热键','');
  sedt_OutPutPath.Text:=inifile.ReadString('常用设置','导出网页路径',TempStr);
  if sedt_OutPutPath.Text='' then sedt_OutPutPath.Text:=TempStr;
  if HotKeyStr<>'' then
  begin
    HotKey1.HotKey:=TextToShortCut(HotKeyStr);
    srb_regkey.Checked :=True;
  end
  else
    srb_NoregKey.Checked:=True;
  //显示网页模式
  slb_modelist.Items.Clear;
  slb_modelist.Items.Add('默认格式');
  AssignFile(BinF,HtmlModeFileName);
  if FileExists(HtmlModeFileName) then
  begin
    Reset(BinF);
    While Not Eof(BinF) Do
    begin
      Read(BinF,Rec);
      slb_modelist.Items.Add(Rec.Name);
      Next;
    end;
  end
  else
    Rewrite(BinF);
  CloseFile(BinF);
end;

procedure TAdvanceFrm.LoadSubjectList;
var
 TempStr:string;
begin
  with MainFrm Do
  begin
    slb_subjectList.Items.Clear;
    with ADOQuery1 Do
    begin
      Close;
      SQL.Clear;
      SQL.Add('select Distinct Subject from Indexdata');
      SQL.Add('Where NodeLevel=-1 and UserID="'+UserID+'"');
      Open;
      while Not Eof Do
      begin
        TempStr:=fieldbyName('Subject').AsString;
        slb_subjectList.Items.Add(TempStr);
        ADOQuery1.Next;
      end;
    end;
    //slb_subjectList.Selected[0]:=True;
    //sEdt_subject.Text:= slb_subjectList.Items.Strings[0];
  end;
end;

procedure TAdvanceFrm.slb_subjectListClick(Sender: TObject);
var
  i:integer;
begin
  for i:=0 to slb_subjectList.Count -1 Do
  begin
    if slb_subjectList.Selected[i] then
    begin
      sEdt_subject.Text:=slb_subjectList.Items[i];
      MainFrm.LoadSubjectNodeData(sEdt_subject.Text,sTv_Subject);
      Break;
    end;
  end;
end;

procedure TAdvanceFrm.DelSubject(Subject: String);
var
  TempStr:String;
begin
  TempStr:=sEdt_subject.Text;
  with MainFrm Do
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Delete From IndexData Where Subject = "'+TempStr+'" and UserID="'+UserID+'"');
    ADOQuery1.ExecSQL;

    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Delete From DocData Where Subject ="'+TempStr+'" and UserID="'+UserID+'"');
    ADOQuery1.ExecSQL;
    TempStr:= scbb_Subject.Text;
    scbb_Subject.Items.Delete(scbb_Subject.Items.IndexOf(Subject));
    if TempStr = sEdt_subject.Text then scbb_SubjectChange(nil);
  end;
  slb_subjectList.Items.Delete(slb_subjectList.Items.IndexOf(Subject));

  if slb_subjectList.ItemIndex>0 then
    sEdt_subject.Text :=slb_subjectList.Items[slb_subjectList.ItemIndex]
  else
    sEdt_subject.Text:='';
  sTv_Subject.Items.Clear;
  TempStr:= 'Ok, 成功删除 "'+TempStr+'" 课题^^';
  MessageBox(Handle,Pchar(TempStr),'信息',MB_OK + MB_ICONINFORMATION);

  if sEdt_subject.Text <>'' then
  MainFrm.LoadSubjectNodeData(sEdt_subject.Text,sTv_Subject);
end;

procedure TAdvanceFrm.EditSubject(OldSubjectStr,NewSubjectStr:String);
var
  TempStr:String;
  i_index,i_TmpIndex:integer;
begin
  With MainFrm Do
  begin
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Select Subject from IndexData');
    ADOQuery1.SQL.Add('Where Subject="'+OldSubjectStr+'"');
    ADOQuery1.Open;
    TempStr:=ADOQuery1.FieldByName('Subject').AsString;
    if TempStr= NewSubjectStr then
    begin
      MessageBox(Handle,'已经存在该课题,请换个名字重试!','提示',MB_OK + MB_ICONERROR);
      Exit;
    end;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Update IndexData Set Subject ="'+NewSubjectStr+'"');
    ADOQuery1.SQL.Add('Where Subject="'+OldSubjectStr+'"');
    ADOQuery1.ExecSQL;
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Update DocData Set Subject ="'+NewSubjectStr+'"');
    ADOQuery1.SQL.Add('Where Subject="'+OldSubjectStr+'"');
    ADOQuery1.ExecSQL;
    i_index:=slb_subjectList.Items.IndexOf(OldSubjectStr);
    slb_subjectList.Items[i_index]:=NewSubjectStr;
    i_TmpIndex:= scbb_Subject.ItemIndex;
    i_index:=scbb_Subject.Items.IndexOf(OldSubjectStr);
    scbb_Subject.Items[i_index]:= NewSubjectStr;
    scbb_Subject.ItemIndex:=i_TmpIndex;
    
    MessageBox(Self.Handle,'修改成功!','编辑',MB_OK + MB_ICONINFORMATION);

  end;
end;

procedure TAdvanceFrm.sbtn_EditClick(Sender: TObject);
begin
  if sEdt_subject.Text ='' then Exit;
  if sEdt_subject.Text =slb_subjectList.Items[slb_subjectList.ItemIndex] then Exit;
  EditSubject(slb_subjectList.Items[slb_subjectList.ItemIndex],sEdt_subject.Text);
end;

procedure TAdvanceFrm.sbtn_DelClick(Sender: TObject);
var
  TempStr,WarningStr:String;
begin
  TempStr:=sEdt_subject.Text;
  WarningStr:=application.Title+'准备删除课题 "'+TempStr+'" '+#13+#13
  +'删除该课题将会使该课题下所有类别和文档都被清除,真的要删除该课题吗?';
  if MessageBox(handle,PChar(WarningStr),'提示',MB_OKCANCEL+MB_ICONWARNING)=IDOK then
    DelSubject(TempStr);
end;

procedure TAdvanceFrm.sbtn_okClick(Sender: TObject);
var
  fsm,vk:integer;
  HotkeyStr:String;
  i_Pos,i:integer;
  inifile:Tinifile;
begin
  fsm:=0;
  vk:=0;
  inifile:=Tinifile.Create(IniFileName);
  if srb_regkey.Checked then  //注册热键
  begin
    HotkeyStr:=ShortCutToText(Hotkey1.HotKey);
    if Not Mainfrm.RegHotKey(MainFrm.Handle,HotkeyStr) then
    begin
      MessageBox(Handle,'不好意思,你输入的热键不被系统支持!','提示',MB_OK+MB_ICONERROR);
      Exit;
    end;
    inifile.WriteString('常用设置','系统热键',HotKeyStr);
  end
  else  //取消热键
  begin
    Mainfrm.RegHotKey(Mainfrm.Handle,'');
    inifile.WriteString('常用设置','系统热键','');
  end;
  inifile.WriteString('常用设置','导出网页路径',sedt_OutPutPath.Text);
  inifile.Free;
  ModalResult:=mrOk;
end;

procedure TAdvanceFrm.sbtn_cancelClick(Sender: TObject);
begin
  ModalResult:=mrCancel;
end;

procedure TAdvanceFrm.srb_regkeyClick(Sender: TObject);
begin

⌨️ 快捷键说明

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