Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Konsole leeren? (https://www.delphipraxis.net/125955-konsole-leeren.html)

LDericher 15. Dez 2008 16:54


Konsole leeren?
 
Hi!

Habe vor, das Sequel zu meinem Konsolengame DOR rauszubringen.
DOR selbst ist schon recht alt - mein erstes Delphi-Spiel :D - und lässt sich Hier auf meiner Webseite finden.
Nun suche ich eine Möglichkeit, die Konsole zu leeren, also z.B.

Delphi-Quellcode:
Irgendwas reinschreiben();
Nochwas schreiben();
LEEREN(); //Konsole soll leer sein!
Was neues schreiben();
...
Kennt jemand eine passende Möglichkeit?

Danke im Voraus,
Euer LDer!

Klaus01 15. Dez 2008 17:00

Re: Konsole leeren?
 
Guten Abend,

also in der cmd shell heißt der Befehl cls (ClearScreen).

Grüße
Klaus

DeddyH 15. Dez 2008 17:07

Re: Konsole leeren?
 
AFAIK gibt es für Delphi auch eine Portierung der alten TP-Unit crt. Da hieße das dann clrscr.

LDericher 15. Dez 2008 17:23

Re: Konsole leeren?
 
Zitat:

Zitat von Klaus01
Guten Abend,

also in der cmd shell heißt der Befehl cls (ClearScreen).

Grüße
Klaus

Ja und wie führe ich CLS aus?

Klaus01 15. Dez 2008 17:30

Re: Konsole leeren?
 
Schreibe doch mal mit welcher Sprache Du Dein Programm erstellt hast.
Wenn es TurboPascal ist, dann geht auch, wie DeddyH geschrieben hat, ClrScr.
Wenn es ein Delphi Consolen Programm ist, kannst Du dir die crt32.pas suchen
und in Dein Programm einbinden.
Dann hast Du auch den Befehl ClrScr zur Verfügung.

Wenn Du Deine Console mit pipes o.ä. bedienst
dann kannst Du cls über die pipe an die Console
schicken.

Also etwas mehr Infos von Deiner Seite sind gefragt.

Grüße
Klaus

LDericher 15. Dez 2008 17:36

Re: Konsole leeren?
 
Ja hmmm...

Delphi32 steht ja in der Überschrift :D
Pipes (was auch immer das sein mag) benutze ich höchstens ohne es zu wissen :D
Und noch bin ich in der ... Durchdenkenphase - das Projekt hat bisher ein testmäßiges writeln und ein readln. Mehr noch nicht. ;)
Genug?

By LDer.

Klaus01 15. Dez 2008 17:40

Re: Konsole leeren?
 
Zitat:

Zitat von Superwinger
Ja hmmm...

Delphi32 steht ja in der Überschrift :D
Pipes (was auch immer das sein mag) benutze ich höchstens ohne es zu wissen :D
Und noch bin ich in der ... Durchdenkenphase - das Projekt hat bisher ein testmäßiges writeln und ein readln. Mehr noch nicht. ;)
Genug?

By LDer.

.. dann binde die CRT32.pas ein und gut ist es.

Schönen Abend noch
Klaus

LDericher 15. Dez 2008 17:44

Re: Konsole leeren?
 
Dankiiiii! :D

Hatte selbst keine funktionierende Version gefunden ;)

nicodex 15. Dez 2008 17:46

Re: Konsole leeren?
 
Delphi-Quellcode:
program HelloWorld;

{$APPTYPE CONSOLE}

uses
  Windows,
  SysUtils;

function ClearConsoleScreen(): Boolean;
var
  ConsoleOutput: THandle;
  ConsoleScreenBufferInfo: TConsoleScreenBufferInfo;
  WriteCoord: TCoord;
  NumberOfCharsWritten: DWORD;
begin
  Result := False;
  ConsoleOutput := GetStdHandle(STD_OUTPUT_HANDLE);
  if ConsoleOutput <> INVALID_HANDLE_VALUE then
  begin
    if GetConsoleScreenBufferInfo(ConsoleOutput, ConsoleScreenBufferInfo) then
    begin
      WriteCoord.X := 0;
      WriteCoord.Y := 0;
      if FillConsoleOutputCharacter(ConsoleOutput, ' ',
        ConsoleScreenBufferInfo.dwSize.X * ConsoleScreenBufferInfo.dwSize.X,
        WriteCoord, NumberOfCharsWritten) then
      begin
        Result := SetConsoleCursorPosition(ConsoleOutput, WriteCoord);
      end;
    end;
  end;
end;

begin
  try
    WriteLn('Hallo');
    ClearConsoleScreen();
    WriteLn('World');
  except
    on E: Exception do
      Writeln(E.Classname, ': ', E.Message);
  end;
  ReadLn;
end.

sirius 15. Dez 2008 17:48

Re: Konsole leeren?
 
@Nicodex:
Da fehlt noch das setzen der Farben. :zwinker:
Aber ich vermute die CRT32 wird dat schon richten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:03 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz