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