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

Вниз

Заставка перед запуском программы   Найти похожие ветки 

 
Пантелеев Иван   (2005-09-08 23:10) [0]

Мне нужно чтобы перез запуском моей программы 2-3 сек. показывалась некая заранее подготовленная форма (заставка к программе). Как это сделать?
Если можно по подробнее.


 
Defunct ©   (2005-09-09 00:14) [1]

в Dpr:

..
Application.ShowMainForm := False;
Application.Run;

после показа формы-заставики, сделать mainform.show;


 
Пантелеев Иван   (2005-09-09 00:35) [2]

Это не то!
А где-же 2-3 сек?


 
Defunct ©   (2005-09-09 02:55) [3]

Пантелеев Иван   (09.09.05 00:35) [2]
> Это не то!

Извини конечно, но раз ты знаешь лучше, где "то", а где не "то", что-то не хочется больше ничего советовать.

> А где-же 2-3 сек?
за тебя писать программу я не нанимался.


 
Джо ©   (2005-09-09 03:02) [4]


> [2] Пантелеев Иван   (09.09.05 00:35)
> Это не то!

Вот те крест! Оно самое 8-|


 
PZ   (2005-09-09 08:10) [5]

Вот работающий пример. Заставка (Splash) загружается и ждет, сколько нужно, пока загрузятся остальные формы, после чего закрывается:  

program Dal;

uses
 Forms,
 DalUn in "DalUn.pas" {DalFrm},
 IntroduceUn in "IntroduceUn.pas" {IntroduceFrm},
 ProcUn in "ProcUn.pas",
 About in "About.pas" {AboutBox},
 Splash in "SPLASH.PAS" {SplashForm},
 Dal_V_I_Un in "Dal_V_I_Un.pas" {Dal_V_I_Frm};

{$R *.RES}

begin
 SplashForm := TSplashForm.Create(Application);
 SplashForm.Show;
 SplashForm.Update;
 Application.CreateForm(TDalFrm, DalFrm);
 Application.CreateForm(TIntroduceFrm, IntroduceFrm);
 Application.CreateForm(TAboutBox, AboutBox);
 Application.CreateForm(TDal_V_I_Frm, Dal_V_I_Frm);
 SplashForm.Close;
 Application.ShowHint := True;
//  Application.HintPause := 100;
//  Application.HintHidePause := 999999;
 Application.Run;
end.


 
Плохиш ©   (2005-09-09 10:44) [6]


> PZ   (09.09.05 08:10) [5]
> Вот работающий пример. Заставка (Splash) загружается и ждет,
> сколько нужно, пока загрузятся остальные формы

А надо 2-3 секунды :-P


 
PZ   (2005-09-09 15:24) [7]

Ну так заставку-то делают, обычно, для того, чтобы не скучать, пока загружается программа. А сколько уйдет на это времени, столько и уйдет...


 
Пантелеев Иван   (2005-09-09 15:26) [8]

Мне не нужно чтобы Splash появлялся только на время загрузки программы, т.к. программа маленькая и грузится достаточно быстро. Пояэту мне нужно чтобы Splash появлялся на 2-3 сек, а потом загружалась программа. Я где-то видел такой пример, но это было давно и я уже подзабыл. Так что если кто может - помогите пожалуйста.


 
Пантелеев Иван   (2005-09-09 15:30) [9]

Мне не нужно чтобы Splash появлялся только на время загрузки программы, т.к. программа маленькая и грузится достаточно быстро. Пояэту мне нужно чтобы Splash появлялся на 2-3 сек, а потом загружалась программа. Я где-то видел такой пример, но это было давно и я уже подзабыл. Так что если кто может - помогите пожалуйста.


 
PZ   (2005-09-09 15:39) [10]

Перед строкой
SplashForm.Close;
вставьте:
Sleep(2000);   // 2 секунды


 
Floppy ©   (2005-09-09 16:06) [11]

Заставка перед запуском программы
Ну никак нельзя, все выкрутасы только после запуска программы:)
А путей реализации очень много!


 
PZ   (2005-09-09 16:15) [12]

