Авторизация  


   

Свежие обсуждения  

Читать подробнее »

   
Подождите минутку, пока генерируется календарь
   

Комментарии блогов  

Josef Vilka Напечатанная на принтере подставка под ноутбук
29 января 2021
Сделал уже вторую подставку подобного рода - для графического планшета. Очень профессионально получи...
neejik Напечатанная на принтере подставка под ноутбук
03 января 2021
Ничего подобного самостоятельно не делал. По работе было не обходимо, обратился за 3d печатью к проф...
Josef Vilka Что делать если выскакивает реклама на андроид?
29 марта 2019
Планшет - снова жив! Я его восстановил. Процесс - вот в этом видео - https://www.youtube.com/watch?v...
Josef Vilka Что делать если выскакивает реклама на андроид?
22 февраля 2019
В общем - планшет - умер. Я подскользнулся и упал на него
Josef Vilka Что делать если выскакивает реклама на андроид?
28 августа 2018
Продолжение эпопеи! Очередное мое письмо производителю: ------------------------------ From: Josef V...
   

Пользователи on-line  

   

Блоги пользователей портала РЛС

Каждый зарегистрированный пользователь имеет возможность вести свой персональный блог. Кто-то этим пользуется, кто-то - нет. Это личный выбор каждого...

Я помню, как все начиналось... А ты?

Я помню, как все начиналось... А ты?

Я помню, как все начиналось... Это было давно. Настолько давно, что пришлось посмотреть дату создания исходного ролика. Вертолет с двигателем внутреннего сгорания(ДВС), работающий на метанольном топливе Raptor 30V2 от компании Thunder Tiger.

Конечно же мне не терпелось и времени на осваивание управления вертолетом я не выделил. Ну, в дОлжной мере. Итог - печальный - зарулился и влетел в ремонт. На то время - можно сказать, что отделался легким испугом. Я на тот момент еще не знал, какие ужасные травмы и последствия могут быть причинены вертолетом. Тем более - таких размеров...

После этого - приобрел нормальные тренировочные шасси. И хотя на симуляторе я так и не летал необходимое время, но уже начал после этого случая потихоньку к нему подходить. Итог - у меня больше не было до сегодняшнего дня таких глупых крешей. Надеюсь, что и в дальнейшем - не будет. А вертолет - жив и сейчас. правда, я не летаю на нем уже два года в связи с войной соседей против нашей страны. Но война не может быть вечной, а значит - верт еще полетает.

И да - исходный ролик мне сказал, что это был 2008-й год... Именно этот год можно считать годом рождения и этого сайта - тоже... :)

Продолжить чтение
  2194 просмотров
  0 Комментариев

Опыт борьбы с необычным медиа-вирусом на компе

Два дня и ночь бился с однотипным вирусом, который хватанули все три домашних компа почти одновременно... Суть в том, что происходит иногда при серфинге переадресация на левую страницу с типа обновлением флеш плеера или на странице со встроенным плеером вместо видео вывешивается рекламный баннер. Уж что я ни делал - и обновлял антивирусник, и чистил темпы и куки, и переустанавливал Хром, и удалял учетки и создавал их заново. В финале - я вообще докатился до того, что качнул пару других антивирусов, которые типа понаходили вирусы на компах, НО - все равно - ничего не помогло. При открытии страницы моего сайта со встроенным плеером вместо видео - опять появлялся баннер с какой-то фигней.
И тут - меня осенило.
Сброс роутера на заводские настройки(ведь для роутеров нет антивирусов ) - вернул мне быстрый инет и спокойные нервы по поводу просмотра страниц инета и наличия вирусов на компах. Делов-то - на 10 минут(с учетом сброса и перенастройки роутера). Во как бывает...
Мой опыт пополнился еще одним прецедентом...
Так что знайте - если у вас на компах вдруг появились непонятные симптомы - не спешите заниматься мазохизмом и проверять компы на вирусы - просто сбросьте роутер на заводские настройки и заново настройте интернет-подключение... Рецепт - бесплатен :)

 

Продолжить чтение
  1939 просмотров
  0 Комментариев

Летающая пуговица... Прерванный полет...

Давно... Когда-то... Занимался... Вот не терпелось мне... Пенопласт специально покупал... Деньги тратил... Вот не мог мозгами подумать, что с законами физики даже при придании нужной определенной формы - ничего не происходит... Парусность -не теряется, а масса - не исчезает...
Ну, "опыт - сын ошибок трудных и гений - парадоксов друг"

