Locate Befehl wie in Qbasic (nicht im String suchen)

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo,

    ich bin gerade bei einer Schleife, die bis zu einer Variable eins dazuzählt und dann z.B. bei 1000 wieder 1 wird. (Und natürlich die Codes, die nach dieser verstrichenen Zeit augegeben werden müssen)
    Hierzu würde ich auch gerne für MPC (weil sich es nicht von selbst aktualisiert) z. B. "*", die sich von links nach rechts vermehren.

    Bei Qbasic gab es den Befehl Locate x,y - mit dem man dann einfach in die Zeile und Spalte gesprungen ist.

    Aber ich habe schon verzweifelt gesucht, finde aber immer nur das, was ich nicht benötige.

    Oder gibt es eine andere Lösung?

    Gruß

    Chris

  • Locate Befehl wie in Qbasic (nicht im String suchen)? Schau mal ob du hier fündig wirst!

  • Ganz einfach:

    Dass ich einen Befehl habe, mit dem ich angeben kann, in welche Zeile und Spalte er z.B. bei Print anfängt, sodass ich in einer Schleife z.B. Sternchen von links nach rechts immer einer mehr werden, anzeigen lassen kann. (So als Bildschirmschoner )

    Ich habe bis jetzt einfach Print benutzt, aber da fängt er ja jedes mal in der nächsten Zeile an.

    Also im Endeffekt, dass ich ihm angeben kann, in welcher Zeile und Spalte er mit Print anzufangen hat. und die Ausgabe nicht in einer neuen Zeile macht.

    Einmal editiert, zuletzt von Pfutz (12. November 2013 um 09:59)

    • Offizieller Beitrag

    Wenn du dir sowas wie ein Menü bauen willst

    Code
    ***********
    *
    **BlablubBla**
    *
    ***********


    musst du es halt in Header/body usw. aufteilen, und dementsprechend wissen, wann welche Zeichen kommen. du kannst nicht wild von oben nach unten springen.

    Schau dir mal pygame an, das kann auch ausgaben im Linux-Framebuffer machen.

  • Danke, aber das habe ich ja schon mit der Schleife:
    Y="*"
    try: ...
    Print Y
    Y=Y+"*"
    try: ...

    ich möchte, dass ich ihm angebe, dass er ess z.B. in der dritten Zeile anzeigen soll.

    bei Qbasic war es einfach so:

    Y="*"
    endlos:
    locate 3,1
    print Y
    Y=Y+"*"
    goto endlos:

    und es wird dabei nur in der 3. Zeile ausgegeben.

  • OK, das ist jetzt eher optisch und hat keine wirkliche Funktion.

    Aber wenn ich MPC 100% Aktuell halten will (mit Anzeige der verstrichenen Sekunden), so muss ich zuerst Bildschirm leeren und MPC wieder starten -> ein Blinkgewitter

    Und so kann ich erkennen, ok, jetzt aktualisiert er bald wieder.

    Aber wenn ich das Blinken ausschalten könnte wäre das natürlich noch besser =)

  • Sleep ist keine Lösung (schon versucht), da er dann die Tastenabfrage verzögert...
    So funktioniert es auch super, aber ich möchte schon gerne, dass mpc aktuell ist. und wenn ich jetzt eine Sekunde verzögere, blinkt es trotzdem... Es wäre eben schön, wenn es "geschmeidig" gehen würde =)

    Das mit den * wäre eben noch ein optisches I-Tüpfelchen

    Bei Qbasic habe ich das Flackern eben mit Locate herausbekommen.

    ich teste gerade "[font="Tahoma, Verdana, Arial, sans-serif"]ANSI Escape Codes" aber außer dass er keinen Prompt oder ihn blau anzeigt geht noch nicht viel ...[/font]


    Zitat
    Code
    PS1="\[\033[34m\][\$(date +%H%M)][\u@\h:\w]$ "

    Einmal editiert, zuletzt von Pfutz (12. November 2013 um 12:02)

  • Damit Deine Tasten weiterhin funktionieren,solltest Du die Anzeige + das auslesen des mpc Status in Subprozesse packen

    Hier ein Beispiel wie Du über Sockets den MPC Status auslesen kannst:


    genauso kannst Du auch einen Subprozess für Deine Tasten machen

  • Danke, aber da zeigt er nur an

    Code
    root@raspberrypi:/media/CARPC# python MP4.py
    Traceback (most recent call last):
      File "MP4.py", line 3, in <module>
        import pylirc, time

    Jetzt bin ich aber kurz vor Schluss und möchte meine bisherige Arbeit nicht ganz aufgeben.

    wenn ich z.b.

    Code
    (bash)
    PS1="\033[3;4H


    eingebe dann kommt

    Code
    (bash)
    >
    
    
    und wenn ich hier wieder eingebe 
    >PS1="\033[3;4H


    dann klappts komischerweise.

    ich hab auch schon öfter mpc eingegeben und jetzt blinkt auch nichts mehr - er bleibt immer in der selben Zeile =)

    Wäre schön wenn ich das jetzt auch Integriert bekomme ...

    Das Auslesen der einzelnen Variablen von MPC/MPD bringt mir auch nicht, da ich eh nich "locaten" kann... =(

    Gibts da was, dass man ohne Clearscreen das Zeug immer oben hat?

    Einmal editiert, zuletzt von Pfutz (12. November 2013 um 15:32)

  • Fehlermeldung: Pfutz: nimm pylirc raus aus der Zeile. Das ist bei mir zur Ansteuerung des Pi durch eine Fernbedienung.

    >Gibts da was, dass man ohne Clearscreen das Zeug immer oben hat?

    Ja, bring den Cursor einfach auf 1,1 oder benutze die Escape Sequenz für Home. Ist oben in dem Link in meinem ersten Post.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!