Как стать автором
Обновить
17
0
Андрей Михайлов @exvel

C# / WPF, senior developer

Отправить сообщение

Вызов native кода из C#. Маршалинг структур

Время на прочтение3 мин
Количество просмотров16K

Все чаще перед разработчиками стала вставать задача вызова native методов из managed кода. В большинстве случаев — вызов сделать достаточно просто, но иногда встречаются неприятные случаи, такие как метод, который содержит структуру с динамическим массивом структур, содержащих динамический массив структур.
Опытом такого маршалинга хочу поделиться.
Всего голосов 40: ↑31 и ↓9+22
Комментарии13

Определение причины закрытия приложения Windows Forms (.Net)

Время на прочтение2 мин
Количество просмотров4.3K

Предпосылки к написанию статьи


Я работал над одним приложением и мой клиент захотел, чтобы оно реагировало на завершение работы системы. Я вспомнил, что многие приложения производили некоторые действия при закрытии, но я редко встречал программу, которая различала бы способ её закрытия — пользователем или системой. И я подумал, почему бы не показать людям, что можно кое-что изменить в дизайне приложения.
Читать дальше →
Всего голосов 35: ↑26 и ↓9+17
Комментарии11

Операционные усилители (на основе простейших примеров): часть 3

Время на прочтение5 мин
Количество просмотров173K

Краткое введение


Продолжаю спамить писать на тему операционных усилителей. В этой статье постараюсь дать обзор одной из важнейших тем, связанной с ОУ. Итак, добро пожаловать, активные фильтры.
Читать дальше →
Всего голосов 56: ↑53 и ↓3+50
Комментарии14

Как начать программировать с использованием WPF или Silverlight: Путь обучения для новичков

Время на прочтение4 мин
Количество просмотров47K
Итак, вы новичок в WPF или Silverlight и желаете знать с чего вам начать? Здесь описан мой путь изучения “Как начать с WPF и Silverlight”. Я предполагаю, что вы знаете что из себя представляют эти технологии (на высоком уровне), но не знаете как использовать их.
Читать дальше →
Всего голосов 92: ↑64 и ↓28+36
Комментарии22

WPF 4

Время на прочтение11 мин
Количество просмотров31K
Нововведения в WPF 4image

WPF (Windows Presentation Foundation) — один из компонентов ядра .NET Framework, который позволяет разработчикам создавать богатые, различные Windows приложения. WPF 4 содержит важные улучшения в продуктивности, производительности, возможностей — в частности в областях: элементов управления, XAML, текста, графики, интеграции в Windows 7 (мультитач, интеграция в панель задач, и т.п.), основных принципов работы, развертывания. Это только первая статья из серии, которая описывает нововведения.

Я напишу отдельную статью, которая опишет важные изменения, которые грядут в WPF и Silverlight конструкторах в VS 2010.
Читать дальше →
Всего голосов 72: ↑51 и ↓21+30
Комментарии26

Рендеринг картинок через WPF на примере Pivot

Время на прочтение2 мин
Количество просмотров2.1K
Pivot не нуждается в представлении. Если вбить это слово в поиск хабра, результатом будут 37 статей, среди которых есть как обзоры, так и туториалы. Поэтому я решил сосредоточить свои усилия лишь на одном аспекте работы с Pivot — на картинках.
Читать дальше →
Всего голосов 71: ↑49 и ↓22+27
Комментарии12

Анимации в WPF

Время на прочтение11 мин
Количество просмотров79K

Предисловие


Приветствую вас, дорогие хабраюзеры! Сегодня я хочу вам рассказать об анимации в WPF. О ней, конечно, писали ранее на хабре, однако я постараюсь рассказать подробнее. Мой пост будет скорее больше теоретический, однако, я надеюсь, вы извлечете из него выгоду.
Анимация в WPF отличается от всего, что вы видели раньше своей наглядностью и простотой. Раньше вам приходилось вручную перерисовывать сцену по таймеру, разумеется, написав довольно большой объем кода. Теперь вы можете создать анимацию в XAML файле, не написав ни единой строчки кода на C# (или любой другой .Net язык). Разумеется, осталась возможность создавать анимацию в коде, но об этом поговорим позднее. Анимация в WPF не перерисовывает элемент, а изменяет его свойства через определенные интервалы времени (по умолчанию около 60 раз в секунду, если вы не измените в Storyboard). Это позволяет ей оставаться самой собой, например, если анимировать кнопку, то во время анимации она будет оставаться «кнопкой», т.е. на неё можно будет нажать, и производить разнообразные манипуляции над ней.

