Für Dinge zum Forum, Kritik, Verbesserungsvorschläge, Umfragen und ähnliches.
Komoluna
Beiträge: 565 Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit
Beitrag
von Komoluna » Fr 1. Feb 2013, 15:28
Liebes Forum, kann man irgendwie bei einem Konsolenprogrammm eine geschriebene Zeile fortsetzen?
also, dass bei diesem Programm:
dann in der Konsole folgendes steht:
Danke im Voraus
Komoluna
Programmer: A device to convert coffee into software. Rekursion: siehe Rekursion.
theo
Beiträge: 10497 Registriert: Mo 11. Sep 2006, 19:01
Beitrag
von theo » Fr 1. Feb 2013, 15:34
Der Code sollte doch genau das machen? Was macht er denn sonst?
Komoluna
Beiträge: 565 Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit
Beitrag
von Komoluna » Fr 1. Feb 2013, 15:54
sry, hatte Write und Writeln verwechselt
Programmer: A device to convert coffee into software. Rekursion: siehe Rekursion.
Komoluna
Beiträge: 565 Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit
Beitrag
von Komoluna » Sa 2. Feb 2013, 22:05
noch eine Frage: Kann man eine mit Writeln oder Write geschriebene Zeile oder auch einzelne Zeichen wieder löschen(in der Konsole)?
Programmer: A device to convert coffee into software. Rekursion: siehe Rekursion.
Socke
Lazarusforum e. V.
Beiträge: 3158 Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:
Beitrag
von Socke » Sa 2. Feb 2013, 22:29
Komoluna hat geschrieben: Kann man eine mit Writeln oder Write geschriebene Zeile oder auch einzelne Zeichen wieder löschen(in der Konsole)?
Nein. Dazu musst du anders auf die Konsole zugreifen.
MfG Socke Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Achtzig
Beiträge: 90 Registriert: Mo 15. Okt 2007, 13:09
OS, Lazarus, FPC: Debian
CPU-Target: xxBit
Beitrag
von Achtzig » So 3. Feb 2013, 11:06
Du könntest Steuerzeichen verwenden, wenn Du nur mit Write arbeitest: Write('90% Erledigt'); Write(#13); Write('Alles erledigt'); Ein Zeichen zurück geht man dann mit #8. Wenn Du die gesamte Zeile in einem Puffer vorhälst, kannst Du diesen wie Du willst überschreiben und dann erneut mit #13+Puffer in der aktuellen Zeile ausgeben. Der Puffer sollte aber mit Leerzeichen aufgefüllt werden. #13 setzt die Schreibmarke auf die erste Position, der vorherige Text bleibt aber stehen. Wenn die erneute Ausgabe kürzer als der vorherige Wert ist, würden die restlichen Zeichen stehen bleiben und müssen deswegen mit Leerzeichen überschrieben werden.