Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
Пантелеев Иван   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.035 c
2-1125432210
bogdan
2005-08-31 00:03
2005.10.16
Как обойти ini файл ?


3-1125923970
LostDelpher
2005-09-05 16:39
2005.10.16
bof или EOF имеет значение true и на d7 где взять патч на ADO?


14-1127362528
YurikGL
2005-09-22 08:15
2005.10.16
Чеcтность и порядочность в правительстве России


11-1108035269
WhiteGuy
2005-02-10 14:34
2005.10.16
Немножко в KOLLISTBOX ;)


3-1125919282
DSKalugin
2005-09-05 15:21
2005.10.16
Длина строки средствами SQL в FireBird 1.5.2





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский