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.//#########################################################################################