И Случай, бог изобретатель.... Летающей пуговицы...

Продолжить чтение
  2420 просмотров
  0 Комментариев

Фестиваль радиоуправляемых зальных моделей в Трускавце

Пригласили меня на фестиваль радиоуправляемых зальных моделей в Трускавце. Мероприятие проходило в спортзале гостиницы "Карпаты". От Львова до Трускавца - около часа езды по довольно хорошей дороге. Правда, когда съезжаешь со Стрыйской трассы - дорога становится хуже, он оно и понятно - ведь не международного значения она становится...

Я взял всех своих и выдвинулись, как обычно, с опозданием... Ну, у меня - это нормальная семейная традиция. Однако, как выяснилось - не только мы опаздывать любим, поэтому мы приехали как раз перед официальным открытием. Хотя ребята - пилоты - уже активно "разминались".

Было много конкурсов - и гонка, и бомбометание, и пролет в ворота, и охота за шарами. Так же в обязательную программу входил фристайл и этап по исполнению обязательных фигур. Порадовали и модели "злых птиц". Когда они летают не по одной, а группой - это смотрится в разы зрелищнее. Пожалуй, я даже жалею, что я взял и свою птицу, но не стал летать. А с другой стороны - тогда бы я не смог снять то видео, которое предлагаю сейчас к просмотру.

Итак, общая нарезочка с фестиваля:

Если кто внимательно послушает, то может расслышать довольно интересное сочетание слов и звуков. Говорю сразу - именно так и называется музыкальная композиция и я знаю об этом. Но она - довольно неплохо подходит под видеоряд(на мой взгляд), поэтому я ее и использовал.

Продолжить чтение
  2250 просмотров
  0 Комментариев

Выводим русские символы на MAX7219 модуль бегущей строки Ардуино

Не так давно я купил себе Arduio Uno и панель из четырех MAX7219 модулей бегущей строки для Ардуино.

 

Обошлось это не так много денег и покупалось конечно же, на ebay. Кстати, если кто не знает, как покупать на данном аукционе - пишите - разъясню.

 

Итак, берем вот эту планку из четырех модулей и сам микроконтроллер. У меня есть только Arduio Uno.

b2ap3 thumbnail Ardu Ukrb2ap3 thumbnail Ardu back

Берем пять проводков различного цвета(для удобства и чтобы не перепутать контакты) и подключаем эту планочку всего лишь с помощью пяти проводков напрямую к платке Arduio Uno вот по этой схемке

b2ap3_thumbnail_max7219_schema1.png

Получаем вот такую картину.


 

b2ap3_thumbnail_Arduino-uno.JPGb2ap3_thumbnail_Panel.JPG

Ну, а Arduio Uno подключаем по USB-порту к помпьютеру

.b2ap3_thumbnail_Ardu-la-la.JPG

Далее, взяв оболочку, скачав и сохранив в соответствующей папке библиотеку LedControl.h (вот отсюда),  и правильно выставив порт и модель, на котором находится ваша Arduio Uno - можно приниматься за сам скетч(так называется текст самой программки)

 

Он довольно не сложен и интуитивно понятен даже такому новичку в этом деле, как я .

 

Можно просто скопировать нижеприведенный "листинг" и вставить в свою оболочку Ардуино, после чего откомпилировать и загрузить его в контроллер.

 

Получим на выходе вот такую красивую и приятную штуку.

 

 

В отличие от других "листингов" на других сайтах - данный - 100% рабочий!

 

Если не догадались - что где писать и куда вставлять - пишите в комментариях вопросы, я с удовольствием отвечу.

 


 

#include <avr/pgmspace.h>

#include

 

const int numDevices = 4;      // number of MAX7219s used

const long scrollDelay = 75;   // adjust scrolling speed

 

unsigned long bufferLong [14] = {0};

 

LedControl lc=LedControl(12,11,10,numDevices);

 

const unsigned char scrollText[] PROGMEM ={" CKFDF ERHFBYT! UTHJZV CKFDF! GENBY-{EQKJ! Kf-kf-kf-kf... "};

 

void setup(){

for (int x=0; x<numDevices; x++){

lc.shutdown(x,false);       //The MAX72XX is in power-saving mode on startup

lc.setIntensity(x,8);       // Set the brightness to default value

lc.clearDisplay(x);         // and clear the display

}

}

 