Floppy ©   (09.09.05 16:06)

Да нет же, можно


 
Джо ©   (2005-09-09 16:16) [13]


> [11] Floppy ©   (09.09.05 16:06)
> Ну никак нельзя, все выкрутасы только после запуска программы:)

Отчего же? Пишем загрузчик, псевдокод:
ShowSplash;
Sleep (2000);
CreateProcess (...);
Halt

;-)


 
PZ   (2005-09-09 16:36) [14]

Джо ©   (09.09.05 16:16)

Да не надо усложнять. Вот, как я привел пример с добавлением
задержки, все нормально работает.


 
Floppy ©   (2005-09-09 16:37) [15]

>PZ   (09.09.05 16:15) [12]
>Джо ©   (09.09.05 16:16) [13]

В таком случае, хотелось бы получить "разъяснение", что такое "запуск программы"
:)


 
PZ   (2005-09-09 16:59) [16]

Floppy ©   (09.09.05 16:37)

Под запуском программы я понимаю то, что реализовано у меня в примере. Я дилетант. Теоретическое определение дать не могу.


 
Defunct ©   (2005-09-10 00:04) [17]

> PZ  
> что такое "запуск программы"

С т.з. ОС "запуск программы" - это процесс при котором подготовленный к исполнению программный модуль, размещается в ОП, и ему передается управление.

> Floppy
С т.з. самой программы "запуск программы" - это режим инициализации, при котором осуществляется настройка параметров программы, а также захват системных ресурсов, необходимых для работы программы.


 
Defunct ©   (2005-09-10 00:21) [18]

> Пантелеев Иван   (09.09.05 15:30) [9]

program Project2;

uses
 Forms,
 Unit1 in "Unit1.pas" {Form1},
 Unit2 in "Unit2.pas" {Form2};

{$R *.res}

begin
 Application.Initialize;
 Application.CreateForm(TForm1, Form1);
 Application.ShowMainForm := False;
 Application.Run;
end.

На Form2 кидаем таймер. выставляем время 3000 ms. в обработчике таймера пишем:

procedure TForm2.Timer1Timer(Sender: TObject);
begin
 TTimer( Sender ).Enabled := false;
 ModalResult := mrOk
end;

В главной форме пишем например в OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
 with TForm2.Create( Self ) do
 try
   ShowModal
 finally
   free
 end;
 Show
end;


 
Defunct ©   (2005-09-10 00:32) [19]

как вариант, можно даже включить главную форму еще не потушив форму-заставку:

unit unit2;
...
..

uses Unit1;

var
 StartCounter : integer = 3;

procedure TForm2.Timer1Timer(Sender: TObject);
begin
 Dec( StartCounter );
 case StartCounter of
   1: Form1.Show;
   0: begin
        TTimer( Sender ).Enabled := false;
        ModalResult := mrOk;
      end;
 end;
end;

end.


 
ssk ©   (2005-09-13 13:53) [20]

не знаю, нахрена заставка, если программа грузится быстро. только пользователя утомлять. или это типа "прога такая-то, сделано тем-то и там-то" для того, чтоб узнали кто делал? если это так, то обычно делают пункт в меню - называется ""About""


 
Antonn ©   (2005-09-13 14:00) [21]

ssk ©   (13.09.05 13:53) [20]
не знаю, нахрена заставка, если программа грузится быстро.

а они таймер замедления ставят, чтобы успели прочитать:))



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

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

Наверх




Память: 0.52 MB
Время: 0.026 c
2-1127322319
logan
2005-09-21 21:05
2005.10.16
Открытие файла...


2-1125432210
bogdan
2005-08-31 00:03
2005.10.16
Как обойти ini файл ?


8-1116800582
ALL
2005-05-23 02:23
2005.10.16
Звуковой поток


14-1127220284
Дядя Фёдор
2005-09-20 16:44
2005.10.16
Как сделать чтоб при надатии кнопки содержимое Edit сохранялась в


6-1119816920
Агент Смитт
2005-06-27 00:15
2005.10.16
помогите с запросом