program cdejecter; {$mode delphi} {$codepage UTF8} uses {$IFDEF UNIX}{$IFDEF UseCThreads}cthreads,{$ENDIF}{$ENDIF} Classes, SysUtils, CustApp, ANBFormatString; type { TCDEjecter } TCDEjecter = class(TCustomApplication) protected procedure DoRun; override; public constructor Create(TheOwner: TComponent); override; destructor Destroy; override; procedure WriteHelp; virtual; end; { TCDEjecter } procedure TCDEjecter.DoRun; var ErrorMsg: String; begin WriteLn('--------------------------------------------------------------------'); WriteLn('**************************** CD Ejecter ****************************'); WriteLn('*************************** Версия: 1.2 ***************************'); WriteLn('******* Авторские права (c) 2011 - 2017, Александр Бабаев **********'); WriteLn('--------------------------------------------------------------------'); // quick check parameters ErrorMsg:= CheckOptions('h', 'help'); if ErrorMsg <> '' then begin ShowException(Exception.Create(ErrorMsg)); Terminate; Exit; end; // parse parameters if HasOption('h', 'help') then begin WriteHelp; Terminate; Exit; end; { add your program here } // stop program loop Terminate; end; constructor TCDEjecter.Create(TheOwner: TComponent); begin inherited Create (TheOwner); StopOnException:= True; end; destructor TCDEjecter.Destroy; begin inherited Destroy; end; procedure TCDEjecter.WriteHelp; begin WriteLn(); writeln(FormatStr(GetLocalizedString(cde_messages_syntax_message), ['$newline$'], [#13#10])); end; var Application: TCDEjecter; {$R *.res} begin Application:= TCDEjecter.Create(Nil); Application.Title:= 'CD Ejecter'; Application.Run; Application.Free; end.