void loop(){

scrollMessage(scrollText);

//    scrollFont();

}

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

const unsigned char font5x7 [] PROGMEM = {      //Numeric Font Matrix (Arranged as 7x font data + 1x kerning data)

B00000000,  //Space (Char 0x20)

B00000000,

B00000000,

B00000000,

B00000000,

B00000000,

B00000000,

6,

 

B10000000,  //!

B10000000,

B10000000,

B10000000,

B00000000,

B00000000,

B10000000,

2,

 

B10100000,  //"

B10100000,

B10100000,

B00000000,

B00000000,

B00000000,

B00000000,

4,

 

B01010000,  //#

B01010000,

B11111000,

B01010000,

B11111000,

B01010000,

B01010000,

6,

 

B00100000,  //$

B01111000,

B10100000,

B01110000,

B00101000,

B11110000,

B00100000,

6,

 

B11000000,  //%

B11001000,

B00010000,

B00100000,

B01000000,

B10011000,

B00011000,

6,

 

B01100000,  //&

B10010000,

B10100000,

B01000000,

B10101000,

B10010000,

B01101000,

6,

 

B11000000,  //'

B01000000,

B10000000,

B00000000,

B00000000,

B00000000,

B00000000,

3,

 

B00100000,  //(

B01000000,

B10000000,

B10000000,

B10000000,

B01000000,

B00100000,

4,

 

B10000000,  //)

B01000000,

B00100000,

B00100000,

B00100000,

B01000000,

B10000000,

4,

 

B00000000,  //*

B00100000,

B10101000,

B01110000,

B10101000,

B00100000,

B00000000,

6,

 

B00000000,  //+

B00100000,

B00100000,

B11111000,

B00100000,

B00100000,

B00000000,

6,

 

B00000000,  //,

B00000000,

B00000000,

B00000000,

B11000000,

B01000000,

B10000000,

3,

 

B00000000,  //-

B00000000,

B00000000,

B11111000,

B00000000,

B00000000,

B00000000,

6,

 

B00000000,  //.

B00000000,

B00000000,

B00000000,

B00000000,

B11000000,

B11000000,

3,

 

B00000000,  ///

B00001000,

B00010000,

B00100000,

B01000000,

B10000000,

B00000000,

6,

 

B01110000,  //0

B10001000,

B10011000,

B10101000,

B11001000,

B10001000,

B01110000,

6,

 

B01000000,  //1

B11000000,

B01000000,

B01000000,

B01000000,

B01000000,

B11100000,

4,

 

B01110000,  //2

B10001000,

B00001000,

B00010000,

B00100000,

B01000000,

B11111000,

6,

 

B11111000,  //3

B00010000,

B00100000,

B00010000,

B00001000,

B10001000,

B01110000,

6,

 

B00010000,  //4

B00110000,

B01010000,

B10010000,

B11111000,

B00010000,

B00010000,

6,

 

B11111000,  //5

B10000000,

B11110000,

B00001000,

B00001000,

B10001000,

B01110000,

6,

 

B00110000,  //6

B01000000,

B10000000,

B11110000,

B10001000,

B10001000,

B01110000,

6,

 

B11111000,  //7

B10001000,

B00001000,

B00010000,

B00100000,

B00100000,

B00100000,

6,

 

B01110000,  //8

B10001000,

B10001000,

B01110000,

B10001000,

B10001000,

B01110000,

6,

 

B01110000,  //9

B10001000,

B10001000,

B01111000,

B00001000,

B00010000,

B01100000,

6,

 

B00000000,  //:

B11000000,

B11000000,

B00000000,

B11000000,

B11000000,

B00000000,

3,

 

B00000000,  //;

B11000000,

B11000000,

B00000000,

B11000000,

B01000000,

B10000000,

3,

 

B00010000,  //<

B00100000,

B01000000,

B10000000,

B01000000,

B00100000,

B00010000,

5,

 

B00000000,  //=

B00000000,

B11111000,

B00000000,

B11111000,

B00000000,

B00000000,

6,

 

B10000000,  //>

B01000000,

B00100000,

B00010000,

B00100000,

B01000000,

B10000000,

5,

 

B01110000,  //?

B10001000,

B00001000,

B00010000,

B00100000,

B00000000,

B00100000,

6,

 

B01110000,  //@

B10001000,

B00001000,

B01101000,

B10101000,

B10101000,

B01110000,

6,

 

B01110000,  //A

B10001000,

B10001000,

B10001000,

B11111000,

B10001000,

B10001000,

6,

 

B10001000,  //B(И)

B10001000,

B10011000,

B10101000,

B11001000,

B10001000,

B10001000,

6,

 

B01110000,  //C

B10001000,

B10000000,

B10000000,

B10000000,

B10001000,

B01110000,

6,

 

B11110000,  //D(В)

B10001000,

B10001000,

B11110000,

B10001000,

B10001000,

B11110000,

6,

 

B10001000,  //E(У)

B10001000,

B10001000,

B11111000,

B00001000,

B00001000,

B01110000,

6,

 

B01110000,  //F(А)

B10001000,

B10001000,

B10001000,

B11111000,

B10001000,

B10001000,

6,

 

B11111000,  //G(П)

B10001000,

B10001000,

B10001000,

B10001000,

B10001000,

B10001000,

6,

 

B11110000,  //H(Р)

B10001000,

B10001000,

B11110000,

B10000000,

B10000000,

B10000000,

6,

 

B11100000,  //I

B01000000,

B01000000,

B01000000,

B01000000,

B01000000,

B11100000,

4,

 

B01110000,  //J(О)

B10001000,

B10001000,

B10001000,

B10001000,

B10001000,

B01110000,

6,

 

B00111000,  //K(Л)

B01001000,

B01001000,

B01001000,

B01001000,

B01001000,

B10001000,

6,

 

B10000000,  //L

B10000000,

B10000000,

B10000000,

B10000000,

B10000000,

B11111000,

6,

 

B10001000,  //M

B11011000,

B10101000,

B10101000,

B10001000,

B10001000,

B10001000,

6,

 

B11111000,  //N(Т)

B00100000,

B00100000,

B00100000,

B00100000,

B00100000,

B00100000,

6,

 

B01110000,  //O

B10001000,

B10001000,

B10001000,

B10001000,

B10001000,

B01110000,

6,

 

B11110000,  //P

B10001000,

B10001000,

B11110000,

B10000000,

B10000000,

B10000000,

6,

 

B01110000,  //Q(Й)

B10001000,

B10011000,

B10101000,

B11001000,

B10001000,

B10001000,

6,

 

B10001000,  //R(К)

B10010000,

B10100000,

B11000000,

B10100000,

B10010000,

B10001000,

6,

 

B01111000,  //S

B10000000,

B10000000,

B01110000,

B00001000,

B00001000,

B11110000,

6,

 

B11111000,  //T(Е)

B10000000,

B10000000,

B11110000,

B10000000,

B10000000,

B11111000,

6,

 

B11111000,  //U(Г)

B10001000,

B10000000,

B10000000,

B10000000,

B10000000,

B10000000,

6,

 

B10001000,  //V(М)

B11011000,

B10101000,

B10001000,

B10001000,

B10001000,

B10001000,

6,

 

B10001000,  //W

B10001000,

B10001000,

B10101000,

B10101000,

B10101000,

B01010000,

6,

 

B10001000,  //X

B10001000,

B01010000,

B00100000,

B01010000,

B10001000,

B10001000,

6,

 

B10001000,  //Y(Н)

B10001000,

B10001000,

B11111000,

B10001000,

B10001000,

B10001000,

6,

 

B01111000,  //Z(Я)

B10001000,

B10001000,

B01111000,

B00101000,

B01001000,

B10001000,

6,

 

B00000000,  //[(х)

B00000000,

B10001000,

B01010000,

B00100000,

B01010000,

B10001000,

6,

 

B00000000,  //(Backward Slash)

B10000000,

B01000000,

B00100000,

B00010000,

B00001000,

B00000000,

6,

 

B11100000,  //]

B00100000,

B00100000,

B00100000,

B00100000,

B00100000,

B11100000,

4,

 

B00100000,  //^

B01010000,

B10001000,

B00000000,

B00000000,

B00000000,

B00000000,

6,

 

B00000000,  //_

B00000000,

B00000000,

B00000000,

B00000000,

B00000000,

B11111000,

6,

 

B10000000,  //`

B01000000,

B00100000,

B00000000,

B00000000,

B00000000,

B00000000,

4,

 

B00000000,  //a

B00000000,

B01110000,

B00001000,

B01111000,

B10001000,

B01111000,

6,

 

B00000000,  //b(и)

B00000000,

B10001000,

B10011000,

B10101000,

B11001000,

B10001000,

6,

 

B00000000,  //c

B00000000,

B01110000,

B10001000,

B10000000,

B10001000,

B01110000,

6,

 

B00001000,  //d

B00001000,

B01101000,

B10011000,

B10001000,

B10001000,

B01111000,

6,

 

B00000000,  //e(у)

B00000000,

B10001000,

B10001000,

B11111000,

B00001000,

B01110000,

6,

 

B00000000,  //f(а)

B00000000,

B01110000,

B00001000,

B01111000,

B10001000,

B01111000,

6,

 

B00000000,  //g(п)

B00000000,

B11110000,

B10001000,

B10001000,

B10001000,

B10001000,

6,

 

B10000000,  //h

B10000000,

B10110000,

B11001000,

B10001000,

B10001000,

B10001000,

6,

 

B01000000,  //i

B00000000,

B11000000,

B01000000,

B01000000,

B01000000,

B11100000,

4,

 

B00000000,  //j(о)

B00000000,

B01110000,

B10001000,

B10001000,

B10001000,

B01110000,

6,

 

B00000000,  //k(л)

B00000000,

B00111000,

B01001000,

B01001000,

B01001000,

B10001000,

6,

 

B11000000,  //l

B01000000,

B01000000,

B01000000,

B01000000,

B01000000,

B11100000,

4,

 

B00000000,  //m

B00000000,

B11010000,

B10101000,

B10101000,

B10001000,

B10001000,

6,

 

B00000000,  //n(т)

B00000000,

B11111000,

B00100000,

B00100000,

B00100000,

B00100000,

6,

 

B00000000,  //o

B00000000,

B01110000,

B10001000,

B10001000,

B10001000,

B01110000,

6,

 

B00000000,  //p

B00000000,

B11110000,

B10001000,

B11110000,

B10000000,

B10000000,

6,

 

B00000000,  //q(й)

B01110000,

B10001000,

B10011000,

B10101000,

B11001000,

B10001000,

6,

 

B00000000,  //r

B00000000,

B10110000,

B11001000,

B10000000,

B10000000,

B10000000,

6,

 

B00000000,  //s

B00000000,

B01110000,

B10000000,

B01110000,

B00001000,

B11110000,

6,

 

B01000000,  //t

B01000000,

B11100000,

B01000000,

B01000000,

B01001000,

B00110000,

6,

 

B00000000,  //u

B00000000,

B10001000,

B10001000,

B10001000,

B10011000,

B01101000,

6,

 

B00000000,  //v

B00000000,

B10001000,

B10001000,

B10001000,

B01010000,

B00100000,

6,

 

B00000000,  //w

B00000000,

B10001000,

B10101000,

B10101000,

B10101000,

B01010000,

6,

 

B00000000,  //x

B00000000,

B10001000,

B01010000,

B00100000,

B01010000,

B10001000,

6,

 

B00000000,  //y(н)

B00000000,

B10001000,

B10001000,

B11111000,

B10001000,

B10001000,

6,

 

B00000000,  //z

B00000000,

B11111000,

B00010000,

B00100000,

B01000000,

B11111000,

6,

 

B10001000,  //{(Х)

B10001000,

B01010000,

B00100000,

B01010000,

B10001000,

B10001000,

6,

 

B10000000,  //|

B10000000,

B10000000,

B10000000,

B10000000,

B10000000,

B10000000,

2,

 

B10000000,  //}

B01000000,

B01000000,

B00100000,

B01000000,

B01000000,

B10000000,

4,

 

B00000000,  //~

B00000000,

B00000000,

B01101000,

B10010000,

B00000000,

B00000000,

6,

 

B01100000,  // (Char 0x7F)

B10010000,

B10010000,

B01100000,

B00000000,

B00000000,

B00000000,

5

};

 

