Advertisement
Astranome

TVOUTRUS

Jun 16th, 2020
342
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.95 KB | None | 0 0
  1. #include <TVout.h>
  2. #include <fontALL.h>
  3. TVout TV;
  4.   int a;
  5. void setup() {
  6.  
  7.    TV.begin(PAL, 132, 92);  //, 132, 92
  8.    TV.select_font(font8x8ext);
  9.  
  10.   TV.draw_rect(0,0,TV.hres()-1,TV.vres()-1,WHITE);
  11.   TV.draw_line(0,20,TV.hres()-1,20, WHITE);
  12.   print_rus(10,30, "АБВГДЕЁЖЗИЙКЛМНО");
  13.   print_rus(10,40, "ПРСТУФХЦЧШЩЪЫЬЭЮЯЄЇ");
  14.   print_rus(10,50, "HELLO WORLD");
  15.   print_rus(10,60, "А могу и не заглавными");
  16.  
  17.  
  18. }
  19.  
  20. void print_rus(int x, int y, char *str) { // процедура вывода русских букв
  21.  static char rus_letters[] = {'А','Б','В','Г','Д','Е','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','Є','а','б','в','г','д','е','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я'};
  22.   static char trans_letters[] = {'A',char(163),'B',char(173),char(167),'E',char(234),char(244),char(184),char(190),'K',char(209),'M','H','O',char(221),'P','C','T',char(232),char(171),'X',char(165),char(252),char(246),char(250),char(159),char(242),char(238),char(248),char(157),char(224),char(135),'a',char(162),char(235),char(172),char(166),char(168),char(233),char(243),char(183),char(189),char(198),char(208),char(210),char(212),char(214),char(216),char(225),'c',char(229),char(231),char(170),char(181),char(164),char(251),char(245),char(249),char(158),char(241),char(237),char(247),char(156),char(222)};
  23.   int lcount = sizeof(rus_letters)/sizeof(char), i, j;
  24.   for( i=0; i<strlen(str); i++ ) {
  25.     if( (byte(str[i]) == 208 and byte(str[i+1]) != 208) or (byte(str[i]) == 209 and byte(str[i+1]) != 209)) continue; // 208 209 игнор, первый байт UTF8
  26.     bool found = false;
  27.     for(j=0; j < lcount; j++) if( byte(str[i]) == byte(rus_letters[j]) ) {TV.print(x,y,trans_letters[j]); found = true; break;}
  28.     if (!found) TV.print(x,y,(str[i]));
  29.     x+=8;
  30.   }
  31. }
  32.  void loop ( )
  33.  {
  34.   a=a+1;        
  35.   TV.clear_screen ( );
  36.    
  37.   TV.println( 10, 10, a ); // в этой строчке можно добавить свой текст закрыв его в кавычки
  38.     TV.delay ( 600 );
  39.      
  40.  
  41.  TV.clear_screen ( );
  42.              
  43. print_rus( 10, 20, "Получилось?Или нн получилось!" ); // в этой строчке можно добавить свой текст закрыв его в кавычки
  44.    
  45.    TV.delay ( 600 );
  46.  
  47.  TV.clear_screen ( );
  48.  
  49. TV.println ( 10, 10, "ASTRA.org.ru" ); // в этой строчке можно добавить свой текст закрыв его в кавычки
  50.  
  51. TV.delay ( 600 );
  52.  
  53.  }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement