Konsole leeren

Übersicht BlitzMax, BlitzMax NG Allgemein

Neue Antwort erstellen

Der Eisvogel

Betreff: Konsole leeren

BeitragDo, Mai 06, 2010 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo
Ich programmiere gerade ein Konsolen-Programm (im CMD eingebettet). Jetzt wäre es mir recht, wenn man nach der ein oder anderen Aktion alle Textausgaben löschen könnte. Geht das irgendwie?

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Macintosh

BeitragDo, Mai 06, 2010 14:22
Antworten mit Zitat
Benutzer-Profile anzeigen
suche mal... gabs schon mal

Der Eisvogel

BeitragDo, Mai 06, 2010 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe schon gesucht, aber nix gefunden. Suchbegriffe: K/Console leeren/löschen, CMD leeren/löschen, Eingabeaufforderung leeren/löschen. Es kam leider nix bei raus. Wenn du mir andere Suchbegriffe nennen könntest, bei denen ich fündig werde, wäre das toll.

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

Macintosh

BeitragDo, Mai 06, 2010 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
:)
https://www.blitzforum.de/foru...ht=konsole

also so:
BlitzMax: [AUSKLAPPEN]
WriteStdout( Chr(8) )

damit löschst du 1 zeichen.

Der Eisvogel

BeitragDo, Mai 06, 2010 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah, Ok. Aber es gibt keine Möglichkeit, die Konsole auf einmal zu leeren. Ich wüsste leider nicht, wie lange ich jetzt die von die genannte Funktion aufrufen soll. Woher weiß ich, ob die Konsole dann leer ist. Und wenn da mal etwas mehr drin steht, dauert das doch auch dem entsprechend etwas länger oder?

Aber trotzdem erstmal Danke. Ich werde jetzt mal ein bisschen damit rumspielen. Vielleicht bekomme ich es ja doch hin.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

#Reaper

Newsposter

BeitragDo, Mai 06, 2010 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
ich bin mir nun nicht ganz sicher, ob das allgemein in CMD auch noch geht, aber bei z.B. Telnet oder SSH funktioniert das so:
http://www.termsys.demon.co.uk/vtansi.htm
War jetzt nur mal eine Seite, welche ich schnell gefunden habe. Gibt noch andere. Einfach mal nach "Terminal" und "Kontrollzeichen" oder so suchen, ggf. auf Englisch. Wink
Weiter unten findest du "Erase Screen", da steht dann alles beschrieben.

#Reaper
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Der Eisvogel

BeitragFr, Mai 07, 2010 8:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Cool, Danke dir. Das hilft weiter. Damit kann ich mehr anfangen, da kann ich ja die ganze Konsole mit kontrolieren. Das ist cool. Danke, Reaper

EDIT: Mh, schade, das funktioniert leider nicht.
BlitzMax: [AUSKLAPPEN]
Print "1sdjhkladf dskjfl sdfjklds fd"
Print "2sdjhkladf dskjfl sdfjklds fd"
Print "3sdjhkladf dskjfl sdfjklds fd"
Print "4sdjhkladf dskjfl sdfjklds fd"
WriteStdout "5sdjhkladf dskjfl sdfjklds fd"

WriteStdout Chr(27)+"[2K"

Ich bekomme immer am Ende von Zeile 5 dann einen Mini-Pfeil nach Links mit [2K dahinter stehen. Aber in dem von Macintosh genannte Post gab es auch eine Funktion, diese Methode benutzt. Da scheint es noch funktioniert zu haben. Mache ich vielleicht irgendwas falsch?

MfG
Der Eisvogel
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

#Reaper

Newsposter

BeitragFr, Mai 07, 2010 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm... schade, geht bei mir leider auch nicht :-/
Vielleicht kennt sich ja noch jemand anderes hier damit besser aus. Ansonsten bleibt wohl nur noch der Return-Char Confused
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Macintosh

BeitragFr, Mai 07, 2010 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Bein. machst icht falsch... geht bei mir auch nicht.. auch nicht die Funktion aus dem Post ^^

Moep

BeitragFr, Mai 07, 2010 17:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit dem return char könnts eigentlich ganz einfach gehn , indem du meinetwegen 10mal den string auf sich selbst addierst...
habs probiert, return char löscht nix bei mir

mfg
Hardstyle Schleichwerbung:
http://www.youtube.com/user/Hackepeter42

Achtung: Suchtgefahr!
moep123.ohost.de

Der Eisvogel

BeitragFr, Mai 07, 2010 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Chr(8) hat in dem Sinne schon eine Funktion. Es setzt den Cursor um ein Zeichen zurück. Wenn du dann wieder etwas ausgibst, dann wird ab dieser Postion weiter geschrieben --> Zeichen wird gelöscht. Aber das ist nicht das was ich will.
Wäre klasse, wenn das irgendwie "richtig" gehen würde.
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.

ChaosCoder

BeitragFr, Mai 07, 2010 19:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin zwar grad am Mac aber ich glaube zu wissen, dass das ganz einfach geht:
BlitzMax: [AUSKLAPPEN]
system_("cls") 'für Windows
system_("clear") 'für Mac OS X
Auf dem Mac geht's jedenfalls super, also denke ich auch, dass Windows das auch kann. Hat mich grade 5 min googlen gekostet, bis ich auf die Idee kam.
Projekte: Geolaria | aNemy
Webseite: chaosspace.de

Der Eisvogel

BeitragFr, Mai 07, 2010 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Also da passiert bei mir leider garnix. Sad
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D
Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB
Projekte: Window-Crasher
Ich liebe es mit der WinAPI zu spielen.
 

#Reaper

Newsposter

BeitragFr, Mai 07, 2010 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Methode von ChaosCoder kann nicht funktionieren, weil dabei nämlich jedes mal ein neues Fenster geöffnet wird.
Ich habe mal geschaut, was "cls" macht: Es schreibt einfach ein Byte 0x0C raus ("Form Feed"). Da es aber den ganzen "Bildschirm" löscht, wird es wohl auch nicht das sein, was du willst. Wenn es nur für Windows sein soll, kannst du auch ein "Carriage Return" (0x0D, \r) schreiben (also einfach Print "~r"). Das springt direkt an den Zeilenanfang. Der vorherige Text muss dann allerdings auch wieder mittels Leerzeichen oder Tabs überschrieben werden. Ansonsten könnte man noch schauen, wie die alten DOS-Programme die Darstellung bewerkstelligen (ggf. mittels WinAPI? vllt..), aber ob das Sinnvoll ist..?
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

Thunder

BeitragSa, Mai 08, 2010 15:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Cls alleine reicht nicht.
Bei mir funktioniert folgendes:
BlitzMax: [AUSKLAPPEN]
SuperStrict
Framework brl.blitz
Import brl.standardio
For Local i%=1 To 3
Delay 1000
System_("cmd /c cls")
If i=1 Then Print "Es ist schon eine Sekunde vergangen" Else Print "Es sind schon "+i+" Sekunden vergangen."
Next
End

Geht aber nur in der Eingabeaufforderung und ist natürlich nur für Windows.

Ich habe auch versucht ein Assemblermodul dafür zu schreiben, aber weil BlitzMax mit 32Bit-Dateien arbeitet, bekam ich die ganze Zeit EXCEPTION_ACCESS_VIOLATIONs.

mfg Thunder
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group