Каждому юзеру по программе!
Надоело мне смотреть
на сообщения об отсутствии библиотек и контролов, надоело любоваться искаженным
интерфейсом и жучками (bugs), которые выползают при малейшем движении мыши,
надоело постоянно, в порыве гнева, давить на Shift+Delete! Надоело!
Вот такими вот словами я начинаю
свою первую статью по программированию на Visual Basic. В этой статье я покажу
наиболее часто встречающиеся ошибки при разработке приложений, а так же варианты
их исправления.
Начну с начала
Все Вы,
наверное, знаете великого шутника дядю Билла (Bill Gates), который начал смеется
еще в 1985 году, когда создал первую версию Windows.
Большинство программистов, при разработке
приложений, не учитывают наличие разных версий операционных систем у пользователей,
их настройку, отсутствие используемых библиотек и контролов. Соответственно,
эти факторы неблагоприятно влияют на пользователей, да и на репутацию разработчика
тоже.
Начну, пожалуй, с самого начала,
дабы не знающие узнали, а не верующие поверили.
Приложение созданное на Visual Basic
v.6.0 требует наличия файла msvbvm60.dll. Ниже приведен список систем,
в которых этот файл есть/нет:
Windows 95/98
|
нет;
|
Windows Me
|
есть, но не всегда;
|
Windows 2k
|
в большинстве случаев есть;
|
Windows XP
|
есть;
|
Приложение созданное на Visual Basic
NET, требует наличия файла mscoree.dll, которого пока нет ни в одной
из выше описанных ОС.
Если для Вас это не новость, то идем
дальше.
Шрифты
Шрифты это хорошо, не стандартные
шрифты еще лучше, только вот почему-то некоторые разработчики забывают их поставлять
вместе с приложением, сами понимаете, любоваться "аброй-кадаброй"
никому не понравится.
Ниже приведен список стандартных
шрифтов, которые можно смело использовать при разработке приложений:
Arial
Arial Black
Comic Sans MS
Courier
Courier New
Fixedsys
MS Sans Serif
MS Serif
Symbol
System
Tahoma
Terminal
Times New Roman
Verdana
Wingdings
Wingdings 2
Wingdings 3
Хочу также обратить Ваше внимание
на замечательные шрифты Wingdings, которые выполнят за Вас всю художественную
работу J
Окна и иконки
Как часто Вы ставите свойство формы(Form)
ControlBox = False, чтобы скрыть иконку?
Думаю, что часто. В Windows 95/98/ME/2k скрытая Вами иконка останется скрытой,
а вот в Windows XP эта иконка будет отображаться на панели задач. Наверняка
Вы ее не изменяли и оставили стандартную vb-иконку. Делайте выводы.
Интерфейс
В создании программы важным и наиболее
трудоемким этапом является разработка интерфейса. Интерфейс должен быть предельно
прост и оригинален, и в то же время он должен придерживаться определенным стандартам.
Основной деталью интерфейса, соответственно, является форма (Form). Я не буду
лезть в гремучий лес бесформенных окон, а приведу пример наиболее часто встречающейся
ошибки.
Возьмите форму (Form) размером почти
на весь экран, оставьте примерно 2000 твипов (Twip) со всех сторон, расположите
ее по центру экрана (StartUpPostion = CeneterScreen), скомпилируйте проект.
Теперь жмите на ПУСК => НАСТРОЙКА => ПАНЕЛЬ УПРАВЛЕНИЯ => ЭКРАН =>
НАСТРОЙКА => ДОПОЛНИТЕЛЬНО => ОБЩИЕ => РАЗМЕР ШРИФТА и ставьте КРУПНЫЙ
ШРИФТ (если уже стоит, то можете просто понизить разрешение экрана), нажимайте
OK и перезагружайте компьютер. Затем запустите, недавно скомпилированный, проект
и Вы окажетесь на месте значительной части пользователей находящейся, в основном,
на работе. Приятно? Думаю, что нет. Я уже не говорю о тех, у кого разрешение
экрана 640х480…
Для решения этой проблемы придется
вспомнить математику первого класса начальной школы и разделить размер экрана,
в данном случае, на 1.2.
Me.Width = Round(Screen.Width
/ 1.2)
Me.Height = Round(Screen.Height / 1.2)
Надеюсь, после этого Вы также не
будете устанавливать на форму картинку, поскольку при изменении размера окна,
картинка остается неизменной.
Что касается контролов, то с ними
придется повозиться, хотя ничего сложного в этом нет. Подробнее на эту тему
я напишу в следующий раз.
И напоследок, у некоторых контролов
есть замечательное свойство AutoSize, не забывайте пользоваться им.
Happy end
Пока хватит, об остальном напишу
в следующий раз, если Вы конечно не против ;)
Все вопросы по поводу статьи,
а также спам и вирусы присылайте на mfulgore@yandex.ru
Распространение данной статьи
разрешено, при условии сохранения ссылки на автора.
Copyright © Nemiro AS 04'2003