License.pas
上传用户:dh8233980
上传日期:2014-10-16
资源大小:1015k
文件大小:10k
源码类别:

Email服务器

开发平台:

Delphi

  1. unit License;
  2. (******************************************************************************)
  3. (*                                                                            *)
  4. (* Hermes License Dialog Window                                               *)
  5. (* Part of Hermes SMTP/POP3 Server.                                           *)
  6. (* Copyright(C) 2000 by Alexander J. Fanti, All Rights Reserver Worldwide.    *)
  7. (*                                                                            *)
  8. (* Created January 20, 2000 by Alexander J. Fanti.  See License.txt           *)
  9. (*                                                                            *)
  10. (* Used by: About                                                             *)
  11. (*                                                                            *)
  12. (* Description: This is a license dialog window to display the program's      *)
  13. (*              license information.                                          *)
  14. (*                                                                            *)
  15. (* Revisions: 1/21/2000  AJF  Commented                                       *)
  16. (*                                                                            *)
  17. (******************************************************************************)
  18. interface
  19. uses
  20.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  21.   StdCtrls, Buttons, ExtCtrls, ComCtrls;
  22. type
  23.   TfrmLicense = class(TForm)
  24.     pnlButtons: TPanel;
  25.     btnOK: TBitBtn;
  26.     btnPrint: TButton;
  27.     btnSave: TButton;
  28.     SaveDialog1: TSaveDialog;
  29.     reLicense: TRichEdit;
  30.     procedure pnlButtonsResize(Sender: TObject);
  31.     procedure FormCreate(Sender: TObject);
  32.     procedure btnSaveClick(Sender: TObject);
  33.     procedure btnPrintClick(Sender: TObject);
  34.   private
  35.     { Private declarations }
  36.   public
  37.     { Public declarations }
  38.   end;
  39. var
  40.   frmLicense: TfrmLicense;
  41. implementation
  42. {$R *.DFM}
  43. procedure TfrmLicense.FormCreate(Sender: TObject);
  44. begin
  45.   // I will clear the display
  46.   reLicense.Clear;
  47.   // and insert the License text here!
  48.   // I have to do this because I've noticed that sometimes Delphi will
  49.   // "lose" text in a memo or richedit control if it's added at design
  50.   // time.  I want to ensure that the license is never lost.
  51.   reLicense.Lines.Add('The Hermes SMTP/POP3 Mail Server License');
  52.   reLicense.Lines.Add('');
  53.   reLicense.Lines.Add('Copyright (C) 2000 by Alexander J. Fanti');
  54.   reLicense.Lines.Add('All Rights Reserved Worldwide.');
  55.   reLicense.Lines.Add('');
  56.   reLicense.Lines.Add('For more information visit www.impchat.com');
  57.   reLicense.Lines.Add('');
  58.   reLicense.Lines.Add('This software is NOT waranteed at all.');
  59.   reLicense.Lines.Add('If it doesn''t work for you... sorry.');
  60.   reLicense.Lines.Add('');
  61.   reLicense.Lines.Add('Here''s the basic deal for those of you who don''t ');
  62.   reLicense.Lines.Add('want to read:');
  63.   reLicense.Lines.Add('');
  64.   reLicense.Lines.Add('You can use this software to save yourself money...');
  65.   reLicense.Lines.Add('But not to make yourself money.');
  66.   reLicense.Lines.Add('');
  67.   reLicense.Lines.Add('Here''s what you can do...');
  68.   reLicense.Lines.Add('');
  69.   reLicense.Lines.Add('1) You can use this software for education purposes.');
  70.   reLicense.Lines.Add('   Learn how servers work, learn how SMTP and POP3 ');
  71.   reLicense.Lines.Add('   work, learn how DNS works, learn how OOP works, ');
  72.   reLicense.Lines.Add('   learn how Delphi works, and lots of other neat ');
  73.   reLicense.Lines.Add('   stuff...');
  74.   reLicense.Lines.Add('');
  75.   reLicense.Lines.Add('2) You can use this software to save yourself money.');
  76.   reLicense.Lines.Add('   You can use it instead of buying a mail server from');
  77.   reLicense.Lines.Add('   some company.');
  78.   reLicense.Lines.Add('');
  79.   reLicense.Lines.Add('3) Give this software to anyone you want.');
  80.   reLicense.Lines.Add('   You do have my permission to distribute this ');
  81.   reLicense.Lines.Add('   software via CD-ROM archive or FTP/HTTP, provided ');
  82.   reLicense.Lines.Add('   you adhere to the rules of the license.');
  83.   reLicense.Lines.Add('');
  84.   reLicense.Lines.Add('Here''s what you CAN''T do...');
  85.   reLicense.Lines.Add('');
  86.   reLicense.Lines.Add('1) YOU MAY NOT: Remove my name and copyright from any ');
  87.   reLicense.Lines.Add('   part of this software.  My name and copyright MUST ');
  88.   reLicense.Lines.Add('   remain attached to all parts of this software.  ');
  89.   reLicense.Lines.Add('   Further, you may not distribute parts of this ');
  90.   reLicense.Lines.Add('   software.  This software must be distributed in ');
  91.   reLicense.Lines.Add('   the complete form I have provided or not at all.');
  92.   reLicense.Lines.Add('');
  93.   reLicense.Lines.Add('2) YOU MAY NOT: Sell this software, or parts of this ');
  94.   reLicense.Lines.Add('   software.  You may charge a copy or distribution ');
  95.   reLicense.Lines.Add('   fee of no more than $3.00, but you must indicate ');
  96.   reLicense.Lines.Add('   to the seller that they are NOT buying this ');
  97.   reLicense.Lines.Add('   software, but a copying fee, and you must tell them');
  98.   reLicense.Lines.Add('   they can get this software freely from');
  99.   reLicense.Lines.Add('   http://www.impchat.com');
  100.   reLicense.Lines.Add('');
  101.   reLicense.Lines.Add('3) YOU MAY NOT distribute this software as part of ');
  102.   reLicense.Lines.Add('   your own product.  For instance, if you are an ');
  103.   reLicense.Lines.Add('   ISP, you may not give this software to your ');
  104.   reLicense.Lines.Add('   customers as part of their purchase of services ');
  105.   reLicense.Lines.Add('   from you.  You may tell them where to download ');
  106.   reLicense.Lines.Add('   this software, and you may run a public FTP or ');
  107.   reLicense.Lines.Add('   HTTP server where you allow downloading of this ');
  108.   reLicense.Lines.Add('   software to the public and your customers, but if ');
  109.   reLicense.Lines.Add('   you want to give them a copy as part of an ');
  110.   reLicense.Lines.Add('   exchange of goods or services, you must get my ');
  111.   reLicense.Lines.Add('   permission to do so.');
  112.   reLicense.Lines.Add('');
  113.   reLicense.Lines.Add('4) YOU MAY NOT represent this software as your own.  ');
  114.   reLicense.Lines.Add('   It is mine.  I created it.  I own it, and I''m ');
  115.   reLicense.Lines.Add('   letting you use it.  It is not yours.  Do not tell ');
  116.   reLicense.Lines.Add('   people that it is yours.');
  117.   reLicense.Lines.Add('');
  118.   reLicense.Lines.Add('5) YOU MAY NOT use all or any part of this software ');
  119.   reLicense.Lines.Add('   in a commercial product or project.  Don''t even ');
  120.   reLicense.Lines.Add('   think about it.');
  121.   reLicense.Lines.Add('');
  122.   reLicense.Lines.Add('');
  123.   reLicense.Lines.Add('This software is freeware.');
  124.   reLicense.Lines.Add('');
  125.   reLicense.Lines.Add('This means that you can use it on any number of ');
  126.   reLicense.Lines.Add('computers, for any number of users, for as long as ');
  127.   reLicense.Lines.Add('you want.');
  128.   reLicense.Lines.Add('');
  129.   reLicense.Lines.Add('You may distribute this software to anyone via any ');
  130.   reLicense.Lines.Add('means provided the License terms are met.  These ');
  131.   reLicense.Lines.Add('include, but are not limited to:');
  132.   reLicense.Lines.Add('');
  133.   reLicense.Lines.Add('1) My copyright remains in the program, source code ');
  134.   reLicense.Lines.Add('   and all associated files.');
  135.   reLicense.Lines.Add('2) All files are distributed together in unaltered ');
  136.   reLicense.Lines.Add('   form.');
  137.   reLicense.Lines.Add('3) You may not represent this software as your own.');
  138.   reLicense.Lines.Add('');
  139.   reLicense.Lines.Add('This software is also open source.');
  140.   reLicense.Lines.Add('');
  141.   reLicense.Lines.Add('This means I have provided the source code to the ');
  142.   reLicense.Lines.Add('software for people to examine.  I am doing this ');
  143.   reLicense.Lines.Add('to promote the finding and fixing of bugs in the ');
  144.   reLicense.Lines.Add('program, and to promote participation in program ');
  145.   reLicense.Lines.Add('development.  I am retaining ALL rights to it.  I ');
  146.   reLicense.Lines.Add('still own it, even though I''m letting you see it.  ');
  147.   reLicense.Lines.Add('You may read it, copy it, modify it and take it ');
  148.   reLicense.Lines.Add('apart provided the following conditions are met:');
  149.   reLicense.Lines.Add('');
  150.   reLicense.Lines.Add('1) My copyright remains on all parts of the software.');
  151.   reLicense.Lines.Add('2) You may NOT derive any software from this software ');
  152.   reLicense.Lines.Add('   NOR can you use any part of this software in any ');
  153.   reLicense.Lines.Add('   other software.');
  154.   reLicense.Lines.Add('3) You may NOT distribute any modifications of this ');
  155.   reLicense.Lines.Add('   software.  I will be the only source of ');
  156.   reLicense.Lines.Add('   modification to this software.  If you have found');
  157.   reLicense.Lines.Add('   a bug, fixed a bug, or want enhancements or other ');
  158.   reLicense.Lines.Add('   modifications, you may send me information about ');
  159.   reLicense.Lines.Add('   them.  If you want to make custom modifications ');
  160.   reLicense.Lines.Add('   for your personal use, you must write me for ');
  161.   reLicense.Lines.Add('   permission.');
  162.   reLicense.Lines.Add('');
  163.   reLicense.Lines.Add('Note: the ML version is NOT open-source, only Freeware');
  164.   reLicense.Lines.Add('      The non-ML version IS open-source.');
  165.   reLicense.Lines.Add('');
  166. end;
  167. procedure TfrmLicense.pnlButtonsResize(Sender: TObject);
  168. begin
  169.   // when the user re-sizes the window to get a better view, keep the
  170.   // OK button looking good... not great, but good enough.
  171.   btnOK.Left := pnlButtons.Width - btnOK.Width - 12;
  172. end;
  173. procedure TfrmLicense.btnSaveClick(Sender: TObject);
  174. begin
  175.   // Let the user save the license to a file for later use or printing
  176.   if SaveDialog1.Execute then reLicense.Lines.SaveToFile(SaveDialog1.Filename);
  177. end;
  178. procedure TfrmLicense.btnPrintClick(Sender: TObject);
  179. begin
  180.   // Print the license to the default printer in the richedit's crappy way...
  181.   reLicense.Print('Hermes SMTP/POP3 Server License');
  182. end;
  183. end.