Собираем
информацию
по крупицам

Здравствуйте!

 

Вы находитесь на сайте WebHamster.ru. Наш хомячок бегает по интернету в поисках интересной информации. Он собирает её по крупицам и аккуратно складывает здесь. А еще хомячок знает буквы, садится за свою маленькую пишущую машинку и сам пишет всякую ерунду. Он такой непоседа...


Новости

Заработал импорт веток в MyTetra
26-03-2016
00:15:47

Сегодня в GIT-репозитарий программы MyTetra в ветку experimental был влит функционал импорта веток в базу знаний. Теперь обмен ветками полноценно работает в обе стороны: есть импорт и экспорт.

 

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

 

Кстати, до сих пор еще нет решения одной простой, но важной задачи. Задача предельно проста: сброс форматирования текста в виджете QTextEdit. Описание задачи здесь: Очистка форматирования текста в редакторе MyTetra. Нужно изменить всего одну функцию. На первый взгляд ничего сложного, но диавол кроется в мелочах. Моих знаний Qt пока недостаточно, чтобы реализовать сброс форматирования как положено. Задачу попробовал решить один хороший человек из Питера, но готового результата тоже нет. Возможно, найдется герой, который наконец сможет одолеть сию вершину искусства программирования, пока я допиливаю основной функционал. Иначе зачем вообще нужен OpenSource, если автор практически в одиночку тянет проект?

 

Желаю всем удачи. Следите за новостями на сайте WebHamster.Ru.

 

 


Обмен ветками в MyTetra
20-03-2016
23:30:24

MyTetra - это персональный древовидный менеджер накопления информации. Уже давно пользователи просили сделать возможность выгрузки выбранной ветки, чтобы передать её другому пользователю MyTetra.

 

В настоящий момент в Git-ветку experimental влит функционал экспорта MyTetra-ветки. Ветка выгружается в отдельный каталог, причем структура каталога с выгруженной веткой полностью аналогична формату каталога с полной базой. В этом смысле нет никакой разницы между каталогом ветки и каталогом полной базы. Теперь можно сказать, что полная база - это просто большая ветка.

 

Для теста, после выгрузки можно в настроечном окне MyTetra указать каталог выгруженной ветки в качестве каталога базы. И MyTetra начнет работать с данной веткой как с обычной базой.

 

Теперь нужно сделать обратный процесс - импорт ветки в базу знаний. Чтобы пользователь, получивший ветку, смог вставить её в свое дерево знаний, а не просто работать с ней как с отдельной базой.

 

Что произойдет после реализации процесса импорта? Я расчитываю, что больше никаких крупных изменений уже не будет. Я сделаю еще несколько косметических правок в MyTetra, и наконец-то выпущу долгожданный релиз.

 

Следите за новостями.


Почему я сам рисую символы форматирования в QTextEdit
07-02-2016
00:03:28

Программа MyTetra, написанная с помощью фреймверка Qt, имеет пятилетнюю историю. Когда шла фаза начальной разработки,  решался один животрепещущий вопрос: как отображать в тексте символы форматирования, так же, как это происходит в Open/Libre Office при нажатии кнопки с закорючкой, похожей на букву Пи. Готовых инструментов в Qt на тот момент не было, и пришлось дописывать этот функционал путем рисования самодельных изображений символов форматирования поверх текста.

 

Дело осложнялось тем, что в Qt небыло методов, сообщающих какой кусок длинного текста в данный момент отображается на экране (это важно знать, чтобы не рисовать символы форматирования на невидимой части текста). Пришлось извращаться с дополнительным курсором, который прыгал по тексту методом бисекций и находил верхнюю и нижнюю границу зоны отрисовки куска текста.

 

Три года назад в Qt появился функционал, позволяющий рисовать символы форматирования. У документа, отрисовывающегося через QTextEdit появились опции отображения символов форматирования. Об этом мне сообщил некто Squarero. Так как функционал был новый, а я пользуюсь библиотеками в консервативном стиле (иначе пользователи не смогут даже запустить мою программу), то я не мог его даже проверить. А сейчас как раз дошли руки до того, чтобы убрать вынужденное уродство из кода, и заменить его парой готовых команд.

 

Вот как выглядит работа с символами форматирования в Qt:

 

// Показать символы форматирования

QTextOption option = document()->defaultTextOption();
option.setFlags(option.flags() |
                QTextOption::ShowTabsAndSpaces |
                QTextOption::ShowLineAndParagraphSeparators |
                QTextOption::AddSpaceForLineAndParagraphSeparators);
document()->setDefaultTextOption(option);

// Скрыть символы форматирования
QTextOption option = document()->defaultTextOption();
option.setFlags(option.flags() &
                ~QTextOption::ShowTabsAndSpaces &
                ~QTextOption::ShowLineAndParagraphSeparators &
                ~QTextOption::AddSpaceForLineAndParagraphSeparators);
document()->setDefaultTextOption(option);

 

Я радостно заменил свой код на установку вышеперечисленных флагов, и что же я увидел? Текст и отступы плывут при включении отображения символов форматирования. Картинки съежжают. Символ перевода строки в таблице наежжает на первую букву первой ячейки таблицы. И никакие игры с опциями этого исправить не могут.

 

Вот так это выглядит:

 

Нажмите для просмотра анимации

 

Мне такая реализация символов форматирования даром не нужна.Так что пока в MyTetra останется странный, но работающий код.

 


Как это делают: автоматизация крупного предприятия
04-02-2016
15:55:53

Сегодня залил на GitHub исходники очень нужной, полезной и, не побоюсь этого слова, эксклюзивной программы, написанной за один день.

 

ClipFixer - пример Qt-проекта, в котором демонстрируется работа с буфером обмена


Данная программа написана в рамках говноавтоматизации сметно-договорного отдела промышленной организации, в которой я сейчас работаю.

 

Задача:


Оператору передаются Excel-файлы смет, каждый экземпляр которых создан со всей сопутствующей фантазией. Единой формы нет, единых принципов составления нет. Единственное, что объединяет эти файлы - шапка сметы, которая содержит почти единообразное кол-во столбцов и почти похожие наименования столбцов. Проблема в том, что один и тот же столбец сметы в разных файлах может занимать разное количество ячеек по ширине (от 1 до 80). И одна запись в смете по высоте может занимать от 1 до 10 ячеек. Кто как захотел, тот так и сделал.

 

Учитывая, что в организации 8 отделов и 2 сторонних организации, а в каждом отделе (организации) пара человек занимается сметами, и каждый человек составляет сметы примерно в двух-трех различающихся форматах, имеем около 50 различных форматов смет. Всего смет около 3000.

 

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

 

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

 

Решение:

 

Ну что же, вот вам программа с волшебной кнопкой "Сделать хорошо".

Окно программы имеет два элемента управления: выбор формата сметы и волшебная кнопка. В формате сметы указывается, сколько ячеек по ширине занимает каждый столбец. Пользователь копирует в буфер обмена строку (строки) из исходной сметы, нажимает волшебную кнопку, и в буфере обмена размещаются преобразованные ячейки, объединенные согласно формату.

Пользователь имеет возможность самостоятельно создавать форматы смет. Так же в программе предусмотрен отладочный режим, который позволяет просматривать исходное и преобразованное содержимое буфера обмена.

 

Код:

 

Код сделан в лучших традициях говнокодинга. Работает, и ладно.

 

Скриншоты:

 

Стандартный вид:

 

 

Расширенный вид:

 

 

Желаю всем программистам никогда не писать подобные программы.

 


Движение по истории в MyTetra
25-01-2016
16:20:29

Сегодня в ветку experimental были залиты изменения, отвечающие за новый механизм движения по истории посещаемых записей в программе накопления информации MyTetra. В предыдущем релизе MyTetra уже были реализованы кнопки движения по истории и начальный механизм отслеживания перемещения пользователя. Однако старый механизм сбивался, когда пользователь в момент нахождения в "середине" истории переключался на совершенно другую запись не находящуюся в исторической последовательности.

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

