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
Ist eine laufende progressbar in der konsole möglich?
Re: Ist eine laufende progressbar in der konsole möglich?
JaDragon hat geschrieben:ist es möglich eine sich selbst ersetzende progressbar in der konsole zu verwirklichen
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;
-
- Beiträge: 134
- Registriert: So 30. Nov 2008, 21:53
Re: Ist eine laufende progressbar in der konsole möglich?
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:Das Programm zählt bis NMAX und gibt nach jeder Mio die Zahl und den erledigten Prozentsatz aus.
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.
-
- 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?
Danke für eure hilfe