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