Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Szukam konsoli

Ostatnio zmodyfikowano 2011-04-22 19:31
Autor Wiadomość
absflg
Temat założony przez niniejszego użytkownika
Szukam konsoli
» 2011-04-22 13:54:14
Poszukuję jak najbardziej przenośnej biblioteki pozwalającej na manipulację konsolą lub jakimkolwiek tworem wyświetlającym okno z czcionką stałej szerokości. Koniecznie z możliwością zmiany koloru znaków i ich tła, i możliwością przeniesienia kursora w dowolne jej miejsce. Może mi ktoś coś polecić.
P-31627
ison
» 2011-04-22 14:23:32
P-31628
pekfos
» 2011-04-22 16:27:19
pod windows, PDcurses lub WinAPI (ale wtedy tylko dla windows)
P-31643
absflg
Temat założony przez niniejszego użytkownika
» 2011-04-22 19:31:57
Jak duże są różnice między Ncurses a PDcurses?

//EDIT
Rozwiązałem problem związany z polskimi znakami. Konwertując stringi na tablice chtype* można stosować Unicode i stosować funkcję opisane w dokumentacji PDcurses w grupie addchstr.

I mój kod na konwersję wpisanych w program char* na chtype*:
C/C++
chtype * PL( const char * text )
{
    chtype * wynik;
    int rozmiar;
    for( rozmiar = 0; text[ rozmiar ]; rozmiar++ ); //ustalanie rrozmieru stringu
   
    wynik = new chtype[ rozmiar + 1 ];
   
    for( int I = 0; I < rozmiar; I++ ) {
        switch( text[ I ] ) {
        case 'ą': wynik[ I ] = 261; break;
        case 'ć': wynik[ I ] = 263; break;
        case 'ę': wynik[ I ] = 281; break;
        case 'ł': wynik[ I ] = 322; break;
        case 'ń': wynik[ I ] = 324; break;
        case 'ó': wynik[ I ] = 243; break;
        case 'ś': wynik[ I ] = 347; break;
        case 'ź': wynik[ I ] = 379; break;
        case 'ż': wynik[ I ] = 381; break;
           
        case 'Ą': wynik[ I ] = 260; break;
        case 'Ć': wynik[ I ] = 262; break;
        case 'Ę': wynik[ I ] = 280; break;
        case 'Ł': wynik[ I ] = 321; break;
        case 'Ń': wynik[ I ] = 323; break;
        case 'Ó': wynik[ I ] = 211; break;
        case 'Ś': wynik[ I ] = 346; break;
        case 'Ź': wynik[ I ] = 377; break;
        case 'Ż': wynik[ I ] = 380; break;
        default: wynik[ I ] =( int ) text[ I ];
        }
    }
    wynik[ rozmiar ] = NULL;
    return wynik;
}

P-31665
« 1 »
  Strona 1 z 1