diff unit_Start.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_Start.pas	Sun Dec 03 21:54:43 2006 +0100
@@ -0,0 +1,116 @@
+unit unit_Start;
+
+interface//####################################################################################
+
+uses
+  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
+  Dialogs, jpeg, ExtCtrls, StdCtrls, shellapi, ComCtrls, Buttons;
+
+type
+  Tform_Start = class(TForm)
+    img_Logo: TImage;
+    img_Copyright: TImage;
+    img_ThanksJuFo: TImage;
+    btn_close: TBitBtn;
+    btn_Editor: TBitBtn;
+    img_Easteregg: TImage;
+    License: TMemo;
+    procedure FormCreate(Sender: TObject);
+    procedure btn_CloseClick(Sender: TObject);
+    procedure btn_EditorClick(Sender: TObject);
+    procedure img_EastereggClick(Sender: TObject);
+  private
+
+  public
+
+  end;
+
+var
+  form_Start: Tform_Start;
+
+  const ini = 'cdar.ini';
+        welcome = 'welcome.jpg';
+        enter = 'enter.jpg';
+
+  procedure shellexec(const Zielpfad :string);
+
+implementation//###############################################################################
+uses unit_Welcome, unit_Editor, modul_allgemein, unit_Easteregg;
+{$R *.dfm}//###################################################################################
+
+//------------------------------------------------------------------------------ Form Create
+procedure Tform_Start.FormCreate(Sender: TObject);
+begin
+  // init
+    form_start.Color := rgb(192,192,192);
+
+  // command line parameters
+    if lowercase(paramstr(1)) = 'editor' then  // start editor
+      begin
+        application.CreateForm(tform_editor, form_editor);
+        form_editor.Show;
+      end
+    else if lowercase(paramstr(1)) = 'welcome' then  // show welcome screen
+      begin
+        application.CreateForm(tform_welcome, form_welcome);
+        form_welcome.Show;
+      end
+    else if lowercase(paramstr(1)) = 'marmaro' then  // easteregg ... bit boring in open source ;-)
+      begin
+        application.CreateForm(tform_easteregg, form_easteregg);
+        form_easteregg.show;
+        form_Start.hide;
+      end
+    else if lowercase(paramstr(1)) = '' then  // about window
+      begin
+        // do nothing special
+      end
+    else                                 // direct call
+      begin
+        shellexec(paramstr(1));
+        application.Terminate;
+      end;
+end;//--------------------------------------------------------------------------
+
+//#############################################################################################
+
+//------------------------------------------------------------------------------ kill
+procedure Tform_Start.btn_CloseClick(Sender: TObject);
+begin
+  application.Terminate;
+end;//--------------------------------------------------------------------------
+//------------------------------------------------------------------------------ editor
+procedure Tform_Start.btn_EditorClick(Sender: TObject);
+begin
+  application.CreateForm(tform_editor, form_editor);
+  form_Editor.show;
+  form_Start.hide;
+end;//--------------------------------------------------------------------------
+
+//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+//------------------------------------------------------------------------------ easteregg
+procedure Tform_Start.img_EastereggClick(Sender: TObject);
+begin
+  application.CreateForm(tform_easteregg, form_easteregg);
+  form_Easteregg.show;
+  form_Start.hide;
+end;//--------------------------------------------------------------------------
+
+//#############################################################################################
+
+//------------------------------------------------------------------------------ shellexec
+procedure shellexec(const Zielpfad :string);
+begin
+  if zielpfad <> '..\-' then // '..\-' means 'no action'
+    begin
+      try
+        ShellExecute(application.Handle, 'open', pchar(zielpfad), nil, nil, sw_shownormal);
+      except
+        showmessage('could not execute file or open dir');
+      end;
+    end;
+  application.Terminate;
+end;//--------------------------------------------------------------------------
+
+end.//#########################################################################################