Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.05.11;
Скачать: CL | DM;

Вниз

Титульный лист в программе   Найти похожие ветки 

 
Миша   (2008-04-15 10:42) [0]

Подскажите, как лучше сделать титульную форму в программе. Как в MS Word например.
То есть просто должна запуститься форма и через 30 секунд она закрывается и открывается главная форма. Если использовать Таймер на титульной форме, то она все время отрабатывает по разному. То есть иногда через 20 секунд закрывается и открывает главную, иногда вообще через 10 секунд. Подскажите, как поступить.


 
Игорь Шевченко ©   (2008-04-15 11:13) [1]

Program Files\Borland\Delphi\Demos\MastApp\*.*


 
{RASkov} ©   (2008-04-15 11:23) [2]

Сплэш(Splash) окно(форма)...
Можно привязывать к таймеру, а можно к выполняемому коду... т.е. пока идет какой-то процесс сплэшформа видна, затем закрывается...


 
{RASkov} ©   (2008-04-15 12:17) [3]

Вот можно примерно так - пример показа сплэша пока идет процесс:
program Project1;
uses Forms,
    Unit1 in "Unit1.pas" {Form1},
    Unit2 in "Unit2.pas" {Form2};
{$R *.res}
begin
 Application.Initialize;
 SplashFrm:=TForm2.Create(nil);
 with SplashFrm do try
  InitializeSplash;
  Application.CreateForm(TForm1, Form1);
 finally
  Free;
 end;
 Application.Run;
end.
//--------------------------------------------------------------

Главная форма:
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var Form1: TForm1;

implementation
uses Unit2;
{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
const Str: array [0..4] of String = ("Pictures", "Sounds", "Cursors", "Icons", "Data");
var N: Integer;
begin
 for N:=0 to 4 do begin
  SplashFrm.UpdateStatus(N*10, Format("Loading: ...%s", [Str[N]]));
  Sleep(1000);
 end;
end;

end.
//---------------------------------------------------------------------------

Сплэш форма
unit Unit2;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ExtCtrls, StdCtrls, ComCtrls;

type
 TForm2 = class(TForm)
   ProgressBar1: TProgressBar;
   Label1: TLabel;
   Image1: TImage;
 private
   { Private declarations }
 public
   procedure InitializeSplash;
   procedure UpdateStatus(const Pr: Integer; const Txt: String);
   { Public declarations }
 end;

var SplashFrm: TForm2;

implementation

{$R *.dfm}

procedure TForm2.InitializeSplash;
begin
 ProgressBar1.Position:=0;
 ProgressBar1.Max:=40;
 Show;
end;

procedure TForm2.UpdateStatus(const Pr: Integer; const Txt: String);
begin
 Label1.Caption:=Txt;
 ProgressBar1.Position:=Pr;
 Application.ProcessMessages;
end;

end.

По таймеру немного по другому...


 
Миша   (2008-04-15 12:21) [4]

2 {RASkov}

Пасиб. сейчас буду пробовать.



Страницы: 1 вся ветка

Текущий архив: 2008.05.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.016 c
15-1206646481
aizon
2008-03-27 22:34
2008.05.11
Помощь


2-1207988074
Danco
2008-04-12 12:14
2008.05.11
Свернуть и Hide.


2-1208161609
lod
2008-04-14 12:26
2008.05.11
Разбить определёный периуд времени на недели.


11-1188700319
KOLBoss
2007-09-02 06:31
2008.05.11
Чтение из файла по байтно


2-1207725582
Footballer
2008-04-09 11:19
2008.05.11
UDP