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

📄 main.pas

📁 编写
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ExtCtrls, Menus, ShellAPI, Buttons, Registry, ComCtrls, ImgList,
  jpeg, DlgText, clipbrd, FileCtrl;

const
  MyIcoMes=WM_USER+78;  //托盘图标返回消息
  Alarm_Max = 4;        //定时提醒最大数目
  ZipPassTempDir = '\~talezip';  //zip文件临时解压目录

type
  Tf_main = class(TForm)
    book_image: TImage;
    main_Pop: TPopupMenu;
    Pop_quit: TMenuItem;
    page_1: TLabel;
	page_2: TLabel;
    ye_1_be: TLabel;
    ye_1: TLabel;
    ye_1_af: TLabel;
    ye_2_be: TLabel;
    ye_2: TLabel;
    ye_2_af: TLabel;
    page_prev: TImage;
    page_next: TImage;
    Book_Move: TImage;
    Book_Resize: TImage;
    ye_1_test: TLabel;
    ye_2_test: TLabel;
    page_test: TLabel;
    Pop_open: TMenuItem;
    N1: TMenuItem;
    Pop_setup: TMenuItem;
    Pop_about: TMenuItem;
    N3: TMenuItem;
	Pop_new: TMenuItem;
    Book_MinSize: TImage;
    Pop_page_move: TPopupMenu;
    Pop_page_prev: TMenuItem;
    Pop_page_next: TMenuItem;
    N6: TMenuItem;
    Pop_page_first: TMenuItem;
    Pop_page_last: TMenuItem;
    Pop_page_input: TMenuItem;
    readme: TMemo;
    PageFont: TFontDialog;
    yeFont: TFontDialog;
    Auto_Page_Move: TTimer;
    Pop_clearnew: TMenuItem;
    N4: TMenuItem;
    Pop_recordtime: TMenuItem;
    RecordTime: TTimer;
    Pop_BIG5: TMenuItem;
    N5: TMenuItem;
	N7: TMenuItem;
    Pop_Chap: TMenuItem;
    Pop_Page_Input1: TMenuItem;
    N2: TMenuItem;
    Pop_html: TMenuItem;
    Pop_Auto_Page_Move: TMenuItem;
    Pop_MP3: TMenuItem;
    Chap_List: TListBox;
    Chap_List1: TListBox;
    Pop_save: TMenuItem;
    Back_Image: TImage;
    Auto_Page_Scroll: TTimer;
    Pop_Label_Add: TMenuItem;
    Pop_Label_Edit: TMenuItem;
    Pop_Label_Delete: TMenuItem;
    N9: TMenuItem;
    Pop_Label_Input: TMenuItem;
    Label_image: TPanel;
    label_image_Pic: TImage;
	Label_Image_1: TImage;
    Time_Panel: TPanel;
    Show_Time: TTimer;
    Show_Time_Pop: TPopupMenu;
    Pop_Show_Time: TMenuItem;
    Pop_Show: TMenuItem;
    Pop_image: TImageList;
    Pop_deal: TMenuItem;
    Pop_Label: TMenuItem;
    N8: TMenuItem;
    Pop_Lib: TMenuItem;
    Key_Delay: TTimer;
    Pop_GB: TMenuItem;
    Pop_hangD: TMenuItem;
    UnderLine: TImage;
    Pop_UnderLine: TMenuItem;
    UnderLineColor: TColorDialog;
    Auto_UnderLine: TTimer;
    Pop_Max: TMenuItem;
	Pop_edit: TMenuItem;
    main_Pop_edit: TPopupMenu;
    Pop_EndEdit: TMenuItem;
    Pop_ExitEdit: TMenuItem;
    RTFRead: TRichEdit;
    N10: TMenuItem;
    Pop_file_prev: TMenuItem;
    Pop_file_next: TMenuItem;
    Pop_refresh: TMenuItem;
    Pop_Show_Alarm: TMenuItem;
    N11: TMenuItem;
    N14: TMenuItem;
    Pop_Search: TMenuItem;
    Pop_Search_Next: TMenuItem;
    N12: TMenuItem;
    Pop_ClipRead: TMenuItem;
    ZipFileList: TListBox;
    procedure Pop_quitClick(Sender: TObject);
    procedure FormResize(Sender: TObject);
	procedure Book_MoveMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Book_ResizeMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Pop_openClick(Sender: TObject);
    procedure page_prevClick(Sender: TObject);
    procedure page_nextClick(Sender: TObject);
    procedure Pop_aboutClick(Sender: TObject);
    procedure Pop_setupClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure OpenNewClick(Sender: TObject);
    procedure Pop_page_prevClick(Sender: TObject);
    procedure Pop_page_nextClick(Sender: TObject);
    procedure Pop_page_firstClick(Sender: TObject);
    procedure Pop_page_lastClick(Sender: TObject);
    procedure Pop_page_inputClick(Sender: TObject);
    procedure book_imageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
	procedure Auto_Page_MoveTimer(Sender: TObject);
    procedure Pop_clearnewClick(Sender: TObject);
    procedure Pop_page_movePopup(Sender: TObject);
    procedure Pop_recordtimeClick(Sender: TObject);
    procedure RecordTimeTimer(Sender: TObject);
    procedure Pop_BIG5Click(Sender: TObject);
    procedure Pop_ChapClick(Sender: TObject);
    procedure Pop_htmlClick(Sender: TObject);
    procedure Pop_Auto_Page_MoveClick(Sender: TObject);
    procedure Pop_MP3Click(Sender: TObject);
    procedure Pop_saveClick(Sender: TObject);
    procedure Auto_Page_ScrollTimer(Sender: TObject);
    procedure OpenLabelClick(Sender: TObject);
    procedure Label_imageMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Pop_Label_AddClick(Sender: TObject);
    procedure Pop_Label_EditClick(Sender: TObject);
    procedure Pop_Label_DeleteClick(Sender: TObject);
    procedure Time_PanelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Label_Edit;
	procedure Init;
    procedure Init_Var;
    procedure Init_Window;
    procedure Init_Page;
    procedure Init_Page_String;
    procedure Init_Ye;
    procedure Init_UnderLine;
    procedure Init_Page_do;
    procedure Init_BIG5;
    procedure Init_GB;
    procedure Init_Chap;
    procedure Init_html;
    procedure OpenFile;
    procedure OpenFile_Modal;
	procedure Changeye(Changeye_v : longint);
    procedure Show_TimeTimer(Sender: TObject);
    procedure Pop_Show_TimeClick(Sender: TObject);
    procedure Pop_ShowClick(Sender: TObject);
    procedure FormHide(Sender: TObject);
    procedure Pop_LibClick(Sender: TObject);
	procedure Open_Param_File(Param_Filename : string);
    function  Get_Filename_Ext(Deal_Filename : string) : string;
    function  Get_Filename_Path(Deal_Filename : string) : string;
    procedure Key_DelayTimer(Sender: TObject);
    procedure Delete_NewItem(Delete_Index : integer);
    procedure Pop_GBClick(Sender: TObject);
    procedure Pop_hangDClick(Sender: TObject);
    procedure Pop_UnderLineClick(Sender: TObject);
    procedure UnderLine_Prev;
    procedure UnderLine_Next;
    procedure Auto_UnderLineTimer(Sender: TObject);
    procedure Book_MinSizeClick(Sender: TObject);
    procedure Pop_MaxClick(Sender: TObject);
    procedure Init_Max;
    procedure Pop_editClick(Sender: TObject);
    procedure Pop_EndEditClick(Sender: TObject);
    procedure Pop_ExitEditClick(Sender: TObject);
    procedure EditMemoKey(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Pop_file_prevClick(Sender: TObject);
	procedure Pop_file_nextClick(Sender: TObject);
    procedure page_1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
    procedure page_1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure book_imageMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    procedure Pop_refreshClick(Sender: TObject);
    procedure Pop_Show_AlarmClick(Sender: TObject);
    procedure Open_BackBMP;
    procedure Open_LabelBMP;
    procedure Open_Alarm;
    procedure Minimize(Sender: TObject);
    procedure Pop_SearchClick(Sender: TObject);
    procedure DoSearch;
    procedure Pop_Search_NextClick(Sender: TObject);
    procedure ShowMess(Msg : string);
    procedure ShowMessPos(Pos : integer);
    procedure Pop_ClipReadClick(Sender: TObject);
    procedure OpenNewFile;
    function IfFileExists(Boolfilename : string) : Boolean;
    procedure OpenFirstFile;
  private
    { Private declarations }
  public
	{ Public declarations }
    //定时提醒变量
    bAlarm : array [1..Alarm_Max] of Boolean;       //每次定时提醒标志
    AlarmTime : array [1..Alarm_Max] of TDateTime;  //每次定时提醒时间
    AlarmMsg : array [1..Alarm_Max] of string;      //每次定时提醒内容

    Reg_ini : TRegIniFile;  //注册表变量
	procedure MyIcoMesDo(var Msg : TMessage);Message MyIcoMes;  //托盘图标的返回消息
    procedure WMDropFiles(var Msg : TMessage); message WM_DROPFILES;  //拖动文件消息
  end;

//定义基本常量
const
  //版本常量
  ver = '2.65';            //当前版本号

  //书库文件常量
  Lib_File = 'blf';        //书库文件扩展名

  //窗口常量
  Book_Left = 100;         //窗口左位置
  Book_Top = 50;           //窗口上位置
  Book_Width = 556;        //窗口宽度
  Book_Height = 380;       //窗口高度

  //页面常量
  Page_1_Left = 33;        //左页面左位置
  Page_2_Left = 306;       //右页面左位置
  Page_Top = 28;           //页面上位置
  Page_Width = 230;        //页面宽度
  Page_Height = 330;       //页面高度

  //书签常量
  Label_Left = 300;        //书签左位置
  Label_Top = 5;           //书签上位置
  Label_Width = 40;        //书签宽度
  Label_Height = 90;       //书签高度

  //文本框常量
  MaxTextRead = 90;        //最大容纳的文本框数

  //翻页常量
  Page_Next_Left = 543;    //右翻页的左位置
  Page_Move_Width = 13;    //翻页宽度
  Page_Move_Height = 380;  //翻页宽度

  //页码常量
  ye_Loc_Left = 11;        //页码左位置
  ye_Loc_Top = 8;          //页码上位置

  //注册表常量
  //系统注册目录
  Reg_Path = 'Software\Tale\ReadBook';              //系统目录
  Reg_File_Path = 'Software\Tale\ReadBook\File';    //最新文件目录
  Reg_Font_Path = 'Software\Tale\ReadBook\Font';    //字体目录
  Reg_Label_Path = 'Software\Tale\ReadBook\Label';  //书签目录
  Reg_Alarm_Path = 'Software\Tale\ReadBook\Alarm';  //定时提醒目录
  Reg_Sound_Path = 'Software\Tale\ReadBook\Sound';  //背景音乐目录

  //注册标志
  Reg_Reg_Flag = '注册';
  Reg_Reg_Ver = '版本';

  //注册窗口位置、大小
  Reg_Book_Left = '窗口左位置';
  Reg_Book_Top = '窗口上位置';
  Reg_Book_Width = '窗口宽度';
  Reg_Book_Height = '窗口高度';

  //注册页码位置、前缀、后缀
  Reg_ye_1_loc = '页码1位置';
  Reg_ye_1_be = '页码1前缀';
  Reg_ye_1_af = '页码1后缀';

  Reg_ye_2_loc = '页码2位置';
  Reg_ye_2_be = '页码2前缀';
  Reg_ye_2_af = '页码2后缀';

  //注册字体设置(页面、页码)
  Reg_Page_Font_Name = '页面字体';
  Reg_Page_Font_Size = '页面字体大小';
  Reg_Page_Font_Color = '页面字体颜色';
  Reg_Page_Font_Charset = '页面字体语系';
  Reg_Page_Font_Style_1 = '页面字体粗体';
  Reg_Page_Font_Style_2 = '页面字体斜体';
  Reg_Page_Font_Style_3 = '页面字体删除线';
  Reg_Page_Font_Style_4 = '页面字体下划线';

  Reg_ye_Font_Name = '页码字体';
  Reg_ye_Font_Size = '页码字体大小';
  Reg_ye_Font_Color = '页码字体颜色';
  Reg_ye_Font_Charset = '页码字体语系';
  Reg_ye_Font_Style_1 = '页码字体粗体';
  Reg_ye_Font_Style_2 = '页码字体斜体';
  Reg_ye_Font_Style_3 = '页码字体删除线';
  Reg_ye_Font_Style_4 = '页码字体下划线';

  //注册系统设置
  Reg_Book_Move_Flag = '窗口移动';
  Reg_Book_Resize_Flag = '窗口改变大小';
  Reg_Page_Move_Flag = '点击页面移动';
  Reg_Max_Flag = '最大化显示';
  Reg_Page_ye_Flag = '点击页面翻页';
  Reg_ye_view_Flag = '页码显示';

  Reg_Auto_Page_Move_Flag = '自动翻页';
  Reg_AutoVal = '自动翻页时间';

  Reg_BackBmp_Flag = '背景图片';
  Reg_BackBmp_Filename = '背景图片文件';

  Reg_Label_image_Flag = '书签图片';
  Reg_Label_image_Filename = '书签图片文件';

  Reg_Sound_Filename = '背景音乐文件';
  Reg_Sound_Repeat = '重复播放';

  Reg_ClearLab_Flag = '清除书签信息';
  Reg_ClearNew_Flag = '清除最新文件';
  Reg_ShowTime = '显示时间';

  Reg_Flat = '浮动式按钮';

  //注册处理设置
  Reg_BIG5_Flag = '处理BIG5码文件标志';
  Reg_GB_Flag = '处理GB码文件标志';
  Reg_html_Flag = '处理HTML文件标志';
  Reg_Chap_Flag = '智能分段标志';
  Reg_HangD_Flag = '行距加倍标志';

  Reg_UnderLine_Flag = '下划线标志';

⌨️ 快捷键说明

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