Chapter 09 - Project QSplash1 |
Project Structure
| QSplash1.dpr |
program QSplash1;
uses
QForms,
MainSpF in 'MainSpF.pas' ,
AboutF in 'AboutF.pas' ;
var
SplashAbout: TAboutBox;
begin
Application.Initialize;
SplashAbout := TAboutBox.Create (Application);
try
SplashAbout.MakeSplash;
Application.CreateForm(TForm1, Form1);
SplashAbout.Close;
finally
SplashAbout.Free;
end;
Application.Run;
end.
| MainSpF.pas |
unit MainSpF;
interface
uses
Qt, SysUtils, Classes, QGraphics, QControls, QForms, QDialogs,
QMenus, QStdCtrls, QTypes;
type
TForm1 = class(TForm)
ListBox1: TListBox;
MainMenu1: TMainMenu;
Help1: TMenuItem;
About1: TMenuItem;
File1: TMenuItem;
Exit1: TMenuItem;
procedure About1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Exit1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
implementation
uses AboutF;
procedure TForm1.About1Click(Sender: TObject);
begin
if not Assigned (AboutBox) then
AboutBox := TAboutBox.Create (Application);
AboutBox.ShowModal;
end;
function IsPrime (N: LongInt): Boolean;
var
Test: LongInt;
begin
IsPrime := True;
for Test := 2 to N - 1 do
begin
if (N mod Test) = 0 then
begin
IsPrime := False;
break;
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
I: Integer;
begin
for I := 1 to 30000 do
if IsPrime (I) then
ListBox1.Items.Add (IntToStr (I));
end;
procedure TForm1.Exit1Click(Sender: TObject);
begin
Close;
end;
end.
| AboutF.pas |
unit AboutF;
interface
uses
Qt, SysUtils, Classes, QGraphics, QControls, QForms, QDialogs,
QStdCtrls, QButtons, QExtCtrls;
type
TAboutBox = class(TForm)
Panel1: TPanel;
BitBtn1: TBitBtn;
Image1: TImage;
Label1: TLabel;
private
public
procedure MakeSplash;
end;
var
AboutBox: TAboutBox;
implementation
procedure TAboutBox.MakeSplash;
begin
BorderStyle := fbsNone;
BitBtn1.Visible := False;
Panel1.BorderWidth := 3;
Show;
Update;
end;
end.
| MainSpF.xfm |
object Form1: TForm1
Left = 57
Top = 135
Width = 600
Height = 371
ActiveControl = ListBox1
Caption = 'Prime Numbers'
Color = clButton
Font.Color = clText
Font.Height = 11
Font.Name = 'MS Sans Serif'
Font.Pitch = fpVariable
Font.Style = []
Font.Weight = 40
Menu = MainMenu1
ParentFont = False
OnCreate = FormCreate
PixelsPerInch = 96
TextHeight = 13
TextWidth = 6
object ListBox1: TListBox
Left = 0
Top = 0
Width = 600
Height = 348
Align = alClient
Columns = 5
ItemHeight = 13
TabOrder = 0
end
object MainMenu1: TMainMenu
Left = 56
Top = 24
object File1: TMenuItem
Caption = '&File'
object Exit1: TMenuItem
Caption = 'E&xit'
OnClick = Exit1Click
end
end
object Help1: TMenuItem
Caption = '&Help'
object About1: TMenuItem
Caption = '&About...'
OnClick = About1Click
end
end
end
end
| AboutF.xfm |
object AboutBox: TAboutBox
Left = 305
Top = 112
Width = 302
Height = 232
ActiveControl = BitBtn1
BorderStyle = �������
|
|