mlodymichal1990 Temat założony przez niniejszego użytkownika  | 
console.ddt skąd pobrać? » 2016-06-13 02:01:34 Podobne pytania padały już na tym forum, ale ok. 8 lat temu. Znalazłem kilka linków, ale albo nie działają albo nie mam dostępu albo kierują na stronę firmy DDT administratora i tam też nie widzę, żeby dało się ściągnąć. Proszę o pomoc.  | 
 | 
pekfos  | 
» 2016-06-13 12:15:10 Więc najprawdopodobniej już nie istnieje. RIP console.ddt. Może admin to jeszcze gdzieś ma, albo jakiś randomowy user starszej daty. W każdym razie niewielka strata, to w większości były funkcje opakowujące parę wywołań z WinAPI. //edit: Jeśli koniecznie już musisz robić stary kurs, to masz tu na szybko zamiennik  #pragma once #ifndef LIBDDT_CONSOLE_H #define LIBDDT_CONSOLE_H
  #include <windows.h>
 
  namespace ddt {     namespace console     {         inline void clrscr()         {             COORD coordStart = { 0, 0 };             DWORD dwCharsWr;             CONSOLE_SCREEN_BUFFER_INFO csbi;             HANDLE console = GetStdHandle( STD_OUTPUT_HANDLE );             GetConsoleScreenBufferInfo( console, & csbi );             DWORD dwConSize = csbi.dwSize.X * csbi.dwSize.Y;             FillConsoleOutputCharacter( console,( TCHAR ) ' ', dwConSize, coordStart, & dwCharsWr );             FillConsoleOutputAttribute( console, csbi.wAttributes, dwConSize, coordStart, & dwCharsWr );             SetConsoleCursorPosition( console, coordStart );         }                  inline void gotoxy( int _x, int _y )         {             COORD pos = { _x, _y };             SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), pos );         }                  inline int wherex()         {             CONSOLE_SCREEN_BUFFER_INFO csbi;             GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), & csbi );             return csbi.dwCursorPosition.X;         }                  inline int wherey()         {             CONSOLE_SCREEN_BUFFER_INFO csbi;             GetConsoleScreenBufferInfo( GetStdHandle( STD_OUTPUT_HANDLE ), & csbi );             return csbi.dwCursorPosition.Y;         }                  inline void textattr( int _color )         {             SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), _color );         }                  inline void textcolor( int _color )         {             CONSOLE_SCREEN_BUFFER_INFO csbi;             HANDLE console = GetStdHandle( STD_OUTPUT_HANDLE );             GetConsoleScreenBufferInfo( console, & csbi );             SetConsoleTextAttribute( console,( csbi.wAttributes & 0xF0 ) |( _color & 0x0F ) );                      }                  inline void textbackground( int _color )         {             CONSOLE_SCREEN_BUFFER_INFO csbi;             HANDLE console = GetStdHandle( STD_OUTPUT_HANDLE );             GetConsoleScreenBufferInfo( console, & csbi );             SetConsoleTextAttribute( console,( csbi.wAttributes & 0x0F ) |( _color & 0x0F ) << 4 );         }              }  } 
  #endif  
 
  | 
 | 
jankowalski25  | 
» 2016-06-13 16:11:16  | 
 | 
mlodymichal1990 Temat założony przez niniejszego użytkownika  | 
» 2016-06-14 01:21:38 Dziękuję bardzo za odpowiedzi! Oba rozwiązania działają bardzo podobnie, różnią się niuansami, np. zmianą tytułu konsoli, ogarnąłem i rozkminiłem co i jak. Jedyne, czego nie rozumiem, to dlaczego funkcja wherey() zawsze mi zwraca wartość 1, gdziekolwiek bym kursora nie ustawił.  | 
 | 
pekfos  | 
» 2016-06-14 13:06:58 To zwraca numer wiersza. Na pewno masz na myśli kursor konsoli? Nie powinieneś użyć wherex()?  | 
 | 
mlodymichal1990 Temat założony przez niniejszego użytkownika  | 
» 2016-06-14 13:34:24 wherex() zwraca mi to, co trzeba. Jeżeli konsola ma wymiar 80x25, to: 1) wherex() powinno zwracać wartość od 0 do 79 (czy 1 do 80, nieistotne w tym momencie) i tak zwraca, w zależności od tego, gdzie kursor ustawię, tu wszystko OK, 2) wherey() analogicznie powinna zwracać wartość 1 do 25 , a tymczasem zawsze mam 1, bez względu na użycie gotoxy , endl czy "\n". Pewnie coś źle rozumuję, ale nie kminię działania wherey().  | 
 | 
pekfos  | 
» 2016-06-14 16:29:44 Podaj przykładowy kod, który nie działa jak trzeba.  | 
 | 
mlodymichal1990 Temat założony przez niniejszego użytkownika  | 
» 2016-06-14 18:13:57 Już działa, sam znalazłem błąd. Zapomniałem () i robiłem instrukcję "wherey" zamiast "wherey()" i dlatego wyrzucało 1. Poprawiłem i działa prawidłowo.  | 
 | 
|  « 1 »  |