Delphi-Quellcode:
procedure TForm1.ConsoleKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
iLine: integer;
CommandList: TStringList;
begin
CommandList := TStringList.Create;
with CommandList do
begin
Sorted := true;
CaseSensitive := false;
Add('#exit');
Add('#pause');
end;
iLine := Console.Perform(EM_LINEFROMCHAR, -1, 0);
{ // #exit
if (Key = VK_Return) and (LowerCase(Console.Lines[iLine]) = '#exit') then
Application.Terminate;
if not (Key = VK_Return) and (LowerCase(Console.Lines[iLine]) = '#exit') then
Console.Lines.Add('Befehl konnte nicht gefunden werden.'); }
if CommandList.IndexOf(IntToStr(iLine)) >= 0
then // gültiger Befehl
else Console.Lines.Add('Ungültiger Befehl');
;
end;
Jetzt kann ich halt kein #exit mehr eintippen, da alles vollgemüllt wird.