• Главная
  • Оглавление
  • Обратная связь
  • Лента RSS
  • Правила
Что здесь уже нашли

Если бы microsoft не была такой ленивой...

18.03.2008 19:16:08

Как-то в предыдущих статьях я уже упоминал о прекрасной и полезной! возможности операционной системе линукс, суть которой заключается в том, что можно окну любого приложения придать статус Поверх всех. Казалось бы мелочь, но в реальной жизни очень удобно. И очень жаль, что в Windows такой возможности нет. Даже подумываю утилитку написать, которая будет это реализовывать. Сегодня возникла еще одна идея, реализовав которую, microsoft смогла бы заработать нехилую благодарность, как от пользователей, так и от программистов. Особенно от программистов. Дело в том, что рано или поздно перед разработчиками прикладных программ встает проблема проверки этого самого правописания в вводимом пользователями тексте. Вот и я тоже наступил на эти грабли. Искать сторонние компоненты, проверяющие синтаксис по своим словарям я не стал, т.к. подобные библиотеки-модули как правило платные и разработаны где-нить на западе. Да и сами алгоритмы проверки, которые отлично справляются с английским языком, при переходе на великий-могучий обычно начинают откровенно глючить и косячить.

Комментарии:
Без темы
Линукс рулит!


Залепа 13. О грамотном проектировании и неграмотном IDE.

07.03.2008 07:18:37

Эту статью без мата в адрес мелкомягких писать сложно : Но я все же постараюсь. Задача, согласитесь, тривиальна и встречается на каждом шагу. Попробуем ее решить средствами C. Вариантов решений может быть масса, но нас интересует грамотный подход, т.е. такое решение, при котором наша программа не превратится в кашу из кучи классов, лишних открытых методов, свойств и форм. Здравый смысл подсказывает, что справочник должен быть представлен неким классом назовем его CUserMgr, который позволяет основной программе получить все необходимые данные о пользователе и скрывает всю внутреннюю структуру внутри себя. Опять же для простоты решим, что программе нужно получать только лишь логин и пароль пользователя по его идентификатору. Ну и конечно вызывать редактор пользователей. Таким образом у нас получается примерно такой открытый интерфейс нашего класса: Так же класс должен содержать еще набор закрытых методов для редактирования пользователей: добавление нового пользователя, удаление существующего, изменение параметров пользователя, загрузку и сохранение списка пользователей и т.д.

Комментарии:
Залепа 13
Без темы
Кошмар!
Ага...
Owner


Залепа 12. Microsoft не знает собственного кода.

16.02.2008 11:26:24

Безусловно, чем больше различных свойств, методов и событий предусмотрели для класса его создатели, тем более гибок он будет в использовании. По крайней мере так должно быть. По крайней мере в теории. Но практика вещь суровая. Обратим свое внимание на набор обрабатываемых любым контролом событий, связанных с клавиатурой. Типичный TextBox содержит 4 штуки: KeyDown, KeyPress, KeyUp и PreviewKeyDown. Последнее оставим для другого раза, а вот первые три изучим поподробнее. KeyDown и KeyUp срабатывают соответственно при нажатии и отпускании клавиш. При этом в обработчик передается вся необходимая для точного определения клавиши и состояния клавиатуры информация. Даже с избытком, некоторые свойства просто дублируют другие. Ну да ладно. Недостатком здесь служит тот факт, что обработчик получает коды клавишей, а не коды символов. Соответственно они никак не зависят от состояния включенности CapsLock и NumLock, равно как и от текущей раскладки языка ввода.



Залепа 11. Зазеркалье отдыхает.

11.02.2008 11:24:13

В. NET активно применяется механизм отражений. Он позволяет с помощью метаданных получать подробное описание типов, хранящихся в сборках. Цитата: Говоря по-русски, отражение - механизм, позволяющий программам включая и разработанные Вами модули получать во время своей работы данные о типах классах, их методах, свойствах и т.д. из любых доступных сборок. Т.е. когда IntelliSense показывает список свойств, событий и методов объекта или класса, то он IntelliSense получает эти данные через отражение именно из той сборки, которая содержит требуемый класс. Аналогично работает и окно свойств Properties - оно так же считывает через отражение данные о свойствах и событиях и отображает эти данные в виде таблицы. Что ж, здорово, когда можно получать данные непосредственно из скомпилированного модуля - информация окажется всегда актуальной, вне зависимости от версии этого самого модуля. Это было бы очень ценной возможностью, если бы...



Залепа 10 Cупер-хренорезка может все. Только хрен не режет.

06.02.2008 08:06:13

Еще раз перечитав эту статью, а именно пару абзацев про грамотное поведение окон, возникла идея применить это на практике. Как раз есть форма, до отказа набитая всякими элементами управления далее - контролами, в числе которых имеются и такие, из которых могут выпадать вспомогательные окошки. А именно: ComboBox в режиме DropDownList и DateTimePicker. Из первого выпадает список возможных вариантов, из второго - более-менее симпатичный календарик. Идея проста как две копейки - как только фокус попадает в какой-нить из этих контролов, он контрол тут же разворачивается во всей своей красе. Это спасает пользователя от лишнего судорожного хватания мыши и тыканья ею же в вышеупомянутый контрол. Сразу скажу, что с ComboBox ом особых проблем не возникло. Правда вызвало некоторое удивление то, что сворачивание разворачивание списка осуществляется не методом, а свойством, что несколько противоречит здравому смыслу.

Комментарии:
Решение проблемы


Этот сайт полностью окупает себя, хотя его ТИЦ=10, а PR=2. Хотите знать, как он это делает?
Хотите чтобы Ваш сайт чарез пол-часа тоже начал на полном автопилоте приносить деньги?
Регистрируйтесь здесь и здесь и начинайте получать деньги со своего сайта!