Много кода, примеров и картинок под катом…
Читать дальше →
Всего голосов 15: ↑10 и ↓5+5
Комментарии1

WPF 4.0 — Отображение текста

Время на прочтение1 мин
Количество просмотров3.9K
Возможно, для многих этот топик не окажется откровением, но я лично узнал об этом совсем недавно. Однако, многим начинающим разработчикам он может быть полезным.

Как известно, с самого рождения WPF болел проблемами с отображением текста. Особенно это было заметно на не крупных шрифтах (подписи к кнопкам, Labels, ListBoxes итд.) Однако, с выходом версии 4.0 Microsoft серьезно переработали вывод текста и добавили несколько полезных attached properties.

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

Итак, достаточно добавить следующее свойства в элемент вашего окна:

<Window TextOptions.TextFormattingMode="Display" ...... />


Результат можно приблизительно увидеть здесь (по клику полное изображение):



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

Для тех, кто хочет подробнее почитать про рендеринг текста в WPF 4.0 есть замечательный блог посвященный исключительно этой теме: WPF Text Blog. Очень советую почитать вот этот пост: blogs.msdn.com/b/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx

UPD: Коллега посоветовал интересный пост тему рендеринга текста: www.codinghorror.com/blog/2007/06/font-rendering-respecting-the-pixel-grid.html
Всего голосов 47: ↑33 и ↓14+19
Комментарии8

Аналого-цифровое преобразование сигнала для начинающих

Время на прочтение3 мин
Количество просмотров193K

Вступление


Темы аналого-цифрового и цифро-аналогового преобразований являются достаточно важными в курсе электроники, поскольку большинство устройств, взаимодействующих с компьютером, имеют аналоговый вход/выход, а компьютер умеет обрабатывать исключительно цифровые сигналы. В этой статье я хочу поделиться с вами самыми основами таких преобразований.
Читать дальше →
Всего голосов 49: ↑37 и ↓12+25
Комментарии37

USB Toolstick, или программирование микроконтроллеров «для самых маленьких»

Время на прочтение5 мин
Количество просмотров37K


Статья адресована начинающим разработчикам радиоэлектронной аппаратуры и посвящена линейке отладочных средств USB Toolstick компании Silicon Laboratories (Silabs), позволяющих осущуствить быстрый и безболезненный старт в области изучения и программирования микроконтроллеров.
Читать дальше →
Всего голосов 83: ↑80 и ↓3+77
Комментарии55

Операционные усилители (на основе простейших примеров): часть 2

Время на прочтение3 мин
Количество просмотров88K

Вместо скучного вступления


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

Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии25

Операционные усилители (на основе простейших примеров): часть 1

Время на прочтение3 мин
Количество просмотров273K
В курсе электроники есть много важных тем. Сегодня мы попытаемся разобраться с операционными усилителями.
Начнем сначала. Операционный усилитель — это такая «штука», которая позволяет всячески оперировать аналоговыми сигналами. Самые простейшие и основные — это усиление, ослабление, сложение, вычитание и много других (например, дифференцирование или логарифмирование). Абсолютное большинство операций на операционных усилителях (далее ОУ) выполняются с помощью положительных и отрицательных обратных связей.
В данной статье будем рассматривать некий «идеал» ОУ, т.к. переходить на конкретную модель не имеет смысла. Под идеалом подразумевается, что входное сопротивление будет стремиться к бесконечности (следовательно, входной ток будет стремиться к нулю), а выходное сопротивление — наоборот, будет стремиться к нулю (это означает, что нагрузка не должна влиять на выходное напряжение). Также, любой идеальный ОУ должен усиливать сигналы любых частот. Ну, и самое важное, коэффициент усиления при отсутствующей обратной связи должен также стремиться к бесконечности.
Читать дальше →
Всего голосов 78: ↑72 и ↓6+66
Комментарии29

uTorrent на страже online просмотра

Время на прочтение2 мин
Количество просмотров94K


Порой есть необходимость узнать качество видеоматериала, еще до его скачивания(сэмплы есть не всегда, да и скриншот не дает реальной картины) или просто быстро начать просмотр серии сериала, фильма, которые вдруг захотелось посмотреть в данный момент. В любимом клиенте utorrent, функция stream добавленная в alpha версии работает отвратительно. Для TorrentStream необходимо устанавливать специальный софт и смотреть в браузере. А как быть тем, кто любит «маленький» utorrent, хочет начать смотреть видео уже в момент его скачивания, не хочет загружать ничего лишнего и сторонник просмотра в полноценном видеоплеере?
Выход есть...
Всего голосов 101: ↑95 и ↓6+89
Комментарии72

Про сжатие видео — Введение

Время на прочтение7 мин
Количество просмотров83K
Идут дни, требования к качеству видео постоянно растут. При этом ширина каналов и емкость носителей не могла бы поспевать за этим ростом, если бы не совершенствовались алгоритмы сжатия видео.
Далее пойдет речь именно о некоторых базовых понятиях сжатия видео. Некоторые из них несколько устарели или описаны слишком просто, но при этом дают минимальное представление о том, как все работает.

image
Поиск векторов движения для компенсации движения (-: Об этом далее...
Читать дальше →
Всего голосов 251: ↑250 и ↓1+249
Комментарии109

От песка до процессора

Время на прочтение9 мин
Количество просмотров381K
Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

Как и обещал – подробный рассказ о том, как делают процессоры… начиная с песка. Все, что вы хотели знать, но боялись спросить )

Читать дальше →
Всего голосов 321: ↑289 и ↓32+257
Комментарии154

Пишем своё первое приложение на Android

Время на прочтение10 мин
Количество просмотров1.8M

Предисловие


Цель данного поста — с одной стороны поделиться своим успешным опытом старта разработки приложений на платформе Android и с другой стороны поспособствовать развитию рынка софта для этой замечательной и бурно растущей платформы за счёт (без ложной скромности скажу) возможно Вас, прочитавших данный пост. В сети, конечно, можно найти материалы на тему разработки приложения «чуть сложнее, чем helloworld», но как правило они разрозненные и в них не описываются различные мелкие подводные камешки. В данном посте мы рассмотрим полный цикл разработки приложения, начиная с чистого компьютера до готового apk-файла. Под катом скрины.
Читать дальше →
Всего голосов 138: ↑123 и ↓15+108
Комментарии96

Как выбрать помещение для интернет-магазина в реале

Время на прочтение7 мин
Количество просмотров34K
Маркетинг магазина в реале начинается с выбора места. Есть два пути решения задачи: так называемый «жоп-филинг», то есть интуитивное принятие решения и продуманный просчёт.

Общая задача такая:
  • Есть интернет-магазин, нужна точка в реале;
  • Место должно способствовать наибольшей прибыли точки как отдельного розничного магазина;
  • И хорошо работать как пункт самовывоза интернет-магазина.
Читать дальше →
Всего голосов 188: ↑179 и ↓9+170
Комментарии86

HABRAтопик в PDF

Время на прочтение2 мин
Количество просмотров1.5K
Это еще не полноценный сервис, но…

Уже несколько раз проблема перевода html-страницы в pdf проскакивала в постах на хабре. К сожалению, все предложенные решения меня не устроили и пришла идея сделать свой сервис.

Так появилась "Сохраняшка".

Сохраняшка

Читать дальше →
Всего голосов 156: ↑141 и ↓15+126
Комментарии94

Договор на абонентское обслуживание сайта

Время на прочтение6 мин
Количество просмотров47K
Несколько месяцев назад я уже выкладывал типовой договор на техническое обслуживание и поддержку сайта. В том топике, я получил много замечаний и комментариев. Мы постарались учесть все комментарии и замечания при составлении нового договора, им я и спешу поделиться.

image

Читать дальше →
Всего голосов 147: ↑141 и ↓6+135
Комментарии20
12 ...
10

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность