Jak wyczyścić całą linie w aplikacji konsolowej?

0

Witam!
Postęp w swoim programiku zapisuję tak

Write(#13+'written '+FormattedTotalBytesWritten+', '+FormattedAverageBytesPerSec+' ( '+FormattedAverageBitsPerSec+' | '+FormattedAverageIOPerSec+' ), ET '+FormatDateTime('h:nn:ss.z',ElapsedTime/SecsPerDay));

Wszystko jest cacy dopóki nowy tekst jest conajmniej tej samej długości co wcześniejszy w lini. Problem jest gdy nowy tekst jest krótszy i zostaje resztka z poprzedniego wpisu.

title

Teraz szukam jakiegoś właściwego sposobu aby za każdym razem kasować zawartość poprzedniej lini w konsoli.
Acha! Nie interesuje mnie prowizorka w postaci np.

Write(#13+'                                                          ');

;)

0

Do usunięcia linii służy prodecura DelLine, a do jej zamazania procedura ClrEol – szukaj w module Crt.

Przy okazji – parametry w wywołaniach procedury Write można oddzielać przecinkiem – nie musisz ich dodawać.

0

Moduł crt to jakiś standardowy? Pytam bo w Delphi7 jak i 10.3 nie mam nic z nazwą crt.pas.
Mam co prawda na dysku CRT32.pas i faktycznie ma DelLine ale nie widzę żadnej różnicy. Dodałem DelLine nad Write i nadal jest to samo. Pewnie stara wersja...

UPDATE:
Ok już mam działającą wersję DelLine z Velthuis.Console.pas
https://github.com/rvelthuis/Consoles

Dzięki za pomoc!
Pozdrawiam

0

Crt to jest standardowy moduł dla Delphi 7 – zawiera kod obsługi konsoli, kompatybilny z TP7 (dziad zawiera kod pradziada). Moduł ten istnieje także w bibliotece Free Pascala – przetestowałem tę funkcję i działa, obie działają.

Ale że Delphi nie używam, to nie wiem coś tam porobił z tym środowiskiem, że nie zna modułu Crt. Sam jak jeszcze używałem Delphi 7 to z tego modułu normalnie korzystałem – mogłem go bez problemu dodać do uses.

0

Bibliotek Crt i podobne (conio.h w C) odwzorowuje mniej więcej możliwości graficzne BIOS: kolor, przemieszczenie znakowego kursora itd...
Typowy output z programów to plik / strumień. Można to poznać, że daje się przekierować.
Oba są niekompatybilne.

1 użytkowników online, w tym zalogowanych: 0, gości: 1