📄 advanceunit.pas
字号:
HotKey1.SetFocus;
end;
procedure TAdvanceFrm.slb_modelistClick(Sender: TObject);
var
ClassDoc:TClassDoc;
BinF:file of TRecKind;
Rec:TRecKind;
begin
{ClassDoc.Title:='主题';
ClassDoc.Description:='简单摘要';
ClassDoc.MemoText:='备注';
ClassDoc.DocText :='正文';
ClassDoc.CreateTime :='创建时间';
ClassDoc.CreateTime :='最后一次编辑时间';
ClassDoc.UserID :='Demosoft';
ClassDoc.HtmlMode:=slb_modelist.Items[slb_modelist.itemIndex];
MakeForwardView(ClassDoc);}
if slb_modelist.Items[slb_modelist.ItemIndex]='默认格式' then
begin
smem_Source.Text:='默认格式没有源码...';
Exit;
end;
AssignFile(BinF,HtmlModeFileName);
Reset(BinF);
While Not Eof(BinF) Do
begin
Read(BinF,Rec);
if Rec.Name = slb_modelist.Items[slb_modelist.ItemIndex] then
begin
smem_Source.Text:=Rec.Content;
Break;
end;
Next;
end;
CloseFile(BinF);
end;
procedure TAdvanceFrm.MakeForwardView(ClassDoc: TClassDoc);
var
VTmp: Variant;
HTMLDocument: IHTMLDocument2;
TempStr:String;
BinF:file of TRecKind;
Rec:TRecKind;
StringList:TStringList;
begin
if ClassDoc.HtmlMode <>'默认格式' then
begin
AssignFile(BinF,HtmlModeFileName);
if FileExists(HtmlModeFileName) then
begin
Reset(BinF);
While Not Eof(BinF) Do
begin
Read(BinF,Rec);
if Rec.Name =ClassDoc.HtmlMode then
begin
TempStr:= Rec.Content;
Break;
end;
Next;
end;
end
else
begin
Rewrite(BinF);
CloseFile(BinF);
Exit;
end;
CloseFile(BinF);
TempStr:=AnsiReplaceStr(TempStr,CS_TITLE,ClassDoc.Title);
TempStr:=AnsiReplaceStr(TempStr,CS_CREATETIME,ClassDoc.CreateTime);
TempStr:=AnsiReplaceStr(TempStr,CS_LASTTIMEMODIFIED,ClassDoc.LastModified);
TempStr:=AnsiReplaceStr(TempStr,CS_DESCRIPTION,ClassDoc.Description);
TempStr:=AnsiReplaceStr(TempStr,CS_MEMO,ClassDoc.MemoText);
TempStr:=AnsiReplaceStr(TempStr,CS_CONTENT,ClassDoc.DocText);
TempStr:=AnsiReplaceStr(TempStr,CS_AUTHOR,ClassDoc.UserID);
end
else
begin
TempStr:='<html>'
+'<head>'
+'<title>'+ClassDoc.Title+'</title>'
+'<style type="text/css">'
+'body{font-size: 10.5pt;font-family: "Arial";};'
+'#blue{font-family: "宋体"; font-size: 12px;color:navy;};'
+'#div1{padding: 10px;border: 1px solid #0099cc;height: 50px;width: 100%;font-family: "宋体"; font-size: 12px;background-color: #99ccff;color:#333333;};'
+'#div2{padding: 10px;border-top: 0px solid #ffffff;border-bottom: 0px solid #ffffff;border-left: 1px solid #0099cc;border-right: 1px solid #0099cc;width: 100%;font-family: "宋体"; font-size: 12px;background-color: #e8f4ff;color:#000000;line-height:1.5;};'
+'#div3{padding: 10px;border-top: 0px solid #ffffff;border-bottom: 1px solid #0099cc;border-left: 1px solid #0099cc;border-right: 1px solid #0099cc;width: 100%;font-family: "宋体"; font-size: 12px;background-color: #000000;color:#eeeeee;};'
+'#headline{font-size: 24px;color: #333333;font-family: "Arial Black";}'
+'</style>'
+'</head>'
+'<body bgcolor="#ffffff"><pre>'
+'<p id="headline">'+ClassDoc.Title+'</p>'
+'<div id="div1">'+'<b>简单描述</b>'+'<br> '+ClassDoc.Description+'</div>'
+'<div id="div2">'+ClassDoc.DocText+'<br><br>'
+'<HR width="100%" align="center"><div id="blue">最后一次编辑时间: '+ClassDoc.LastModified+'</div></div>'
+'<div id="div1">'+'<b>备注</b>'+'<br> '+ClassDoc.MemoText+'</div>'
+'</pre></body>'
+'</html>';
end;
StringList:=TStringList.Create;
StringList.Text:=TempStr;
StringList.SaveToFile(ExePath+'\data\tmp.dat');
StringList.Free;
end;
procedure TAdvanceFrm.sbtn_delmodeClick(Sender: TObject);
var
Index:Integer;
TempStr:String;
MemoryStream:TMemoryStream;
BinF:file of TRecKind;
Rec:TRecKind;
begin
Index:=slb_modelist.ItemIndex;
if Index=-1 then Exit;
if slb_modelist.Items[slb_modelist.ItemIndex]='默认格式' then
begin
MessageBox(Handle,'默认格式不能删!','提示',MB_OK+MB_ICONERROR);
Exit;
end;
TempStr:='真的要删除格式“'+ slb_modelist.Items[Index]+'”么?';
if MessageBox(Handle,PChar(TempStr),'询问',MB_OKCANCEL+MB_ICONQUESTION)=ID_OK then
begin
MemoryStream:=TMemoryStream.Create;
MemoryStream.Clear;
AssignFile(BinF,HtmlModeFileName);
Reset(BinF);
While Not Eof(BinF) Do
begin
Read(BinF,Rec);
if Rec.Name = slb_modelist.Items[Index] then Continue;
MemoryStream.Write(Rec,SizeOf(TRecKind));
end;
CloseFile(BinF);
MemoryStream.SaveToFile(HtmlModeFileName);
MemoryStream.Free;
smem_Source.Lines.Clear;
slb_modelist.DeleteSelected;
end;
end;
procedure TAdvanceFrm.sbtn_editModeClick(Sender: TObject);
var
Index,i:Integer;
BinF:file of TRecKind;
Rec:TRecKind;
TempStr:String;
begin
Index:=slb_modelist.ItemIndex;
if Index=-1 then Exit;
if smem_Source.Text ='' then
begin
MessageBox(Handle,'没必要吧?干脆删了吧... - -;;','晕倒',MB_OK);
Exit;
end;
AssignFile(BinF,HtmlModeFileName);
Reset(BinF);
i:=0;
While Not Eof(BinF) Do
begin
Read(BinF,Rec);
if Rec.Name =slb_modelist.Items[Index] then
begin
Seek(BinF,i);
TempStr:= smem_Source.Text;
StrPCopy(Rec.Content,TempStr);
Write(BinF,Rec);
Break;
end;
Inc(i);
end;
CloseFile(BinF);
end;
procedure TAdvanceFrm.sbtn_NewModeClick(Sender: TObject);
var
ModeNameStr:String;
Rec:TRecKind;
BinF:file of TRecKind;
Index:Integer;
begin
ModeNameStr:=inputBox('新建显示格式','输入格式名','');
if ModeNameStr='' then Exit;
Index:=slb_modelist.Items.Add(ModeNameStr);
slb_modelist.ItemIndex:=Index;
smem_Source.Text:='<html>'+#13+#10
+'<head>'+#13+#10
+'<title>'+CS_TITLE+'</title>'+#13+#10
+'</head>' +#13+#10
+'<body>'+#13+#10
+'<pre>'+#13+#10
+'<p>'+CS_TITLE+'</p>'+#13+#10
+'<div>'+'<b>简单描述</b>'+'<br> '+CS_DESCRIPTION+'</div>'+#13+#10
+'<div>'+CS_CONTENT+'<br><br>'+#13+#10
+'<HR width="100%" align="center">'+#13+#10
+'<div id="blue">最后一次编辑时间: '+CS_LASTTIMEMODIFIED+'</div>'+#13+#10
+'</div>'+#13+#10
+'<div>'+'<b>备注</b>'+'<br> '+CS_MEMO+'</div>'+#13+#10
+'</pre>'+#13+#10
+'</body>'+#13+#10
+'</html>';
Rec.Name:=ModeNameStr;
StrPCopy(Rec.Content,smem_Source.Text);
AssignFile(BinF,HtmlModeFileName);
Reset(BinF);
Seek(BinF,FileSize(BinF));
Write(BinF,Rec);
CloseFile(BinF);
smem_Source.SetFocus;
smem_Source.SelectAll;
end;
procedure TAdvanceFrm.sbtn_previewClick(Sender: TObject);
var
TempStrList:TStringList;
begin
TempStrList:=TStringList.Create;
TempStrList.Text:= smem_Source.Text;
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_TITLE,'主题');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_CREATETIME,'创建时间');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_LASTTIMEMODIFIED,'最后一次编辑时间');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_DESCRIPTION,'简单摘要');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_MEMO,'备注');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_CONTENT,'正文');
TempStrList.Text:=AnsiReplaceStr(TempStrList.Text,CS_AUTHOR,'作者');
TempStrList.SaveToFile(ExePath+'\data\tmp.dat');
TempStrList.Free;
With TPreviewFrm.Create(Self) Do
begin
WebBrowser1.Navigate(ExePath+'\data\tmp.dat');
showModal;
Free;
end;
end;
procedure TAdvanceFrm.sbtn_UpdatePasswordClick(Sender: TObject);
var
TempStr:String;
begin
//if PUserPassword='' then Exit;
if (sedt_OldPassword.Text='') and
(sedt_OldCmPassword.Text ='') and
(sedt_NewPassword.Text ='') then
Exit;
if (PUserPassword<>'') and (sedt_OldPassword.Text ='') then
begin
MessageBox(Handle,'请输入原设置的密码!','提示',MB_OK+MB_ICONERROR);
Exit;
end;
if sedt_OldPassword.Text <> PUserPassword then
begin
MessageBox(Handle,'密码不正确!','提示',MB_OK+MB_ICONERROR);
Exit;
end;
if sedt_OldCmPassword.Text <> sedt_NewPassword.Text then
begin
MessageBox(Handle,'确认密码不一致!','提示',MB_OK+MB_ICONERROR);
Exit;
end;
With MainFrm Do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Update UsersData SET Passwords="'+sedt_NewPassword.Text+'"');
ADOQuery1.SQL.Add('Where UserID="'+UserID+'"');
ADOQuery1.ExecSQL;
if sedt_NewPassword.Text<>'' then
TempStr:='密码修改成功!下次登陆将提示输入密码。'
else
TempStr:='密码已经被取消,下次将直接登陆。';
PUserPassword:=sedt_NewPassword.Text;
MessageBox(Self.Handle,PChar(TempStr),'提示',MB_OK+MB_ICONINFORMATION);
Exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -