Mercurial > cdar
diff unit_Welcome.pas @ 0:ef71164288c1
begin of using hg for cdar
author | "Meillo r e t u r n s <meillo@marmaro.de>" |
---|---|
date | Sun, 03 Dec 2006 21:54:43 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/unit_Welcome.pas Sun Dec 03 21:54:43 2006 +0100 @@ -0,0 +1,126 @@ +unit unit_Welcome; + +interface//#################################################################################### + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, ExtCtrls, shellapi, jpeg; + +type + Tform_Welcome = class(TForm) + img_Background: TImage; + img_Enter: TImage; + timer_delay: TTimer; + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure img_EnterClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure timer_delayTimer(Sender: TObject); + private + + public + Zielpfad : string; + end; + +var + form_Welcome: Tform_Welcome; + +implementation//############################################################################### +uses unit_Start, modul_allgemein; +{$R *.dfm}//################################################################################### + +// Forwardings + procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); forward; + procedure Time(const delay :string; const zielpfad:string); forward; + procedure None(const zielpfad:string); forward; + +//------------------------------------------------------------------------------ Form create +procedure Tform_Welcome.FormCreate(Sender: TObject); + var txtfile : textfile; + showscreentill : string; + delay : string; + x_enter : string; + y_enter : string; + //Zielpfad : string; + begin + // Form immer im Vordergrund + SetWindowPos(handle, HWND_TopMost, left, top, width, height, SWP_ShowWindow); + + //Daten aus ini laden + assignfile (txtfile, fktcmd(0) + ini); + reset (txtfile); + readln (txtfile, showscreentill); + readln (txtfile, delay); + readln (txtfile, x_enter); + readln (txtfile, y_enter); + readln (txtfile, zielpfad); + closefile (txtfile); + //Fallunterscheidung + if showscreentill = 'click' then + begin + clickenter(x_enter, y_enter, zielpfad); + end + else if showscreentill = 'time' then + begin + time(delay,zielpfad); + end + else if showscreentill = 'none' then + begin + none(zielpfad); + end; +end;//-------------------------------------------------------------------------- +//------------------------------------------------------------------------------ Form close +procedure Tform_Welcome.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + // ShellExec trotzdem ausführen + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Klick Enter +procedure Tform_Welcome.img_EnterClick(Sender: TObject); +begin + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Delay vorbei +procedure Tform_Welcome.timer_delayTimer(Sender: TObject); +begin + shellexec(Zielpfad); +end;//-------------------------------------------------------------------------- + +//############################################################################################# + +//------------------------------------------------------------------------------ Klick ini +procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); +begin + form_welcome.img_Enter.Picture.LoadFromFile(fktcmd(0) + enter); + // Nur wenn das Enter-Bild <> 600x450 dann HG-Bild + if form_welcome.img_enter.Width <> form_welcome.img_Background.Width then + begin + if form_welcome.img_enter.Height <> form_welcome.img_Background.Height then + begin + form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); + end + end; + form_welcome.img_Enter.Left := strtoint(x_enter); + form_welcome.img_Enter.top := strtoint(y_enter); +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Time ini +procedure Time(const delay :string; const zielpfad:string); +begin + form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); + form_welcome.img_Enter.Enabled := false; + form_welcome.timer_delay.Interval := strtoint(delay) * 1000; + form_welcome.timer_delay.Enabled := true; +end;//-------------------------------------------------------------------------- + +//------------------------------------------------------------------------------ Direktaufruf +procedure None(const zielpfad:string); +begin + shellexec(zielpfad); +end;//-------------------------------------------------------------------------- + +end.//#########################################################################################