meillo@0: unit unit_Welcome; meillo@0: meillo@0: interface//#################################################################################### meillo@0: meillo@0: uses meillo@0: Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, meillo@0: Dialogs, ExtCtrls, shellapi, jpeg; meillo@0: meillo@0: type meillo@0: Tform_Welcome = class(TForm) meillo@0: img_Background: TImage; meillo@0: img_Enter: TImage; meillo@0: timer_delay: TTimer; meillo@0: procedure FormClose(Sender: TObject; var Action: TCloseAction); meillo@0: procedure img_EnterClick(Sender: TObject); meillo@0: procedure FormCreate(Sender: TObject); meillo@0: procedure timer_delayTimer(Sender: TObject); meillo@0: private meillo@0: meillo@0: public meillo@0: Zielpfad : string; meillo@0: end; meillo@0: meillo@0: var meillo@0: form_Welcome: Tform_Welcome; meillo@0: meillo@0: implementation//############################################################################### meillo@0: uses unit_Start, modul_allgemein; meillo@0: {$R *.dfm}//################################################################################### meillo@0: meillo@0: // Forwardings meillo@0: procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); forward; meillo@0: procedure Time(const delay :string; const zielpfad:string); forward; meillo@0: procedure None(const zielpfad:string); forward; meillo@0: meillo@0: //------------------------------------------------------------------------------ Form create meillo@0: procedure Tform_Welcome.FormCreate(Sender: TObject); meillo@0: var txtfile : textfile; meillo@0: showscreentill : string; meillo@0: delay : string; meillo@0: x_enter : string; meillo@0: y_enter : string; meillo@0: //Zielpfad : string; meillo@0: begin meillo@0: // Form immer im Vordergrund meillo@0: SetWindowPos(handle, HWND_TopMost, left, top, width, height, SWP_ShowWindow); meillo@0: meillo@0: //Daten aus ini laden meillo@0: assignfile (txtfile, fktcmd(0) + ini); meillo@0: reset (txtfile); meillo@0: readln (txtfile, showscreentill); meillo@0: readln (txtfile, delay); meillo@0: readln (txtfile, x_enter); meillo@0: readln (txtfile, y_enter); meillo@0: readln (txtfile, zielpfad); meillo@0: closefile (txtfile); meillo@0: //Fallunterscheidung meillo@0: if showscreentill = 'click' then meillo@0: begin meillo@0: clickenter(x_enter, y_enter, zielpfad); meillo@0: end meillo@0: else if showscreentill = 'time' then meillo@0: begin meillo@0: time(delay,zielpfad); meillo@0: end meillo@0: else if showscreentill = 'none' then meillo@0: begin meillo@0: none(zielpfad); meillo@0: end; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: //------------------------------------------------------------------------------ Form close meillo@0: procedure Tform_Welcome.FormClose(Sender: TObject; meillo@0: var Action: TCloseAction); meillo@0: begin meillo@0: // ShellExec trotzdem ausführen meillo@0: shellexec(zielpfad); meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //############################################################################################# meillo@0: meillo@0: //------------------------------------------------------------------------------ Klick Enter meillo@0: procedure Tform_Welcome.img_EnterClick(Sender: TObject); meillo@0: begin meillo@0: shellexec(zielpfad); meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //------------------------------------------------------------------------------ Delay vorbei meillo@0: procedure Tform_Welcome.timer_delayTimer(Sender: TObject); meillo@0: begin meillo@0: shellexec(Zielpfad); meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //############################################################################################# meillo@0: meillo@0: //------------------------------------------------------------------------------ Klick ini meillo@0: procedure ClickEnter(const x_enter:string; const y_enter:string; const zielpfad:string); meillo@0: begin meillo@0: form_welcome.img_Enter.Picture.LoadFromFile(fktcmd(0) + enter); meillo@0: // Nur wenn das Enter-Bild <> 600x450 dann HG-Bild meillo@0: if form_welcome.img_enter.Width <> form_welcome.img_Background.Width then meillo@0: begin meillo@0: if form_welcome.img_enter.Height <> form_welcome.img_Background.Height then meillo@0: begin meillo@0: form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); meillo@0: end meillo@0: end; meillo@0: form_welcome.img_Enter.Left := strtoint(x_enter); meillo@0: form_welcome.img_Enter.top := strtoint(y_enter); meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //------------------------------------------------------------------------------ Time ini meillo@0: procedure Time(const delay :string; const zielpfad:string); meillo@0: begin meillo@0: form_welcome.img_Background.picture.loadfromfile(fktcmd(0) + welcome); meillo@0: form_welcome.img_Enter.Enabled := false; meillo@0: form_welcome.timer_delay.Interval := strtoint(delay) * 1000; meillo@0: form_welcome.timer_delay.Enabled := true; meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: //------------------------------------------------------------------------------ Direktaufruf meillo@0: procedure None(const zielpfad:string); meillo@0: begin meillo@0: shellexec(zielpfad); meillo@0: end;//-------------------------------------------------------------------------- meillo@0: meillo@0: end.//#########################################################################################