AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fortschrittsdialog auf Konsole

Ein Thema von naujo · begonnen am 22. Aug 2005 · letzter Beitrag vom 22. Nov 2005
Antwort Antwort
Seite 1 von 2  1 2      
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#1

Fortschrittsdialog auf Konsole

  Alt 22. Aug 2005, 11:11
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
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Fortschrittsdialog auf Konsole

  Alt 22. Aug 2005, 12:43
Nimm einfach den "Wagenrücklauf" #13

Delphi-Quellcode:
Write(PChar('[=========== ]'));
Sleep(2000);
Write(#13);
Write(PChar('[=============== ]'));
sleep(3000);
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
naujo

Registriert seit: 31. Jan 2005
25 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: Fortschrittsdialog auf Konsole

  Alt 22. Aug 2005, 12:49
Das hat wunderbar geklappt danke für den Tipp.

MfG

Naujo
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#4

Re: Fortschrittsdialog auf Konsole

  Alt 23. Aug 2005, 06:32
na wunderbar ... *freu*
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#5

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 12:01
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 ?
Chris
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#6

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 12:23
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...)
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#7

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 12:44
Er kann die Fenstergröße nicht ändern.

Ich möchte einen Text zentrieren, der in der Konsole steht
Chris
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#8

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 13:40
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?
  Mit Zitat antworten Zitat
Benutzerbild von Binärbaum
Binärbaum

Registriert seit: 19. Jan 2005
Ort: Elstra
764 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 13:45
Zitat von chaosben:
Write(PChar('[=========== ]'));
Eigentlich kann man sich bei Write() doch den "Typecast" zu PChar sparen, Write arbeitet auch mit "normalen" Strings.

MfG
Binärbaum
There are exactly 10 kinds of people: those who understand binary, and those who don't.
---
"Software reift beim Kunden. Bei Hardware ist es anders: Hardware fault beim Kunden." - Rainer G. Spallek
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Fortschrittsdialog auf Konsole

  Alt 22. Nov 2005, 18:47
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.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.
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