[PASCAL] Nadpisywanie liczb podczas pracy konsoli - licznik

Odpowiedz Nowy wątek
2008-04-11 14:40
0

Witam!

Mam takie pytanko. Czy jest możliwość aby podczas pracy algorytmu sortującego na bieżąco pokazywac ilość porównań które już zostały wykonane??
Chodzi mi o to, aby już po odpaleniu programu dynamicznie zmieniała się wartość mojej zmiennej na ekranie po każdym porównaniu.

Mam na myśli cos takiego jak na tej stronce tylko w Pascalu: http://www.home.umk.pl/~abak/wdimat/s/SelectSort.html

Z góry dzięki - pozdrwiam! :-)

Pozostało 580 znaków

2008-04-11 19:48
1

Powinno Ci wystarczyć

var
  hStdOut:THandle = 0;
  BI : TConsoleScreenBufferInfo;

procedure GotoXY(X,Y : Integer);
var
  Coord : TCoord;
begin
  Coord.x := X-1;
  Coord.y := Y-1;
  SetConsoleCursorPosition(hStdOut, Coord)
end;

procedure ClrScr;
var
  L,N : DWord;
begin
  GetConsoleScreenBufferInfo(hStdOut, BI);
  with BI do begin
    dwCursorPosition.x:=0;
    dwCursorPosition.y:=0;
    L:=dwSize.x*dwSize.y;
    FillConsoleOutputAttribute(hStdOut, TextAttr, L, dwCursorPosition, N);
    FillConsoleOutputCharacter(hStdOut, ' ', L, dwCursorPosition, N);
    SetConsoleCursorPosition(hStdout, dwCursorPosition);
  end;
end;

// -------------------

for i := 1 to 10 do
begin
  ClrScr();
  GoToXY(10, 10);
  WriteLn(i);
end;

<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2008-04-12 23:31
0

Posiedziałem trochę nad tym kodem i nie działa mi tak jak powinno, wyswietla mi wartosc zmiennej "i" w kolumnie jedna cyfra pod drugą.
Zapomniałem dodać że pracuję pod konsolą w Delphi 7... jak poszperałem troche w necie o tym to zobaczyłem że jest różnica mędzy TP a konsola Delphi 7, a tak szczerze to o tym nie wiedziałem.

Więc jak to jest? Brakuje mi jakiegoś modułu w Delphi, a używasz funkcji która się do niego odwołuje w tym kodzie?? czy ogólnie niejasno przedstawiłem mój problem?

Pozostało 580 znaków

2008-04-15 00:16
tuKOtłownia

a tak?:

for i:=1 to 10 do
  Write(i, #$0D );

Pozostało 580 znaków

2008-04-15 11:16
0

Działa :) Dzięki wielkie!!

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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