Казалось бы, ну что такого сложного в том, чтобы реализовать историю и перемещение по ней? А сложность в том, что пользователь далжен иметь возможность двигаться как назад, так и вперед по истории. Если бы пользователю была дана возможность двигаться только назад, то сложности никакой нет - знай уничтожай идентификаторы последней посещенной записи, да переключайся на предыдущую посещенную. Но когда нужно двигаться вперед по истории, то все становится гораздо интереснее.

Допустим, пользователь посетил записи с идентификаторами:

 

a, b, c, d, e


Затем он стал нажимать кнопку "назад по истории". Так как при движении назад удалять историю нельзя (потому что мы должны иметь возможность двигаться вперед), можно ввести понятие "Указатель в истории". При обычной работе он всегда указывает на самую актуальную (последнюю) ячейку в истории. А при движении по истории "Назад", смещается назад. Таким образом, перед началом движения по истории имеем:

 

a, b, c, d, e

            ^


А после того, как пользователь отъехал на 4 шага назад имеем:

 

a, b, c, d, e
^


Тут возникает вопрос. А надо ли при движении назад записывать посещаемые при движении назад записи в конец истории? Правильный ответ - надо (в старой версии MyTetra ответа на этот вопрос я не знал). Потому что если не записывать записи при движении по истории, то произойдет следующее. Предположим, что врнувшись к записи a, пользователь самостоятельно нажмет на запись h. А куда надо записать информацию о посещении h? Самое естественное - в конец истории.  А так как пользователь начал "писать свою историю", то и указатель в истории надо переместить на новую запись. И тогда получим следующее:

 

a, b, c, d, e, h

               ^


А теперь попробуем снова нажать кнопку движения назад. Куда мы попадем? На запись e. А были то мы до этого на записи a. Хорошо, а если поступить по-другому, и поместить запись h после записи a? В середину истории запись h не засунешь, потому что получится черти что. Единственная возможность - это удалить все записи в истории справа от a, и добавить на их место h:

 

a, h
   ^


Но тогда теряется практически вся истори! Вот поэтому и надо записывать в историю все посещаемые записи, даже при движении по истории. Если мы записываем все движение назад, от e до a, то к моменту достижения записи a получим:

 

a, b, c, d, e, d, c, b, a
^


И если в этот момент пользователь самостоятельно кликнет на запись h, то история станет выглядеть так:

 

a, b, c, d, e, d, c, b, a, h
                           ^


И если пользователь пожелает снова нажать кнопку "Назад", то он попадет на запись a, где он и был до этого. И так далее для других записей в глубину истории, причем последовательность именно та, в которой он видел записи. Для перехода с записи h на запись a история станет выглядеть так:

 

a, b, c, d, e, d, c, b, a, h, a
                        ^

 

Здесь так же учитывается, что запись a еще и добавится как самая актуальная запись в истории.


Казалось бы, проблема решена? Нет! Что, если пользователь отъедет назад по истории, и начнет двигаться вперед? Из-за того, что посещенные записи добавляются даже, если происходит движение по истории, то история дополняется новыми записями с той же скоростью, что и движение указателя истории вперед. То есть, указатель никогда не достигнет самой актуальной записи:

 

a, b, c, d, e, d, c, b, a, h, a, h
                           ^

 

a, b, c, d, e, d, c, b, a, h, a, h, a

                              ^


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

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

Именно такой механизм сейчас и реализован в MyTetra, и, если он покажет свою состоятельность, он будет в релизе.

Следите за новостями.

 


MyTetra научилась копировать картинки из интернета
21-01-2016
11:04:21

В современных фреймверках, и в Qt в частности, работа с буфером обмена реализована на зачаточном уровне. Если в буфере обмена находится текст - то текст будет передан. Если в буфере обмена находится картинка - то картинка тоже будет передана. А что произойдет, если в буфере будет находиться и текст и изображение? Ничего хорошего! Не существует кроссплатформенных методов одномоментного получения из буфера обмена различных типов объектов. Поэтому, если выделить текст с картинками в браузере Firefox, и вставить текст в Microsoft Word, то Microsoft Word не сможет получить картинки из буфера обмена. Он пропарсит текст, найдет интернет-ссылки, и молча примется их закачивать. Создается впечатление, что Microsoft Word умеет копировать текст с картинками через буфер обмена, заполненный другой программой, но на деле это не так.

 

