Hi,
ist es möglich das letzte Zeichen in der Console zu löschen und durch ein neues ersetzen? Also z.B. das eine Zahl solange hochzählt bis der Benutzer einen Knopf drückt und immer auf der selben Position bleibt?
Mit
Console.Clear();
ist ja alles weg..
Grüße,
Michi
Hallo VBMichi,
musst du nicht löschen. Einfach überschreiben. Dazu vor dem Schreiben die Cursor-Position setzen: Console.CursorLeft/Console.CursorTop
herbivore
static void RemoveLastChar()
{
if (Console.CursorLeft > 0)
{
Console.CursorLeft--;
Console.Write(' ');
Console.CursorLeft--;
}
else
{
Console.CursorTop--;
Console.CursorLeft = Console.BufferWidth - 1;
Console.Write(' ');
Console.CursorTop--;
Console.CursorLeft = Console.BufferWidth - 1;
}
}
Ich meine, es geht noch einfacher:
Console.Write("\b");
\b (= Backspace) löscht das letzte Zeichen und setzt den Cursor an dessen Stelle.
:::
Text auf einem Button im Computer Museum Boston, USA
Hi Leute,
danke für die Antworten, hab es hinbekommen, war jetzt ja auch nicht mehr schwer 👍
Noch eine kleine Frage:
Ich lass den Code in einer Schleife wiederholen. Nun möchte ich dass das solang geschieht bis der Benutzer eine Taste drückt.
Wie funktioniert das denn?
Habe es so versucht:
while(Console.ReadKey() == false) {
Das haut mir der Compiler aber um die Ohren. Wie funktioniert das denn richtig?
Grüße,
Michi
Hallo VBMichi,
while (!Console.KeyAvailable)
Siehe auch [Tipp] Anfängerfehler == true / == false.
herbivore