Залепа 9. Microsoft друзей не признает.

05.01.2008 16:27:42

Начну с цитаты из одной полезной книжки Алена И. Голуба Правила программирования в С и С речь идет именно о C : Другими словами, правильное проектирование в ООП - это создание классов, АБСОЛЮТНО НЕЗАВИСИМЫХ от других классов и объектов, инкапсулирующих все необходимые для работы классы внутри себя. Только такой тип проектирования позволяет создавать действительно переносимый код, который без всякой адаптации можно встроить в свою программу. Следуя описанному выше работа с классом дата должна выглядеть примерно так: Естественно, класс CDate должен быть порожден от System.Windows.Control или иметь некий другой механизм, чтобы при необходимости без проблем встраиваться в пользовательский интерфейс. Оцените удобство такого контрола в сравнении с предлагаемым аналогом из библиотеки. NET. Думаю, не надо доказывать, что описываемый здесь на порядок удобнее для программиста. Вот это и есть грамотное, правильное проектирование в стиле ООП.



Урок информатики для мелкософта пояснение к залепе 8

27.12.2007 08:02:00

Давайте поговорим о С и его синтаксисе. В частности о сокращенной записи некоторых операций. Слово сокращенной я взял в кавычки неспроста. Дело в том, что это сделано не только и не столько для того чтобы избавить пользователя от написания длинных строк. Хотя, учитывая майкрософтовскую маниакальную тягу к длинным идентификатором, эти сокращенные формы действительно дают прирост производительности программиста. : Ладно, шутки в сторону. Давайте о серьезном. Язык С да и его потомок - С спроектированы таким образом, чтобы при использовании НОРМАЛЬНОГО компилятора программист мог еще на этапе разработки программы управлять полученным машинным кодом. Удивлены? Я тоже не сразу поверил. Язык С разрабатывался как альтернатива ассемблеру по этому поводу заранее попрошу не флудить в комментах, т.к. серьезные программы писать на асме в то время стало уже слишком сложно. Другие языки высокого уровня генерировали слишком медленный и прожорливый машинный код и не позволяли программисту управлять этой самой генерацией.



Залепа 8. Крах технологии от обычного int а.

24.12.2007 22:40:53

Все-таки вредно не спать по ночам! Лежал вот, думал. Пытался вникнуть в суть технологии, подстроиться как-то, понять то, что все еще понять не могу, приспособиться и начать наконец! получать удовольствие от ее использования. Ведь тысячи программистов пишут под. NET программы и вовсе не страдают от этого, не ощущают никаких неудобств. Вокруг только и слышно: За. NET будущее, Самая удобная система, Передовое решение. Наверное все же я слишком тупой, что не вижу всех этих прелестей. Вот такие мысли роились у меня в голове и нароили в конце-концов одну идею, которую я и решил тут же опробовать. Даже из постели вылез. На дворе пятый час ночи, а я тут. NET на прочность проверяю! : Как я и ожидал, технология мой простейший экзамен с треском провалила! Супер-простое приложение 30 строчек сработало правильно, но АБСОЛЮТНО НЕЛОГИЧНО.

Комментарии:
Без темы
Пояснения
Owner


Залепа 7. Самые умные на свете.

19.12.2007 05:37:38

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

Комментарии:
Залепа 7 Про DataGridView
Owner


Залепа 6. Вечный календарь и пляска с бубном.

17.12.2007 07:34:01

Ситуация: Есть некоторое событие, достаточно жестко привязанное к конкретным датам. Например поездки с проверками некоего крутого начальника. И этому начальнику надо знать, в какие поездки брать с собой помощника, а в какие нет. Сознаюсь, задача слегка синтетическая, но поразмыслив немного, вы сами найдете кучу вполне реальных задач, сводящихся к этой. Итак, секретарше в календаре надо видеть дни, в которые начальник выезжает и как-то особо метить дни, в которые начальник будет брать с собой помощника. Как это сделать программно? Да очень просто, ведь у нас есть супер-мега-контрол MonthCalendar. Кроме всех обычных прелестей, эта мега-кульная штука умеет еще и метить дни. Причем метки можно ставить аж трех разных типов, включая ежемесячные события. К слову сказать, диапазон у этого календаря тоже удовлетворит любого - он умеет работать с датами до 9999 года, так что очередная проблема 3000 нам уже не грозит.



Этот сайт полностью окупает себя, хотя его ТИЦ=10, а PR=2. Хотите знать, как он это делает?
Хотите чтобы Ваш сайт чарез пол-часа тоже начал на полном автопилоте приносить деньги?
Регистрируйтесь здесь и здесь и начинайте получать деньги со своего сайта!
Page: 01 02

Календарь

июль, 2010
пн вт ср чт пт сб вс
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

Меню

  • Главная страница
  • Оглавление блога
  • Лента новостей
  • Обратная связь
  • Правила блога

Анонсы по темам

  • Все посты блога
  • С миру по нитке
  • Мысли вслух
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Категории

  • Все посты по порядку
  • С миру по нитке
  • Графика и фото
  • Кривизна платформы .NET
  • Грамотные интерфейсы
  • WEB-программирование
  • FlatCMS - шустрая и гибкая
  • Доработки Lasto-блога

Сервисы

  • Поиск по блогу
  • Поиск по всему сайту
  • Шпионское досье

Реклама


Стоимость сайта

Мой вебсайт стоит 865 404,18 руб

Статистика

    Widgetize!
  • Время работы: 0,06949 сек.
  • Память: 3 584 кБт
  • Статистика привратника
Copyright FIT-Media.com, © 2007-2010
Главная | Общее оглавление | Обратная связь | Правила блога | Лента RSS