Рубрика «разработка под windows» - 69

При разработке кросс-платформенного мобильного приложения, имеющего в своём функционале работу с файлами, встаёт вопрос об организации процессов работы с файлами на каждой платформе. С данным вопросом мы столкнулись при разработке новой версии Edusty, позволяющей делиться файлами со своими одногруппниками. В этой статье мы расскажем как происходит импорт и экспорт файлов в приложениях, работающих на операционных системах iOS, Android, Windows Phone.

Особенности работы с файлами в приложениях на разных мобильных платформах - 1

Читать полностью »

Global Game Jam — крупнейший международный хакатон, в рамках которого участники из сотен городов одновременно создают игры на заданную тему. GGJ проходит с 2008 года, однако еще ни разу не проводился на территории Беларуси. 23-25 января 2015 при поддержке СООО «Гейм Стрим», минского центра разработки Wargaming, состоялся первый Global Game Jam Minsk.
Результаты хакатона и советы для участников от специалистов из Wargaming, HalfBus и GameJam под катом.

global_game_jam_minsk_2015_wargaming
Читать полностью »

Грабли, .NET, COM и dynamic - 1

Жил — был древний код эпохи динозавров

Дано: адов кодярник работающий с 16ю разными версиями одного и того же «ах какого» продукта. COM, Interop, интерфейсы, реализации, сигнлтоны с факторями, паттерны с антипаттернами, модули и прочие ошметки крывавого ынтырпрайзу. Стандартный набор. Рос, мужал и матерел тот кодярник лет семь. Пока однажды очередной фикс не привел к исправлению массового копипаста в 16 модулях. Если кому интересно — foreach на for меняли.

Помучившись, провели исследование. Копипаст на 95% идентичен, различаются только имена пакетов из интеропов.

А можно ли как-то писать так чтобы не оборачивать сотни и сотни функций в свои врапперы, плюс ручками боксинг / анбоксинг этих врапперов?

Есть же ключевое слово dynamic!
Читать полностью »

Привет! Хабр не для политики, но так уж вышло, что разработки компании EOS (ЭОС — Электронные офисные системы) популярны не только среди частных компаний, но и среди государственных организаций — в тысячах офисов по всей стране и СНГ используются наши решения. Сегодня мы хотим вам рассказать о мобильных приложениях EOS. Думаем, узнать, как среди чиновников используются мобильные бизнес-приложения будет всем небезынтересно.

Мобильное приложение для губернатора и агента по продажам - 1
Читать полностью »

Возрастной рейтинг игр магазина Windows понятным языком - 1
Не секрет, что в России c 01.09.2012 года были введены возрастные ограничения на ТВ, поэтому совсем неудивительно, что ограничения по возрасту распространяются и на игры в Windows Store. Учитывая, что вы можете предоставить вашу игру для рынков различных стран, желательно знать и особенности иноземного лицензирования.

Для тех, кому тяжело читать мануалы, кто предпочитает отсутствие лишний подробностей и готов смириться с довольно вольным языком, я постараюсь под катом «на пальцах» объяснить, как получить рейтинг для игры.
Читать полностью »

Сага о E_RPC_DISCONNECT - 1

Вначале был код

И был тот код написан на дотнете (еще версии 1.1) много лет назад. Код был простой и дубовый — где-то в дебрях проекта лежала стопка Interop*.*.DLL для еще более древних TLB. Очевидно, был заведен интерфейс, имплементирующий три с половиной метода, и рожден в муках набор реализаций, к моменту раскопок — их было шестнадцать (!) штук. Factory и прочие синглтоны — в комплекте.

Создавал тот код классический Application, и у всех 16 реализаций в интересующем нас месте код был скопипастан и идентичен — отличались лишь неймспейсы из интеропов.

Примерно вот так:

Type apptype = Type.GetTypeFromProgID("CoolAppID", false);
var app = Activator.CreateInstance(apptype) as Cool.Application;

