📄 uabout.pas
字号:
{ JADD - Just Another DelphiDoc: Documentation from Delphi Source Code
Copyright (C) 2005-2008 Gerold Veith
This file is part of JADD - Just Another DelphiDoc.
DelphiDoc is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License version 3 as
published by the Free Software Foundation.
DelphiDoc is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
}
unit UAbout;
{This is a simple window showing information about the program and its used
components, i.e. an about-dialog. }
interface
uses Windows, Classes,
{$IFNDEF LINUX}
Messages,
{$ENDIF}
Controls, StdCtrls, Buttons, Forms, ComCtrls, ImgList;
type
{A simple window showing information about the program and its used
components, i.e. an about-dialog. }
TFormAbout = class(TForm)
TreeView: TTreeView;
ImageList: TImageList;
BitBtnClose: TBitBtn;
LabelCaption: TLabel;
LabelTreeView: TLabel;
LabelURL: TLabel;
Memo: TMemo;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TreeViewCollapsing(Sender: TObject; Node: TTreeNode; var AllowCollapse: Boolean);
procedure TreeViewChange(Sender: TObject; Node: TTreeNode);
procedure LabelURLClick(Sender: TObject);
procedure LabelURLMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
procedure LabelURLMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
private
{$IFDEF VER120}
//Called whenever a node in the ~[link TreeView] has to be drawn.
procedure TreeViewCustomDrawItem(Sender: TCustomTreeView;
Node: TTreeNode; State: TCustomDrawState;
var DefaultDraw: Boolean);
{$ENDIF}
{$IFNDEF LINUX}
//Called when the mouse pointer enters the form or a component.
procedure MouseEnter(var Msg: TMessage); message CM_MOUSEENTER;
//Called when the mouse pointer leaves the form or a component.
procedure MouseLeave(var Msg: TMessage); message CM_MOUSELEAVE;
{$ELSE}
//Called when the mouse pointer enters the label of the URL.
procedure LabelURLMouseEnter(Sender: TObject);
//Called when the mouse pointer leaves the label of the URL.
procedure LabelURLMouseLeave(Sender: TObject);
{$ENDIF}
end;
//Shows the information about the program.
procedure ShowAboutInformation;
implementation
{$R *.dfm}
uses Graphics,
{$IFNDEF LINUX}
ShellAPI,
{$ELSE}
QClipbrd,
{$ENDIF}
General, GeneralVCL,
USettingsKeeper;
{Shows the information about the program. }
procedure ShowAboutInformation;
begin
with TFormAbout.Create(nil) do //create the form to show the information
try
ShowModal; //show it
finally
Free; //free it
end;
end;
//information to show about somthing
type TAboutInfo = record
Text: String; //the text to show about the something
URL: String; //an URL for further information about the something
end;
//information to show about something
const AboutInfo: array[0..11] of TAboutInfo =
((Text:
'Copyright (C) 2003-2008 Gerold Veith' + LineDelimiter +
LineDelimiter +
'I developed DelphiDoc to document the program for my intermediate diploma ' +
'because it grew to a size that made it impracticable to document it ' +
'manually. At least if it should stay synchronous with the program and you ' +
'want to spend some time programming instead of documenting.' + LineDelimiter +
LineDelimiter +
LineDelimiter +
'JADD - Just Another DelphiDoc is free software: you can redistribute it ' +
'and/or modify it under the terms of the GNU General Public License ' +
'version 3 as published by the Free Software Foundation.' + LineDelimiter +
LineDelimiter +
'It is distributed in the hope that it will be useful, ' +
'but WITHOUT ANY WARRANTY; without even the implied warranty of ' +
'MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' +
'GNU General Public License for more details.' + LineDelimiter +
LineDelimiter +
'You should have received a copy of the GNU General Public License ' +
'along with this program. If not, see <http://www.gnu.org/licenses/>.';
URL: 'http://delphidoc.sourceforge.net/')
,(Text: 'Used other projects in this program.';
URL: '')
,(Text:
'This software uses the PNGImage component by Gustavo Huffenbacher Daud. It ' +
'is included in the source code release in the directory General\PNGImage. ' +
'Among other things it allows the saving of images in the PNG format, which ' +
'is used in the HTML, HTML Help and PDF output.' + LineDelimiter +
LineDelimiter +
'It''s license can be read in the file pngimage.chm in its directory.';
URL: 'http://pngdelphi.sourceforge.net/')
,(Text:
'This program uses HTML Help Kit for Delphi (Copyright (c) 1999-2000 The ' +
'Helpware Group) to use a Compiled HTML Help file (.chm) instead of an old ' +
'Windows Help file (.hlp). This is due to the size issue, the HTML Help ' +
'file is only one tenth of the size of the Windows Help file (PNG files are ' +
'much better compressed).' + LineDelimiter +
LineDelimiter +
'It is included in the source code release in the directory ' +
'General\HtmlHelpKit. It''s license can be read at the end of the file ' +
'hh_doc.txt in this directory.';
URL: 'http://www.helpware.net/')
,(Text:
'The automatically lay-outing of diagrams with the Sugiyama algorithm (in ' +
'file Uncategorized\UDiagramAutoLayout.pas) was transfered from ESS-Model ' +
'(Copyright (C) 2002 Eldean AB, Peter S鰀erman, Ville Krumlinde). ' +
'The UML export via XMI and the window for diagrams are also inspired by ' +
'it, while no source code has been used. ESS Model is also released under ' +
'the GPL.';
URL: 'http://essmodel.sourceforge.net/')
,(Text:
'To extract separators and format characters from comments perl-like ' +
'regular expressions can be used. This is made possible by the component ' +
'TRegExpr (Copyright (c) 1999-2004 by Andrey V. Sorokin, anso@mail.ru, ' +
'http://RegExpStudio.com; and others)' + LineDelimiter +
LineDelimiter +
'The important parts are included in the source code release in the ' +
'directory General\regexpr, please visits its home page to get the whole ' +
'library. It''s license can be read in the help file (Author -> Disclaimer).';
URL: 'http://RegExpStudio.com/TRegExpr/TRegExpr.html')
,(Text:
'To make the program faster (I have a unit of my own to debug memory leaks) ' +
'the replacement memory manager "Fast Memory Manager" is used by ' +
'Professional Software Development / Pierre le Riche.' + LineDelimiter +
LineDelimiter +
'The important parts are included in the source code release in the ' +
'directory General\FastMM4, please visits its home page to get the whole ' +
'distributed code (including examples, pre-compiled libraries and ' +
'translations). It is released under a dual license, either the ' +
'Mozilla Public License 1.1 (MPL 1.1) or the ' +
'GNU Lesser General Public License 2.1 (LGPL 2.1), I chose the latter.';
URL: 'http://fastmm.sourceforge.net/')
,(Text:
'Other people whose resources were used to create this program.';
URL: '')
,(Text:
'I want to thank Takeshi Kanno for creating PowerPDF, a set of components ' +
'and also a library to create PDF files. It helped me a lot to understand ' +
'the PDF format (with the help of the official PDF 1.3 reference). I first ' +
'did create a generator to use this library but decided then to create my ' +
'own PDF writer.';
URL:
'http://www.est.hi-ho.ne.jp/takeshi_kanno/powerpdf/index.html')
,(Text:
'I want to thank Manfred Winterhoff for creating a description of the ' +
'windows help file format (with the help of others). I used his description ' +
'of the format of pictures to create Structured Hyper-Graphics (*.shg), ' +
'that can include multiple hot-spots (links).';
URL: 'http://www.geocities.com/mwinterhoff/helpfile.htm')
,(Text:
'I want to thank the people at http://www.helpware.net/ for their units to ' +
'support the usage of Compiled HTML Help files (.chm) in Delphi just like ' +
'the old Windows Help files (.hlp).';
URL: 'http://www.helpware.net/')
,(Text:
'I want also to thank Adobe for creating PDF - the Portable Document Format ' +
'(at least its first versions). It is of course copyrighted by Adobe.';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -