Einzelnen Beitrag anzeigen

Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#9

Re: etwas an zeilenende in der Console schreiben

  Alt 16. Feb 2007, 15:22
Das Ganze geht auch ohne zusätzliche, eingebundene Funktionen.

- edit -

Die Konsole besteht aus 80x25 Zeichen unter Windows.
Man kann also mit einer Breite von 80 rechnen.

kurzes Bsp. (QnD!):
Delphi-Quellcode:
program ProgressApp;

{$APPTYPE CONSOLE}

uses
  SysUtils;

const
  SlashArray: array[0..3] of Char = ('-', '\', '|', '/');

var
  i: Integer;
  sOut: String;

begin
  Writeln('********************************************************************************');

  for i := 0 to 100 do
  begin

// durch das #13 wird bei jedem Schreiben erst an die erste Stelle der Zeile gesprungen und
// dann die komplette Zeile neugeschrieben
    sOut := Format(#13 + '%s [%%.%ds%%.%ds] %d%%%%', [SlashArray[i mod 4], i div 2, 50 - (i div 2), i]);
    sOut := Format(
      sOut,
      ['********************************************************************************',
      ' ']
    );

    Write(sOut);
    Sleep(50);
  end;

  Write(Format(#13 + '%80s', [' ']));
  Write(Format(#13 + 'Complete! (%s)', ['filename.ext']));

  Writeln(#13#10#13#10);
  Writeln('********************************************************************************');
  Readln;
end.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat