TwojePC.pl © 2001 - 2024
|
|
A R C H I W A L N A W I A D O M O Ś Ć |
|
|
|
Nurtujące pytanie z... Pascala ;). Jak wyświetlić znak w komórce 80x25 BEZ , Chrisu 22/01/12 09:50 przesunięcia spowodowanego przez wyświetlenie kursora. Dodam, że ukrycie kursora nie pomaga. /// GG# 1 110 10 10 11 100 10 \\\ - hmm , kubazzz 22/01/12 13:23
write? nie zadziała?
Ja robiłem takie rzeczy, ale teraz już nie pamiętam dokładnie..SM-S908 - Re: , Kool@ 22/01/12 13:40
Dawno to było i niewiele pamiętam z Pascala ale może to będzie pomocne
GOTOXY(80,25)... - kursor wyskakuje za znakiem. , Chrisu 22/01/12 19:50
123 /// GG# 1 110 10 10 11 100 10 \\\
- asm , resmedia 22/01/12 15:48
musisz wywołać funkcję 09H lub 0AH przerwania 10Hdesipere est juris gentium - robiłem tak: , Chrisu 22/01/12 19:51
rej.AH:=3;
intr($10,rej);
with rej do
begin
kp:=ch;
kk:=cl;
ah:=1;
ch:=16;
cl:=0
end;
intr($10,rej);
I guzik :( Ukrywa kursor, ale go nie "likwiduje" na amen. /// GG# 1 110 10 10 11 100 10 \\\ - kursora nie musisz ukrywać , resmedia 22/01/12 22:48
ustawiasz go na (80,25)
w AH ładujesz 09H
w AL ładujesz znak (kod ascii)
w BX ładujesz atrybuty (kolor tekstu i tła)
w CX ładujesz licznik powtórzenia wystąpienia znaku (tego z AL) - w tym przypadku będzie to 1
i wywołujesz INT 10H
znak powinien się wyświetlić, a kursor nie przesunie siędesipere est juris gentium
- Może pomoże... , Tig3r 22/01/12 17:46
http://answers.yahoo.com/...=20100928115820AAdRVPE - tryb tekstowy , Visar 22/01/12 23:58
o rozdzielczości 80 x 25 bierze dane z obszaru pamięci $b800:$0000, więc w Pascalu możesz sobie zdefiniować tablicę:
ekran : array[0..4000] of byte absolute $b800:$0000;
i teraz możesz pisać bezpośrednio po pamięci ekranu. Wstawienie znaku na współrzędnych 80 x 25 wygląda tak:
ekran[24 * 160 + 79 * 2] := Ord('x');
gdzie x to znak do wyświetlenia, 24 numer wiersza (liczony od 0), 79 numer kolumny (również liczony od zera)
Linia ma 160 znaków, ponieważ w pamięci ekranu za każdy znak odpowiadają 2 bajty, piewszy to kod znaku, drugi to atrybuty (kolor znaku - bity 0 - 3, kolor tła - bity 4 - 6, miganie - bit 7)Visar - dzięki , Chrisu 23/01/12 10:29
chyba i tak nici z tego. w "nowszych" kompilatorach (nie TP) bezpośredni zapis do pamięci jest wyłączony :/ /// GG# 1 110 10 10 11 100 10 \\\
|
|
|
|
|
All rights reserved ® Copyright and Design 2001-2024, TwojePC.PL |
|
|
|
|