Моя программа для накопления информации MyTetra тоже не могла похвастаться копированием текста, содержащего картинки. Можно было скопировать и вставить отдельную картинку. Можно скопировать и вставить текст с картинками в пределах самой программы MyTetra. Но вставить текст с картинками из браузера небыло никакой возможности.

 

Недавно у меня состоялся такой разговор с пользователем PIM-менеджера CherryTree:

 

Пользователь:

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

 

Я:

Посмотрел. Я-то думал, что, действительно, решена задача вставки из буфера текста + картинок. А на самом деле задача не решена. Они просто парсят вставляемый текст, и выкачивают картинки.

Соответственно, такое решение не работает:

- Если используется прокси. Картинки не копируются, так как прямого соединения с интернет нет;
- Если пропал интернет. То есть, в буфере картинки есть, но CherryTree не умеет доставать из буфера. Поэтому картинки будут потеряны;
- Если скопировать текст с картинками не из браузера, а из Libre/Open Office, то картинки тоже не будут вставлены. А все из-за того, что из буфера CherryTree доставать не умеет.

В общем, сделана полумера, от реализации которой я в свое время отказался, так как посчитал костылем. Но если народу нравится, и альтернатив нет, то наверно реализую вот так так же как у Cherry.

 

Я предпринял последнюю попытку разобраться с буфером обмена. Я думал, что может быть все-таки существует метод вычленения и текста и картинок из одного буфера. Я проштудировал все методы, которые дает Qt для работы с буфером обмена. Но оказалось, что такого функционала просто не предусмотрено. Я проделывал разные манипуляции с буфером обмена между разными программами и понял, что даже Microsoft не умеет работать с комбинированным буфером.

 

В соответствии с вышесказанным, мне пришлось отказаться от честной работы с буфером обмена, на которую я так расчитывал. И для решения вопроса о копировании текста с картинками из браузера, я сделал такой же механизм, как и в других программах. А именно: вычленение тегов картинок во вставляемом тексте, и подкачка их из сети. Вчера реализация этого механизма была завершена в ветке editorModification в коммите 71e6d9d.

 

Теперь, если выделить в браузере текст с картинками, то они будут подгружены в текст. Происходит это с помощью встроенного довнлоадера:

 

 

Вот, например, как выглядит запись, вставленная с Хабрахабра:

 

 

Довнлоадер умеет скачивать по HTTP, HTTPS, понимает редиректы (которые, например, используются на Хабрасторадже для хранения картинок).

 

Очередной шаг в развитии MyTetra сделан, и теперь я приступаю к исправлению косметических недочетов. Некоторые решаются просто, а некоторые могут потребовать больших усилий. Сейчас мне начал помогать фиксить баги один добрый человек из Питера, и я надеюсь, что работа пойдет быстрее, и релиз выйдет в ближайшее время.

 

Всем удачи.

 


Работа со ссылками в новой версии MyTetra
07-01-2016
00:40:12

Подготовка нового релиза программы для накопления информации MyTetra идет полным ходом. И сейчас я завершил очередной крупный этап доработки этого PIM-менеджера.

 

Исторически так сложилось, что в Qt-виджете QTextEdit, который лежит в основе текстового редактора MyTetra, плохо сделана поддержка работы со ссылками (грубо говоря - с URL-ами). Есть пара неочевидных багов, которые не исправляются годами, есть системные ограничения, которые не дают сделать правильный (с моей точки зрения) интерфейс. К тому же я не мог реализовать несколько важных для меня нюансов, например правильное изменение курсора мышки при наведении на ссылку в разных состояних виджета (активный/неактивный). Поэтому в редакторе MyTetra до недавнего времени небыло средств по работе со ссылками. Ссылку можно было прикрепить к записи, или, если очень хотелось, ссылки можно было редактировать в HTML-коде. Но GUI-средств по работе со ссылками небыло.

 

Наконец-то я нашел в себе силы а так же собрал все свои знания в кучу, чтобы сделать удобные для работы инструменты. Сегодня в ветке editorModification появился GUI-инструментарий для создания, просмотра, редактирования, удаления URL и перехода по URL. Теперь навигация по URL в режиме редактирования возможна почти как в обычном браузере. Появилась кнопка редактирования ссылки, в строке статуса отображается URL ссылки, на которую наведен курсор, а для перехода по ссылке используется Ctrl+клик мышкой (иначе в режиме редактирования никак нельзя) или контекстное меню. Для маководов и любителей OsX, у которых Ctrl+ЛКМ забинден, будут отдельные настройки.

 

В общем, я завершил очередною доработку интерфейса и скоро перейду к допиливанию оставшихся запланированных изменений.


С новым 2016 годом!
01-01-2016
23:57:45

Дорогие друзья!

 

Сегодня первое января нового, 2016 года! Поздравляю всех с наступившим праздником, желаю чтобы вы хорошо отдохнули и накопили сил для новых дел! Пусть удача и радость способствуют всем вашим начинаниям. Не отчаивайтесь, если у вас что-то не получается. Будьте настойчивы, и доводите свои дела до конца. Тогда у вас все получится, и новый год будет плодотворным. С новым годом!

 

По традиции, я подвожу итоги уходящего года и строю планы на новый год. Что произошло в 2015 году? Учитывая, что в планах у меня небыло никаких айтишных дел, эти дела все равно находились и делались. Вот чем пришлось позаниматься в 2015 году:

 

  • Я очистил и подготовил к печати документацию на Toyota Corolla 2006 HB. В этом мне помогли традиционные консольные утилиты Linux и прекрасная программа ScanTailor, написанная нашим соотечественником.
  • Я завел аккаунт на файлообменнике MEGA, и узнал, что не все так радужно в шифровании на лету через JavaScript. Не все браузеры способны работать с объемными файлами на несколько сот мегабайт. Браузеры зависают, крешатся, молча сохраняют неполные файлы. В общем, пока технология сырая, а работа с файлами в MEGA больше похожа на игру в рулетку. К тому выяснилось, что провайдер Megafon почему-то блокирует данный файлообменник.
  • Я покрутил в руках китайский тестер сетей NF8208. С его помощью я нашел два разрыва компьютерного кабеля, любовно замазанных строителями в толщине стен.
  • По долгу службы мне пришлось поковыряться с Windows Power Shell. Должен сказать, что концепция объектов, передаваемых через потоки разным обрабатывающим программам - это более продвинутая и удобная технология, чем традиционная работа с текстовым выводом команд, используемая в Unix и Linux. Надеюсь, нечто подобно рано или поздно появится в открытых операционных системах.
  • Я заколхозил систему мониторинга серверного оборудования на Python, и приделал оповещение по SMS через старый мобильный телефон Siemens M50. Телефон подключен к мониторящему серверу по COM-порту.
  • Весной 2015 года сдал на права. Дело не айтишное, но я готовился к экзамену с помощью симулятора движения автомобиля в городских условиях, запущенный через WINE. У меня была проблема, что я забывал включать поворотники. И тренировался на симуляторе включать заранее поворотники с помощью клавиш Shift и Ctrl.
  • Я настроил на работе систему видеомониторинга с пятью разнородными видеокамерами на основе свободного ПО ZoneMinder.
  • Осенью мой сайт webhamster.ru попал в бан Яндекса именуемый АГС, но через три месяца вышел из АГС, почему-то с увеличенным ТИЦ.
  • Разрабатваемая мною программа для накопления информацией MyTetra обзавелась функцией прикрепления файлов к записям. Она еще много чем обзавелась, но релиза пока нет. Я еще правлю мелкие баги и добавляю обещанный функционал в редакторе.
  • Соответственно, сервис MyTetra Share теперь может отображать записи с прикрепленными файлами.
  • Моя личная база знаний в MyTetra разраслась до ~4500 записей.
  • Я наконец-то разобрался с криптовалютами Bitcoin и Litecoin. Я попробовал пройти все этапы работы с криптовалютой - установка клиента, создание локального кошелька, майнинг, покупка/продажа криптовалюты. По результатам изысканий сделал небольшие подборки статай по Bitcoin, Litecoin, и состоянию законодательства на конец 2015 года.
  • Я опубликовал небольшую инфографику по поводу того, какими должны быть отступы в программном коде.

 

