to get the file
Transkrypt
to get the file
Laboratorium nr 2 Instrukcja laboratoryjna 2 1) 1/3 Programowanie w języku C 2 Temat: Wyświetlanie i wprowadzanie znaków Przygotował: mgr inż. Maciej Lasota, mgr inż. Mariusz Wiśniewski Wyświetlanie znaków Wyróżniamy trzy klasy (typy) funkcji służących do wyświetlania znaków w ncurses. • funkcje typu addch (ang. add character), • funkcje typu printw, • funkcje typu addstr (ang. add string). Addch są to funkcje wyświetlające pojedynczy znak na obszarze rysowania lub w podanym oknie w zależności od atrybutu. Funkcje printw wyświetlają sformatowany ciąg znaków (identycznie jak funkcja printf()). Ostatni typ funkcji addstr wyświetla ciąg znaków zakończony '\0'. 1.1) Funkcje addch() • addch(…) - wyświetla pojedynczy znak w miejscu znajdowania się kursora. • waddch(…) - wyświetla pojedynczy znak w miejscu znajdowania się kursora w podanym oknie. Powyższe funkcje występują w odmianach mvwaddch() i mvaddch(). Przykład: char znak='D'; addch(znak); addch(znak | A_BOLD | A_UNDERLINE); WINDOW *okno; okno = newwin(10, 20, 2, 2); waddch(okno, znak); waddch(okno, znak | A_BOLD | A_UNDERLINE); Laboratorium nr 2 2/3 Atrybuty (wybrane) jakie mogą przyjmować funkcje z rodziny addch: A_REVERSE - znak w negatywie A_NORMAL - standard A_BOLD - wytłuszczenie (rozjaśnienie) A_BLINK - migotanie A_UNDERLINE - podkreślenie A_DIM – przyciemnienie 1.2) • Funkcje printw() printw(…) - wyświetla sformatowany ciąg znaków w miejscu znajdowania się kursora. • wprintw(…) - wyświetla sformatowany ciąg znaków w miejscu znajdowania się kursora w podanym oknie. Powyższe funkcje występują w odmianach mvwprintw() i mvprintw(). Przykład: int liczba = 5; char imie[]= ”zosia”; WINDOW *okno; okno = newwin(10, 20, 2, 2); printw(”Oto sformatowany tekst imie: %s długosc: %d\n”,imie,strlen(imie)); wprintw(okno,”Wyswietlam imie: %s\n”, imie); 1.3) Funkcje addstr() • addstr(…) - wyświetla ciąg znaków w miejscu znajdowania się kursora. • waddstr(…) - wyświetla ciąg znaków w miejscu znajdowania się kursora w podanym oknie. Powyższe funkcje występują w odmianach mvwaddstr() i mvaddstr(). Laboratorium nr 2 2) 3/3 Wprowadzanie znaków Wyróżniamy trzy klasy (typy) funkcji służących do wczytywania znaków w ncurses. • funkcje typu getch (ang. get character), • funkcje typu scanw, • funkcje typu getstr (ang. get string). Funkcje getch służą do wczytywania pojedynczego znaku. Funkcje scanw wczytują sformatowany ciąg znaków (identycznie jak funkcja scanf()). Ostatni typ funkcji getstr wczytuje ciąg znaków i zapisuje go do podanej jako parametr tablicy. • getch() - odczytuje znak z klawiatury i umieszcza go w miejscu kursora w bieżącym oknie, • wgetch() - odczytuje znak z klawiatury i umieszcza go w miejscu kursora w określonym oknie, • mvgetch() - odczytuje znak z klawiatury i umieszcza go w pozycji (y, x), • getstr() - odczytuje ciąg znaków z klawiatury i umieszcza go w podanej tablicy, • wgetstr() - odczytuje ciąg znaków z klawiatury i umieszcza go w podanej tablicy, w określonym oknie, • scanw() - odczytuje sformatowany ciąg znaków z klawiatury i umieszcza go w miejscu kursora w bieżącym oknie, • wscnaw() - odczytuje sformatowany ciąg znaków z klawiatury i umieszcza go w miejscu kursora w określonym oknie. 3) Dodatkowe funkcje • echo() - wywołanie funkcji spowoduje, że wprowadzane znaki będą widoczne, • noecho() - wywołanie funkcji spowoduje, że wprowadzane znaki NIE będą widoczne, • nodelay(okno, 1) - powyższe wywołanie funkcji powoduje, że funkcja getch NIE oczekuje na znak, • nodelay(okno, 0) - powyższe wywołanie funkcji powoduje, że funkcja getch oczekuje na znak (program jest wstrzymywany).