Помощ - Търси - Регистрирани - Календар
Пълна версия: 'gotoxy()' in BCC5.02
UniBG Forums > Дискусии > Dexter's Lab > Програмиране
guest
Здравейте! Как да разбера първия и втория аргумент къде точно се позиционират? Как са разпределени позициите в ДОС прозореца? Благодаря предварително!
Примерно:
CODE
for(int q = i; q < j; q++){ gotoxy(q,q+1);cout << ".";}

, при i = 20, j = 30, се изчертава нещо такова:
CODE
                   .
                     .
                       .
                         .....
?
int21h
Първия символ на първия ред е X=1, Y=1 (най-горе, най-в-ляво).
Първия символ на втория ред е X=1, Y=2
Най-долу, най-в-дясно е X=80, Y=25 (най-често DOS екрана е в режим 25 реда, 80 колони).

При изписването на символ, курсора се измества една позиция в дясно. Когато запишеш символ на позиция X=80 Y=25, изместването на куроса ще предизвика скролване на екрана с един ред нагоре. При което няма да виждаш написаното на първия ред, а последния ред ще бъде празен.

За записване на последния символ на екрана можеш да ползваш puttext, която приема като параметри позицията на екрана и 16 бита - 8 бита за ASCII символа, 4 бита за цвета на текста и 4 бита за света на фона на текста.

Всички останали позиции на екрана можеш да си ги пишеш с gotoxy и cout/printf/cprintf.

За да добиеш по-добра представа компилирай тази програма и тествай с различни стойности.
CODE
#include <conio.h>
#include <stdio.h>

void main()
{
  char Input[ 128 ];
  int X, Y;
  while( ( X < 1 ) || ( X > 80 ) )
  {
    printf( "Enter X (1-80): " );
    gets( Input );
    X = atoi( Input );
  }
  while( ( Y < 1 ) || ( Y > 25 ) )
  {
    printf( "Enter Y (1-25): " );
    gets( Input );
    Y = atoi( Input );
   }
   clrscr();
   gotoxy( X, Y );
   printf( "A" );
   getch();
}
Гост
Благодаря ти много! Но само за тази функция 'puttext()' не можах да разбера за параметрите. И от къде мога да видя за кодовете на цветовете?
Error: proj0000.cpp(25,24):Too few parameters in call to 'puttext(int,int,int,int,void *)'
int21h
QUOTE(Гост @ Oct 15 2007, 01:02 AM) *
Благодаря ти много! Но само за тази функция 'puttext()' не можах да разбера за параметрите. И от къде мога да видя за кодовете на цветовете?
Error: proj0000.cpp(25,24):Too few parameters in call to 'puttext(int,int,int,int,void *)'


Погледни help-а, там има много добро обяснение придружено с примери. Също така можеш да използваш Google.

google.com/search?q=puttext+example

Първия линк от резултатите ти върши работа.
Това е семпла версия на форума. За да видиш пълната версия, която има повече информация, по-добра подредба и снимки, натисни тук.
Invision Power Board © 2001-2008 Invision Power Services, Inc.