var lib = app.Open(file, ... /* many flags */) as Cool.Library;
foreach(var asset in lib.Assets) {
    /* some long operations */
}

С тех пор код пережил много всего — переезд на дотнеты 2.0, 3.5, 4.0 и т. д. Стал поддерживать тех интеропов с двух до упомянутых шестнадцати — а код все тот же и все так же не меняется, лишь размножается почкованием иногда. Ни одного разрыва с 2007 года. Пока однажды не запустили этот код на Windows 8.1.
Читать полностью »

Арабская локализация: окна и рисование - 1Однажды в очередную версию ABBYY FineReader Sprint (программа для распознавания текста, которая поставляется вместе с МФУ и сканерами) потребовалось добавить арабский язык интерфейса. И все заверте…

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

Привет!

Ekspozzer — создание панорамы из видео, усреднение видеопотока - 1

Сразу скажу: ничего феноменального в статье нет. Эта статья посвящена разработанной «на коленке» программе по созданию панорам из видео и временному усреднению видеопотока (кадров). Программа также может быть использована как виртуальная slit-камера. Статья будет интересна всем тем, кто увлекается обработкой видео и изображений, а так же гик-артом. Весьма простая программа — весьма интересный результат. В конце статьи ссылка на скачивание. Осторожно, трафик!
Читать полностью »

Привет, хабрахабр!

О чём эта статья?

Эта статья посвящена подробному описанию процесса создания биллиардного бота, который без участия человека играет в игру pool billiard и принимает решения, зарабатывая очки. Статья будет полезна и интересна людям, увлекающимся созданием ботов и программированием.

Предисловие

Бильярдный бот: история создания - 1У всех нас есть любимые игры и виды спорта. Здорово, когда первое совпадает со вторым. Помимо своих увлечений спортом и спортивными проектами, я люблю также и некоторые компьютерные игры. Одна из моих любимейших игр, и вживую, и виртуально — это, конечно же, бильярд. Бильярд, пул, снукер… как угодно, — я люблю их все! Я разделяю мнение многих о том, что, например, снукер — это «недискретные» шахматы. Мало просто забивать последовательность определённых шаров в лузы, там ведётся ещё и невероятная стратегическая борьба. Борьба за снукеры, за позиции… а какой фантастической техникой обладают профессиональные бильярдисты — просто молчу в тряпочку.
Бильярдный бот: история создания - 2Достоинства этой несомненно аристократической игры можно перичислять очень долго. Но перейдём к сути статьи. Моя самая любимая игра в бильярд вот уже пять лет и по сегодняшний день — это «Pool Billiard» на Facebook. Она классно сделана не только эстетически, но и технически. Невооруженным глазом видны классно написаный физический движок, продуманный геймплей, клиент-серверная валидация действий, обработка ошибок, дизайн, система статистики, магазин, чат в конце концов. Игру явно делали профи, да и она в топах. В неё очень приятно играть… и выигрывать!
Я достаточно долго играл в неё, пока в голову не пришла мысль: «Ба! Да она же идеально подходит для создания под неё игрового бота!» Выигрывать приятно, а выигрывать своим роботом, автоматически — вдвойне! Выигрывать у платных игроков, понакупивших систему навигации и подкручивания битка, демонстрируя им фантастические по технике и красоте удары, оставляя их с отвисшими челюстями — втройне приятно! Плюс автоматический набор очков опыта и монет: оставил робота на ночь, под утро ты лучший! Кроме того, я даже как зритель обажаю часами смотреть на игру в бильярд.
В общем, да, я решился! Добро пожаловать под кат! :)
Читать полностью »

В прошлой заметке я писал о том, как можно избавится от связи со StandardStyles.xaml в ваших проектах Windows 8.1. В частности, я указывал, что одним из самых популярных использований этого вспомогательного файла были AppBarButton стили, а также 200 различных символов, используемых для кнопок AppBar-а. Я решил ненадолго немного поглубже погрузится в эти стили, так как получил какое-то определенное количество писем с вопросами.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js