Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#15

Re: If-Abfrage, die einen Befehl (Console) überprüfen kann (

  Alt 18. Mär 2006, 10:08
Wie wäre es mit 'nem ELSE, also diese Abfrage nur machen, wenn worherige übergangen wurde?
Delphi-Quellcode:
var
  iLine : Integer;
  Line : String;
  lInput, lValue: String;
  lColor: Integer;
begin
  // ...
    lInput := AnsiLowerCase(Line);

    if (Pos('#color(', lInput) = 1) and (Pos(')', lInput) > 1) then
    begin
      lValue := Copy(lInput, 8, Pos(')', lInput) - 8);

      if IdentToColor('cl' + lValue, lColor) then
        Console.Color := lColor
      else
        Console.Lines.Add('Ungültiger Parameter');
    end
    else
      if Console.Lines[iLine] <> 'then
      begin
         Console.Lines.Add('Unbekannter Befehl');
      end;
PS: vielleicht ist dir aufgefallen, daß ich oben das # vor'm color vergaß und wenn du dieses schon einfügst, dann müssen natürlich auch die Positionen (also die 6en, 7en und 8en) um das hinzugefügte Zeichen erweiters werden, also um 1 erhöt

Delphi-Quellcode:
line := trim(line);
if (copy(line, 1, 7) = '#color(') and (line[length(line)] = ')then begin
  if copy(line, 8, length(line) - 8) = 'blackthen
    Console.color := clBlack
  else if copy(line, 8, length(line) - 8) = 'maroonthen
    Console.color := clMaroon
  else Console.Lines.Add('Falscher Farbwert');
//end else if (copy(line, 1, 14) = '#otherCommand(') and (line[length(line)] = ')' then begin
// if copy(line, 14, length(line) - 14) = '...' then
// ...
// else Console.Lines.Add('Falscher Parameter');
end else Console.Lines.Add('Befehl unbekannt.');
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat