Ergebnis 1 bis 8 von 8
  1. #1
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard Konsole löschen

    Hiho!
    Ich code derzeit an einem kleinen Projekt mit extra Menü, aber ohne wirkliche GUI.
    Sprich ich arbeite mit der Konsole in eclipse oder wenn ich es exportiere mit meinem Terminal.

    Nun habe ich mein kleines Projekt fertig und möchte jetzt noch ein paar "kosmetische" Veränderungen vornehmen.^^
    Beispielsweise stört es mich, dass wenn ich in meinem Menü einen Punkt ausgewählt habe und dieser auch abgearbeitet worden ist, dass das alte Menü mit den alten Eingaben immernoch weiter oben steht und er alles wiederholt ausgibt.

    Ich möchte quasi einfach nur den bisherigen Inhalt der Konsole löschen nach jedem Durchlauf.

    Google hat mir nicht wirklich sinnvolle Sachen ausgespuckt, denn auf manchen Seiten hieß es "ja es geht" oder widerum "nein geht nicht" aber nirgends eine Begründung oder auch Lösungsvorschläge zu finden.

    Ich hoffe mit kann jemand helfen!

    mfg

    Barny

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  2. #2

    Standard

    Du musst dafür sorgen, dass auf Windows Systemen der CMD-Befehl "cls" und auf UNIX-Systemen der Befehl "clear" ausgeführt wird.

    So würde ich ansetzen.

  3. #3
    Diskordianischer Papst Avatar von ReiDC0Re
    Registriert seit
    17.10.2011
    Beiträge
    224

    Standard

    printf("\033[2J");
    oder
    clrscr();
    oder
    system("cls");
    Wenn du für Linux Compiles müsstest natürlich entsprechend clear nutzen stadtdessen.

    In .net wie c# gehts einfach so.
    Console.Clear();


    cout << "\33[2J";
    geht natürlich auch
    Geändert von ReiDC0Re (12.12.2011 um 16:35 Uhr)


    Ich hasse Mods die Posts hunten:
    #Closed#
    #Verschoben nach#

    S3RB31: Ich war mal Pfadfinder, da mussten wir versteckte Pfade finden.
    ReiD: Ich bin auch ein Pfadfinder, ls -a.


  4. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (12.12.2011)

  5. #4
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard

    Zitat Zitat von ReiDC0Re Beitrag anzeigen
    printf("\033[2J");
    oder
    clrscr();
    oder
    system("cls");
    [...]
    In .net wie c# gehts einfach so.
    Console.Clear();


    cout << "\33[2J";
    Danke für die Ansätze, aber das sieht mir doch sehr stark nach C und C++ aus und ich habe bislang keine Ahnung wie ich es in Java umsetzen soll.

    Das mit "cls" für Windows und "clear" für Linux (wobei bei mir Linux zutrifft) ist mir klar, jedoch weiß ich nicht wie ich auf mein Terminal direkt zugreifen soll mit Java?
    Oder muss ich mich dafür einer anderen Klasse bedienen?

    mfg

    Barny

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  6. #5
    Kevin Mitnick
    Registriert seit
    03.06.2009
    Beiträge
    1.033

    Standard

    Code:
    final static String ESC = "\033[";
    System.out.print(ESC + "2J"); System.out.flush();
    Funktioniert aber glaube ich auf NT nicht, ansonsten würd ich einfach so viele \n 's reinmachen bis der Screen wieder leer is.



  7. Folgende Benutzer haben sich für diesen Beitrag bedankt:

    Barny (12.12.2011)

  8. #6
    0x532d4d6f64 Avatar von Barny
    Registriert seit
    12.01.2007
    Beiträge
    630

    Standard

    Funktioniert leider nicht... also Ergebnis bekomme ich lediglich die Ausgabe:
    Code:
    [2J
    nach meinem Text...

    Zitat Zitat von Cristhecrusader Beitrag anzeigen
    [...] ansonsten würd ich einfach so viele \n 's reinmachen bis der Screen wieder leer is.
    Das hatte ich als Notlösung gedacht! Aber es mus sja auch irgendwie anders gehen.

    mfg

    Barny


    //Edit: Ich muss mich korrigieren, denn nach dem exportieren als jar funktioniert es, jedoch nicht in eclipse was mich auch nicht weiter stört! Aber interessieren würde es mich trotzdem noch, also falls wer eine Begründung dazu hat und diese teilen möchte, so möge er dies hier tun! Ich wäre ihm sehr verbunden aber an sich ist das Thema geklärt für mich! Big thx!
    Geändert von Barny (12.12.2011 um 19:05 Uhr)

    ~~~ Blog ~~~
    ~~~ PGP-Key ~~~

  9. #7
    Kevin Mitnick
    Registriert seit
    03.06.2009
    Beiträge
    1.033

    Standard

    Ist leider die einzige plattformunabhängige methode die ich kenn, ansonsten kannst du eben die OS funktionen benutzen:
    Runtime.getRuntime().exec( insertclearcommandhere ); //inserclearcommandhere="cls" bei windows und "clear bei *Nix.
    Edit: Ok, gut, also ich müsst jetzt raten, aber es kann sein dass eclipse eben nicht die standart shell/bash/cmd benutzt und deswegen die ANSI Sequenzen nicht funktionieren.



  10. #8
    Stanley Jobson Avatar von Bonkers
    Registriert seit
    01.02.2010
    Beiträge
    735

    Standard

    Die Lösung ist Mist, funktioniert aber.


    Code:
    for (int i=0; i<30; i++)
        System.out.println();

    Wenn du irgendwie die Lines der Konsole herauskriegst kannst du zumindest die 30 vernünftig anpassen.
    Meine Nachforschungen (1 Min ~) zeigen dass auch das nicht ohne weiteres möglich ist.

    Blackberry: der eine typ ist danach gestorben
    Bonkers: Echt?
    Blackberry: jep

Ähnliche Themen

  1. [S][c#]Ebook Konsole.
    Von KellerKind im Forum .NET Tutorials
    Antworten: 3
    Letzter Beitrag: 11.09.2010, 15:41
  2. Konsole orten lassen?
    Von NeoMatrixXx_2010 im Forum Sicherheit
    Antworten: 11
    Letzter Beitrag: 22.07.2010, 14:40
  3. Von Konsole zum Fenster
    Von DoS im Forum C, C++
    Antworten: 6
    Letzter Beitrag: 28.05.2009, 18:46
  4. Konsole verstecken
    Von RikuXan im Forum C, C++
    Antworten: 8
    Letzter Beitrag: 22.12.2008, 21:43

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •