view unit_Start.pas @ 2:104f349dcfcc default tip

Added tag cdar-2.3 for changeset 87b91371db05b8cabe2dc3e2d2dc3ba830ab463b
author "Meillo r e t u r n s <meillo@marmaro.de>"
date Sun, 03 Dec 2006 21:56:41 +0100
parents ef71164288c1
children
line wrap: on
line source

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