📄 unit_made.pas
字号:
Unit Unit_Made;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Type
TF_Made=Class(TForm)
Button2: TButton;
Button1: TButton;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
E_Writer: TEdit;
E_Me: TEdit;
C_Label: TComboBox;
M_Remark: TMemo;
M_Infor: TMemo;
Button3: TButton;
SaveDialog1: TSaveDialog;
Procedure Button1Click(Sender: TObject);
Procedure Button3Click(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
f_made: TF_Made;
Implementation
Uses Unit_Main, unit_code, unit_pass;
Var BtkInfor: InFor;
{$R *.dfm}
Function Check_Made(): Boolean; //判断用户输入的信息是否合法
Begin
Check_Made:=True;
If Length(f_made.E_Writer.Text)>19 Then
Begin
MessageBox(f_made.Handle, PChar('图书著作者中的字符不能超过20个!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Check_Made:=false;
Exit;
End;
If Length(f_made.E_Me.Text)>19 Then
Begin
MessageBox(f_made.Handle, PChar('电子书作者中的字符不能超过20个!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Check_Made:=false;
Exit;
End;
If Length(f_made.M_Infor.Text)>224 Then
Begin
MessageBox(f_made.Handle, PChar('图书简介中的字符不能超过255个!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Check_Made:=false;
Exit;
End;
If Length(f_made.M_Remark.Text)>99 Then
Begin
MessageBox(f_made.Handle, PChar('备注中的字符不能超过100个!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Check_Made:=false;
Exit;
End;
If Length(f_made.C_Label.Text)>19 Then
Begin
MessageBox(f_made.Handle, PChar('图书分类中的字符不能超过20个!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Check_Made:=false;
Exit;
End;
End;
Procedure TF_Made.Button1Click(Sender: TObject);
Var
iTargetFile: Integer;
ToFileName: String;
Begin
If Not Check_Made Then Exit;
If f_main.TreeView.Items.Count=0 Then
Begin
MessageBox(Handle, PChar('您尚未修改图书文件,无法生成电子图书!'), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Exit;
End;
SaveDialog1.FileName:=f_main.TreeView.Items.Item[0].Text;
ToFileName:='';
If SaveDialog1.Execute Then //保存文件对话框
ToFileName:=SaveDialog1.FileName;
If ToFileName='' Then Exit;
If f_main.TreeView.Selected<>Nil Then
f_main.MainText.Lines.SaveToFile(Smulu+'Temp\File\'+f_main.TreeView.Selected.Text+'.bop'); //保存文本
With f_main.VCLZip1 Do
Begin
IncludeHiddenFiles:=True;
IncludeSysFiles:=false;
IncludeReadOnlyFiles:=True;
IncludeArchiveFiles:=True;
StorePaths:=false;
RootDir:=Smulu+'Temp\File';
ZipName:=ToFileName;
FilesList.Add('*.*');
Recurse:=True;
End;
BtkInfor.SWriter:=E_Writer.Text;
BtkInfor.SMaker:=E_Me.Text;
BtkInfor.SInfor:=M_Infor.Text;
BtkInfor.SRemark:=M_Remark.Text;
BtkInfor.SLabel:=C_Label.Text;
BtkInfor.BReadOnly:=True;
BtkInfor.SFlag:=CFlag;
If f_main.VCLZip1.Zip>0 Then
Begin
If FileExists(ToFileName)=false Then
Begin
MessageBox(Handle, PChar(Error_Compress), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Addlog('Error_Compress');
Exit;
End;
iTargetFile:=FileOpen(ToFileName, fmOpenReadWrite);
Try
Try
FileSeek(iTargetFile, 0, soFromEnd);
FileWrite(iTargetFile, BtkInfor, SizeOf(BtkInfor));
Except
MessageBox(Handle, PChar(Error_Stream), PChar('信息'),
MB_ICONINFORMATION Or MB_OK);
Addlog('Error_Stream');
End
Finally
FileClose(iTargetFile)
End;
MessageBox(Handle, PChar('电子图书生成成功!'), PChar('成功'),
MB_ICONINFORMATION Or MB_OK)
End
Else
Begin
MessageBox(Handle, PChar('电子图书生成失败!'), PChar('失败'),
MB_ICONINFORMATION Or MB_OK);
Addlog('Cannot make E-Book');
End;
End;
Procedure TF_Made.Button3Click(Sender: TObject);
Begin
F_Pass.ShowModal;
If F_Pass.Edit1.Text<>'' Then
BtkInfor.SPass:=F_Pass.Edit1.Text
Else
BtkInfor.SPass:='';
End;
Procedure TF_Made.FormCreate(Sender: TObject);
Begin
BtkInfor.SPass:='';
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -