Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как изобразить картинку перед запуском программы? [D6, WinME]


Helg ©   (2002-05-31 17:26:00) 

Как перед запуском программы изобразить картинку, пока инициализируются переменные? Я пробовал по всякому - не получается. Только после запуска основной формы. А как это сделать перед запуском основной формы? Посоветуйте, добрые люди...


Helg   (2002-06-01 20:07:00) [1]

Спасибо всем за полезные советы. Очень много почерпнул полезного.
Я сделал по совету Hogo. Ура, сработало! Еще раз всем спасибо.


vfv   (2002-06-01 12:25:00) [2]

Маленький пример заставки с проверкой корректности завершения приложения и проверки и индексации БД PARADOX
var FIniFile: TRegistryIniFile;
begin
Application.Initialize;
FIniFile := TRegistryIniFile.Create("PMK Registry");//Инициализация переменной реестра куда записывается результат завершения приложения
Zastavka := TZastavka.Create(Application);
Zastavka.SHOW;
Zastavka.Update;
//Проверяю установку программы на проверку БД при загрузке
//и на нормальность завершения программы
//при True Выполняю процедуру ShowLab с выводом результатов
//определенных действий через ТLabel Заставки
if FIniFile.ReadBool(SECTION, "CheckDB",True)or not FIniFile.ReadBool(SECTION, "NormalSD",True) Then
Zastavka.ShowLab;
FIniFile.WriteBool(SECTION, "NormalSD",False);
FIniFile.Free;
Application.CreateForm(TMainForm, MainForm);
Application.CreateForm(TDelDlg, DelDlg);
Application.CreateForm(TSprTaraForm, SprTaraForm);
Application.CreateForm(TSprClientsForm, SprClientsForm);
Application.CreateForm(TINZForm, INZForm);
Application.CreateForm(TOUTZForm, OUTZForm);
Application.CreateForm(TIMPForm, IMPForm);
Application.CreateForm(TPrefForm, PrefForm);
Zastavka.Hide;
Zastavka.Release;
Zastavka:=nil;
Application.Run;
end.


alexadvanser   (2002-06-01 12:02:00) [3]

Обработчик ON Create естевственно для основной формы fmMain...


alexadvanser   (2002-06-01 11:58:00) [4]

Ребята, вы что, с ума сошли???
В проекте создаешь 2 форма, одна, как обычно, допустим fmMain, основная, а другая, допустим fmSplash- на которую наклеивается картинка.
Затем в меню PROJECT->OPTIONво вкладке FORMSперекидываем fmSplashиз группы Auto-create formsв группу Available forms, затем OK.
После этого в обработчик события ON CREATE ставите:
fmSplash := TfmSplash.Create(Application);
после чего fmSplash.Show;(для фоновой выдачи картинки)
или fmSplash.ShowModal;(для передачи управления форме с картинкой)

Ну а потом или по таймеру, или по завершении действия ставишь fmSplash.close;и форма закроется.

Удачи!
Кстати, если нужно, чтобы показывалась только картинка, без кнопок формы, нужно свойство формы fmSplash BorderStyleизменить на bsNone.


Cobalt   (2002-06-01 11:44:00) [5]

http://delphi.mastak.ru/cgi-bin/download.pl?get=993058245&n=2


Helg   (2002-06-01 08:58:00) [6]

>HOGO
Спасибо. Здорово, я попробую
>КаРаТ
А можно насчет статейки по-конкретней, где ее найти?


KaPaT   (2002-05-31 22:39:00) [7]

Здесь статейка на эту тему хорошая есть


Hogo   (2002-05-31 21:38:00) [8]

Пример из Свана

program Splashin;

uses
Forms,
Main in "MAIN.PAS" {MainForm},
Splash in "SPLASH.PAS" {SplashForm};

{$R *.RES}

begin
SplashForm := TSplashForm.Create(Application);
SplashForm.Show;
SplashForm.Update;
Application.CreateForm(TMainForm, MainForm);
SplashForm.Hide;
SplashForm.Free;
Application.Run;
end.


unit Main;

interface

uses
SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls;

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

var
MainForm: TMainForm;

implementation

{$R *.DFM}

procedure TMainForm.ExitButtonClick(Sender: TObject);
begin
Close;
end;

{ The following procedure pauses for a few seconds so
the Splash dialog remains visible for a predetermined
length of time. }

procedure TMainForm.FormCreate(Sender: TObject);
var
CurrentTime: LongInt;
begin
CurrentTime := GetTickCount div 1000;
while ( (GetTickCount div 1000) < (CurrentTime + 4) ) do
{ nothing };
end;

end.


Song   (2002-05-31 17:27:00) [9]

В dpr файл вставить.


Наверх

Титульная страница Поиск, карта сайта Написать письмо