Einzelnen Beitrag anzeigen

Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#21

Re: Aktuelle Zeile auslesen ...

  Alt 13. Nov 2005, 09:38
Ich bin auf eine andere Methode fast zum Ergebnis gekommen.
Delphi-Quellcode:
procedure TForm1.ConsoleKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  iLine: integer;
begin
  iLine := Console.Perform(EM_LINEFROMCHAR, -1, 0);

  if Key = VK_RETURN then
  begin
    if LowerCase(Console.Lines[iLine]) = '#exit'  then
      Application.Terminate;

    if LowerCase(Console.Lines[iLine]) = '#helpthen
    begin
      with Console.Lines do
      begin
        Add('');
        Add('');
        Add('#help = ruft die Hilfe auf');
        Add('#exit = beendet das Programm');
        Add('#opencd = öffnet das CD-Laufwerk');
        Add('#closecd = schließt das CD-Laufwerk');
        Add('');
      end;
    end;

    if LowerCase(Console.Lines[iLine]) = '#opencdthen
    begin
      mciSendString('Set cdaudio door open wait', Nil, 0, Handle);
    end;
    if LowerCase(Console.Lines[iLine]) = '#closecdthen
    begin
      mciSendString('Set cdaudio door closed wait', Nil, 0, Handle);
    end
    else
      Console.Lines.Add('Unbekannter Befehl');
      Console.Lines.Add('');
  end;
end;
Das Problem ist, wenn ich opencd und closecd eingebaut habe wird zwar jeder Befehl augeführt, es kommt aber hinter jedem Befehl 'Unbekannter Befehl'. Wenn ich opencd und closecd nicht eingebaut habe tritt der Fehler nicht auf.
  Mit Zitat antworten Zitat