Как видно, в ИТ-сфере мною сделано немногое. Никакого хардкора нет, просто потребительское использование современных технологий. Это удручает.

 

На 2016 год я намечаю всего две вещи:

 

  • Выпустить очередной десктоп-релиз программы накопления информации MyTetra.
  • Выпустить Android версию MyTetra.

 

На этом все. Успехов в новом году!

 

PS: И на последок: новогодняя открытка к этой новости в большом разрешении.

 


Какими должны быть отступы в коде?
07-12-2015
15:59:12

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

 

Получите и распишитесь: инфографика о том, каким должен быть отступ в коде, и почему он должен быть таким.

Хотите похоливарить на эту тему? А не получится. У меня отсутствуют комментарии на сайте.

 


Первый раз сыграл в "Что? Где? Когда?"
28-11-2015
22:16:48

Вчера я первый раз сыграл в игру "Что? Где? Когда?" в составе команды своего трудового коллектива. Да и команда наша тоже играла в первый раз. Игра проходила в рамках городских соревнований г. Волгодонска. Мы уделали всех, включая несколько команд завода "Атоммаш" и Ростовской атомной станции. Первое место и кубок у нас, и мы сразу попали в городскую высшую лигу!

 

В игре принимали участие 14 команд. Игра проходила по системе одновременной игры: ведущим задается вопрос одновременно всем командам, далее минута на обсуждение, и 10 секунд на то, чтобы добежать до секретаря с бумажечкой, на которой написан ответ. Игра состояла из 3-х туров по 12 вопросов каждый. По правилам, в высшую лигу попадают только две команды, занявшие первые места.

 

Результаты игры:

 

1 место: команда "Рататуй" - Ростовский филиал "Атомтехэнерго" (РАТЭ)

2 место: команда "Разные люди" (СЮТ)

 

Страница городского клуба "Что? Где? Когда?" во Вконтакте:

 

http://vk.com/topic-58244837_30450088

 

Фото победителей:

 

 

Резюмирую. Играть в "Что? Где? Когда?" конечно, интересно, но лично мне не хватает знаний по истории, изобразительному искуству, философии, эзотерике, литературе и поэзии, спорту. Поэтому мне трудно отвечать на вопросы из этих областей. А чтобы было легко - надо постоянно образовываться в этих направлениях, и помнить все, о чем прочитал, услышал, увидел. Я же обнаружил, что уже много чего позабывал из того что знал, и вталкивать в себя новую информацию по вышеприведенным дисциплинам уже не могу. Мне бы с лямда-исчислением разобраться, да декларативное программирование поковырять на досуге.

 

Поэтому, пока есть возможность, я поиграю. А дальше - посмотрим.

 


Страницы:  ‹ Назад 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 Далее › 

Интересное на сайте


Игры под DOS » Star Wars Elastic

Проект игры с нестандартным резиновым интерфейсом. Этот проект написан просто из-за того, что очень хотелось пощупать что такое управление объектом, ...


Штучки-дрючки » Самодельный диафильм

Недавно я нашел в чулане диапроектор и коробку с диафильмами, которые много лет назад засунул на самую дальнюю полку. Увидев эти коробки, я тут же всп...


Программирование на C++ и Qt » Пример функции обратного вызова на C++ / Qt

В этой статье я кратко опишу готовое решение по вопросу о том, как в C++ / Qt написать функцию обратного вызова (callback-функцию).   Задача: ест...

RSS подписка

Подпишитесь на новости сайта по RSS


О, смотри-ка какое хорошее место. Дайте два!

Внимание!

На этом сайте разрабатывается программа MyTetra и её родственные проекты.

Доступны к просмотру следующие базы знаний:

База Xintrea (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)

База Rarrugas (1, 2)

База Balas

База YellowRaven

База Yurons

База Lesnik757

База Shandor

База Sirrichar

 

Подробности на странице MyTetra Share.

 WebHamster.Ru
 Домик любопытного хомячка
Яндекс индекс цитирования
Почтовый ящик