Home » Tipps & Tricks » Applikation » Debuggen » Textbildschirme fürs Debuggen nutzen

Textbildschirme fürs Debuggen nutzen

Manchmal möchte man zur Laufzeit wissen, welchen Inhalt die Variable xyz hat. Showmessage ist dazu zwar nützlich, wird es aber in einer Schleife aufgerufen, ist der Programmablauf kaputt. Außerdem kann man es nur mit Strings ansprechen.
Besser ist es, fürs Debuggen eine Textbildschirm-Anwendung zu erstellen, Projekt / Optionen / Linker / Textbildschirm-Anwendungen.
Bei dem Start der Anwendung wird dann zusätzlich zu den normalen Fenstern ein Textfenster geöffnet. Dies kann man mit den folgenden Funktionen beschreiben:

function WriteToConsole(AText: string): Boolean;
begin
  Result := False;
  if System.IsConsole then
  begin
    WriteLn(AText);
    Result := True;
  end;
end;

function WriteToConsole(AText: Integer): Boolean; overload;
begin
  Result := WriteToConsole(IntToStr(AText));
end;

function WriteToConsole(AText: Extended): Boolean; overload;
begin
  Result := WriteToConsole(FloatToStr(AText));
end;

function WriteToConsole(AText: Int64): Boolean; overload;
begin
  Result := WriteToConsole(IntToStr(AText));
end;

function WriteToConsole(AText: Boolean): Boolean; overload;
const
  a: array[Boolean] of string = ('False','True');
begin
  Result := WriteToConsole(a[AText]);
end;

Der Aufruf erfolgt so:

WriteToConsole('test');                     // String, Ausgabe: test
WriteToConsole(5);                          // Integer, Ausgabe: 5
WriteToConsole(5.0019919001);               // Extended, Ausgabe: 5,0019919001
WriteToConsole(True);                       // Boolean, Ausgabe: True
WriteToConsole(1.844674407 * Power(10,19)); // Int64, Ausgabe: 1,844674407E19

Andere Möglichkeiten fürs Debugging sind Logfiles und natürlich der Debugger.