void scrollFont() {

for (int counter=0x20;counter<0x80;counter++){

loadBufferLong(counter);

delay(500);

}

}

 

// Scroll Message

void scrollMessage(const unsigned char * messageString) {

int counter = 0;

int myChar=0;

do {

// read back a char

myChar =  pgm_read_byte_near(messageString + counter);

if (myChar != 0){

loadBufferLong(myChar);

}

counter++;

}

while (myChar != 0);

}

// Load character into scroll buffer

void loadBufferLong(int ascii){

if (ascii >= 0x20 && ascii <=0xff){

for (int a=0;a<7;a++){                      // Loop 7 times for a 5x7 font

unsigned long c = pgm_read_byte_near(font5x7 + ((ascii - 0x20) * 8) + a);     // Index into character table to get row data

unsigned long x = bufferLong [a*2];     // Load current scroll buffer

x = x | c;                              // OR the new character onto end of current

bufferLong [a*2] = x;                   // Store in buffer

}

byte count = pgm_read_byte_near(font5x7 +((ascii - 0x20) * 8) + 7);     // Index into character table for kerning data

for (byte x=0; x<count;x++){

rotateBufferLong();

printBufferLong();

delay(scrollDelay);

}

}

}

// Rotate the buffer

void rotateBufferLong(){

for (int a=0;a<7;a++){                      // Loop 7 times for a 5x7 font

unsigned long x = bufferLong [a*2];     // Get low buffer entry

byte b = bitRead(x,31);                 // Copy high order bit that gets lost in rotation

x = x<<1;                               // Rotate left one bit

bufferLong [a*2] = x;                   // Store new low buffer

x = bufferLong [a*2+1];                 // Get high buffer entry

x = x<<1;                               // Rotate left one bit

bitWrite(x,0,b);                        // Store saved bit

bufferLong [a*2+1] = x;                 // Store new high buffer

}

}

// Display Buffer on LED matrix

void printBufferLong(){

for (int a=0;a<7;a++){                    // Loop 7 times for a 5x7 font

unsigned long x = bufferLong [a*2+1];   // Get high buffer entry

byte y = x;                             // Mask off first character

lc.setRow(3,a,y);                       // Send row to relevent MAX7219 chip

x = bufferLong [a*2];                   // Get low buffer entry

y = (x>>24);                            // Mask off second character

lc.setRow(2,a,y);                       // Send row to relevent MAX7219 chip

y = (x>>16);                            // Mask off third character

lc.setRow(1,a,y);                       // Send row to relevent MAX7219 chip

y = (x>>8);                             // Mask off forth character

lc.setRow(0,a,y);                       // Send row to relevent MAX7219 chip

}

}

 

 


UPDATE:

В комментариях был задан вопрос: А как быть с буквами "Б" и "Ю"? Они чего то нивкакую не хотят переводиться?

Ответ:

Отличный вопрос.

Дело в том, что в английском алфавите - 26 букв. Ну, плюс спецсимволы. А в русском - 33. Поскольку мы здесь делали как бы подстановку  - проводили соответствие латинской и русской буквы, то вам надо взять какой-то символ и переделать его для отображения буквы "Б" и "Ю"

Например, ниже - я взял символ "<" и сделал из него "Б" - чтобы при работе в стандартной клавиатуре не искать долго:

Исходная часть кода:

 

B00010000,  //<

B00100000,

B01000000,

B10000000,

B01000000,

B00100000,

B00010000,

5,

Результат:

 

B11110000,  //<(Б)

B10000000,

B10000000,

B11110000,

B10001000,

B10001000,

B11110000,

6,

Обратите внимание на изменившиеся цифры - 5 на 6. Это изменилась ширина символа в количестве светодиодов. Для разделения со следующим символом в строке при отображении на панели - добавлена дополнительная 1.

 

 Вы сможете не только на русский язык перевести Вашу панель, но и на какой-нибудь другой, включая инопланетные... 

 

С днем космонавтики!

ниже - нарисована "ракета" для символа "<"

 

B00100000,  //<(Б)

B00100000,

B01010000,

B100010000,

B10101000,

B11111000,

B10101000,

6,

Продолжить чтение
Последние комментарии
Josef Vilka
Продолжение тут http://rc-rls.com.ua/index.php?option=com_easyblog&view=entry&id=60&Itemid=64... Подробнее
11.01.2017 18:31
Josef Vilka
Текст в строке - все равно пишется латинскими символами. И смысл в том, чтобы смотреть на клавиатуру компьютера и не париться, выи... Подробнее
26.03.2017 15:39
Josef Vilka
Ответил в виде дополнения внизу поста - после скетча, ибо в комменты не хочет вставляться сам код... Напишите о результатах.... Подробнее
13.04.2017 02:17
  26835 просмотров
  7 Комментариев