Ist eine laufende progressbar in der konsole möglich?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Ist eine laufende progressbar in der konsole möglich?

Beitrag von Dragon »

ich hab da mal eine frage ist es möglich eine sich selbst ersetzende progressbar in der konsole zu verwirklichen also in etwa so

[#####-----] 50%

und die dann zum beispiel

[######----] 60%

ersetz wird und nicht
[#####-----] 50%
[######----] 60%

also nicht immer eine neue zeile druntergeschrieben wird
sondern das der neue zustand der progressbar den alten ersetzt

Ich hofe es kann mir jemand helfen

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Ist eine laufende progressbar in der konsole möglich?

Beitrag von Michl »

Dragon hat geschrieben:ist es möglich eine sich selbst ersetzende progressbar in der konsole zu verwirklichen
Ja

Du könntest z.B. mit gotoxy(...), der Unit Crt, an eine bestimmte Stelle auf dem Konsolefenster gehen und dort diesen Balken entsprechend darstellen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

indianer-frank
Beiträge: 134
Registriert: So 30. Nov 2008, 21:53

Re: Ist eine laufende progressbar in der konsole möglich?

Beitrag von indianer-frank »

Es ist auch ohne CRT möglich, wenn während der Arbeit keine anderen Konsol-Ausgaben gemacht werden. Man darf nur nicht writeln verwenden, und mit CarriadeReturn = #13 kommt man wieder an den Anfang der Zeile und da gibst dann die Progress-Information erneut aus. Beispiel:

Code: Alles auswählen

program progresstest;
var
  i: longint;
  f: double;
const
  NMAX = MaxLongint;
begin
  f := 100.0/NMAX;
  for i:=1 to NMax do begin
    if i mod 1000000 = 0 then write('i=',i:12, i*f:10:2, '%', #13);
  end;
  writeln(#13#10'Fertig');
end. 
Das Programm zählt bis NMAX und gibt nach jeder Mio die Zahl und den erledigten Prozentsatz aus.

Dragon
Beiträge: 162
Registriert: Mi 31. Jul 2013, 15:07
OS, Lazarus, FPC: Ubuntu 16.04, CodeTyphon 5.80

Re: Ist eine laufende progressbar in der konsole möglich?

Beitrag von Dragon »

Danke für eure hilfe

Antworten