Pull to refresh
17
0
Андрей Михайлов @exvel

C# / WPF, senior developer

Send message

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

Reading time3 min
Views16K

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

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

Reading time2 min
Views4.3K

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


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

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

Reading time5 min
Views172K

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


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

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

Reading time4 min
Views47K
Итак, вы новичок в WPF или Silverlight и желаете знать с чего вам начать? Здесь описан мой путь изучения “Как начать с WPF и Silverlight”. Я предполагаю, что вы знаете что из себя представляют эти технологии (на высоком уровне), но не знаете как использовать их.
Читать дальше →
Total votes 92: ↑64 and ↓28+36
Comments22

WPF 4

Reading time11 min
Views31K
Нововведения в WPF 4image

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

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

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

Reading time2 min
Views2.1K
Pivot не нуждается в представлении. Если вбить это слово в поиск хабра, результатом будут 37 статей, среди которых есть как обзоры, так и туториалы. Поэтому я решил сосредоточить свои усилия лишь на одном аспекте работы с Pivot — на картинках.
Читать дальше →
Total votes 71: ↑49 and ↓22+27
Comments12

Анимации в WPF

Reading time11 min
Views79K

Предисловие


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

Много кода, примеров и картинок под катом…
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments1

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

Reading time1 min
Views3.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
Total votes 47: ↑33 and ↓14+19
Comments8

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

Reading time3 min
Views192K

Вступление


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

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

Reading time5 min
Views37K


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

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

Reading time3 min
Views87K

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


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

Читать дальше →
Total votes 56: ↑55 and ↓1+54
Comments25

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

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

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

Reading time2 min
Views94K


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

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

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

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

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

Reading time9 min
Views380K
Сложно в это поверить, но современный процессор является самым сложным готовым продуктом на Земле – а ведь, казалось бы, чего сложного в этом куске железа?

image

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

Читать дальше →
Total votes 321: ↑289 and ↓32+257
Comments154

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

Reading time10 min
Views1.8M

Предисловие


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

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

Reading time7 min
Views34K
Маркетинг магазина в реале начинается с выбора места. Есть два пути решения задачи: так называемый «жоп-филинг», то есть интуитивное принятие решения и продуманный просчёт.

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

HABRAтопик в PDF

Reading time2 min
Views1.4K
Это еще не полноценный сервис, но…

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

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

Сохраняшка

Читать дальше →
Total votes 156: ↑141 and ↓15+126
Comments94

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

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

image

Читать дальше →
Total votes 147: ↑141 and ↓6+135
Comments20
12 ...
10

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity