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 Fortschrittsdialog auf Konsole (https://www.delphipraxis.net/51985-fortschrittsdialog-auf-konsole.html)

naujo 22. Aug 2005 10:11


Fortschrittsdialog auf Konsole
 
Moin moin,

vielleicht könnt ihr mir ein wenig helfen.
Ich möchte auf der Konsole eine Art Fortschrittsdialog anzeigen.
Das ganze soll in Prozent erfolgen, so ähnlich wie die Visuelle Komponente von Delphi.
Die Ausgabe sollte immer in der gleichen Zeile erfolgen, d.h. das vohergehende Wert sollte überschrieben werden, damit die Ausgabe nicht so lang und damit unübersichtlich wird.

Vielen Dank schon mal im Voraus.

MfG

Naujo

chaosben 22. Aug 2005 11:43

Re: Fortschrittsdialog auf Konsole
 
Nimm einfach den "Wagenrücklauf" :) #13

Delphi-Quellcode:
Write(PChar('[===========         ]'));
Sleep(2000);
Write(#13);
Write(PChar('[===============     ]'));
sleep(3000);

naujo 22. Aug 2005 11:49

Re: Fortschrittsdialog auf Konsole
 
Das hat wunderbar geklappt danke für den Tipp.

MfG

Naujo

chaosben 23. Aug 2005 05:32

Re: Fortschrittsdialog auf Konsole
 
na wunderbar ... *freu*

150gozilla 22. Nov 2005 11:01

Re: Fortschrittsdialog auf Konsole
 
Soa ich habe es so gemacht

Delphi-Quellcode:
Write(PChar('[   Lade  ]'));
 Sleep(900);
 Write(#13);
 Write(PChar('[=        ]'));
 sleep(900);
 write(#13);
 Write(PChar('[==       ]'));
 Sleep(900);
 Write(#13);
 Write(PChar('[===      ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[====     ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[=====    ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[======   ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[=======  ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[======== ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[========= ]'));
 sleep(900);
 Write(#13);
 Write(PChar('[==========]'));
 sleep(900);
 Write(#13);
 Write(PChar('[ LADEN OK ]'));
 sleep(900);
Gibt es nun eine Möglichkeit, das zentriert im Fenster darzustellen ?

NicoDE 22. Nov 2005 11:23

Re: Fortschrittsdialog auf Konsole
 
Zitat:

Zitat von 150gozilla
Gibt es nun eine Möglichkeit, das zentriert im Fenster darzustellen ?

Mit entsprechend vielen Leerzeichen am Anfang?

Wobei sich mir die Frage stellt, ob die Mitte des sichtbaren Bereichs oder die Mitte des Bildschirmpuffers der Konsole gemeint ist. Sichtbar sind bei mir 130x60 mit einem Bildschirmpuffer vom 1024x1024. Zentriert zum Bilschirmpuffer wäre der 'Fortschrittsbalken' also nicht sichtbar. Wenn man es relativ zum sichtbaren Bereich zentriert, stellt sich die Frage, was passieren soll, wenn der Benutzer die Fenstergröße ändert...
(Fragen über Fragen...)

150gozilla 22. Nov 2005 11:44

Re: Fortschrittsdialog auf Konsole
 
Er kann die Fenstergröße nicht ändern.

Ich möchte einen Text zentrieren, der in der Konsole steht ;)

Olli 22. Nov 2005 12:40

Re: Fortschrittsdialog auf Konsole
 
Zitat:

Zitat von 150gozilla
Er kann die Fenstergröße nicht ändern.

Nico schrieb auch klipp und klar, daß der Puffer sich von der eigentlichen Größe unterscheiden könne.

BTW: Wieso sollte man die Fenstergröße oder gar die Puffergröße nicht ändern können? Was hindert mich daran?

Binärbaum 22. Nov 2005 12:45

Re: Fortschrittsdialog auf Konsole
 
Zitat:

Zitat von chaosben
Delphi-Quellcode:
Write(PChar('[===========         ]'));

Eigentlich kann man sich bei Write() doch den "Typecast" zu PChar sparen, Write arbeitet auch mit "normalen" Strings.

MfG
Binärbaum

chaosben 22. Nov 2005 17:47

Re: Fortschrittsdialog auf Konsole
 
Betreffs der eigentlichen Frage:
Ich glaube man hat mindestend 2 Möglichkeiten:

1. Man setzt mit dem "mode" Befehl eine Größe, die man dann ja kennt und mit der man rechnen kann
2. Man liest aus, was "mode con" zurückbringt und rechnet mit diesen Werten.

So sollte ein zentrieren möglich sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 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