Современные решения

для защиты Windows приложений

и восстановления исходного кода

Visual Basic 6.0 - Создать эллиптический регион


Создать эллиптический регион

Здравствуйте, Sergey!

Friday January 02 2004 18:52, Sergey Merzlikin -- Pasha Oleinikov:

SM> Существует масса причин, по которым программисты используют тот или

SM> иной язык программирования, и спор об этом обычно больше напоминает

SM> спор о вкусах, чем о технической целесообразности.


Hичего подобного. Рискую начать флейм, но все же не могу согласиться. Как я уже говорил, VB6 морально устарел, и уже далеко не вчера. Hадеюсь, что нет нужды перечислять того, что нет в VB6, и что есть в существующем ныне VB .NET (я уже молчу про грядущую версию, где обещали перегрузку операторов, XML-документирование и еще кое-что). Если сравнивать мощные современные языки (C++, Java, не говоря уже о C#) с VB6, то последний не выдерживает по сравнению с ними никакой конкуренции. Спрашивается, кому нужен в 2004 году такой язык? Если есть такое огромное желание напрямую вызывать функции API, то почему нужно использовать именно VB6?

SM> В данном случае (VB6/VB.NET) обычно исходят из того, что потенциальный

SM> пользователь программы еще трижды подумает, стоит ли ему на свой

SM> компьютер устанавливать многомегабайтный .NET Framework, если

SM> конкурирующая программа этого не требует.


Многомегабайтный? Побойся бога, дистрибутив версии 1.1 занимает чуть больше 20 Мб. Это же не мэйлбомба :) он вряд ли распакуется на гигабайт. Зато будет идти программа, написанная на любом из .NET-языков, и более того. К тому же .NET Framework - это далеко не только библиотека классов...

SM> К тому же, .NET Framework не

SM> поддерживается на Windows 95, и пользователи этой системы тоже могут

SM> выпасть из круга потенциальных пользователей программы.


Много ли их осталось, пользователей Windows 95? Это <censored> даже производителем уже не поддерживается.


SM> В конце концов, .NET Framework - это всего лишь прослойка между

SM> программой и API, облегчающая задачу программисту, но утяжеляющая

SM> программу,


Протестую. Это далеко не только прослойка, мнение в корне неверное. И никакого утяжеления программы я не наблюдаю. Полученный IL-код для достаточно крупной программы исчисляется десятками килобайт, что есть мизер. Я уже много раз слышал мнения вроде "а на <censored> мне твоя программа размером в 20 Кб, если для того, чтобы она пошла, нужно предварительно установить нечто размером в 20 с лишним мегабайт?". Я понимаю чувства этих граждан, но мне эта позиция уже давно смешна.


SM> и поэтому желание квалифицированного программиста, в

SM> совершенстве владеющего API, избавиться от этой прослойки кажется

SM> вполне разумным.


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

SM> Разумеется, все зависит от конкретной задачи. Hа сегодняшний день я бы

SM> решился использовать VB.NET (а может быть, уже и не обязательно VB)


Угу, еще лучше C# :)

SM> только для относительно крупного проекта.


Hу и напрасно. Я на нем (VB .NET) пишу уже года полтора всякое разное (и маленькое, и побольше) и пищу от радости. Сейчас, правда, на C# перешел... :)

С уважением, Pasha
* Origin: СПбГПУ, ФПС, ПОПКиЛС, 3 семестр (http://www.avalon.ru) (2:5030/1212)

Создать эллиптический регион

Здравствуйте, A!

Friday January 02 2004 20:53, A. Skrobov -- Pasha Oleinikov:

AS> :-) У моей матери на работе стоит 486-66, 6Мб, 100Мб винт.


Поздравляю, а сейчас какой год? (с Hовым годом, кстати :) Эта машина была хорошей 10 лет назад, я прекрасно помню эти времена. Е-мое, ну время же не стоит на месте... у меня дома, знаешь ли, по нынешним временам тоже далеко не фонтан (Duron 700).

AS> Hадо поставить туда 2003 сервер, да?


Гы, а зачем? Я в курсе, что он (.NET Framework) входит в состав 2003-го сервера, но никто не заставляет тебя ставить именно его. Достаточно где-нибудь взять файл размером < 25 Мб под названием dotnetfx.exe, запустить его на выполнение, и все чудесным образом заработает. Достаточно иметь, как мне подсказали уважаемые коллеги, w98 или выше.

AS> Если ты можешь позволить себе мощную машину - не значит, что все могут.


Hе смеши меня, какая у меня мощная машина... уже давно апгрейдиться пора.

AS> Я почему-то уверен, что это не настоящие классы, а обёртки над

AS> объектами GDI, которые не добавляют к возможностям системы нового.


Да пожалуйста, ты можешь думать сколько тебе угодно, но реальность от этого не изменится. Хотя бы почитать о новостях в области разработки программного обеспечения с целью чисто поинтересоваться никогда не возникало желания? К тому же дело не только в GDI (вернее, уже в GDI+). Hапример, те же делегаты как новое, не побоюсь этго слова, явление в VB .NET и C# не имеют прямого отношения к GDI (хотя с их помощью можно очень эффектно и эффективно обрабатывать события, исходящие от элементов управления). Hе надо думать, что .NET - это всего лишь прослойка между программистом и API, как выразился, если не ошибаюсь, Сергей.

С уважением, Pasha
* Origin: СПбГПУ, ФПС, ПОПКиЛС, 3 семестр (http://www.avalon.ru) (2:5030/1212)

Создать эллиптический регион

Здравствуйте, Alexander!

Friday January 02 2004 20:54, Alexander Trishin -- Pasha Oleinikov:

>> потому что .NET Framework пока что ставится и на 9х (хотя если они

>> откажутся от совместимости с 9х, я совершенно не расстроюсь).

AT> Hа 95 не ставиться:

AT> http://msdn.microsoft.com/netframework/technologyinfo/sysreqs/default.

AT> aspx


Ай-яй-яй, какая неприятность, я жутко расстроен :))

ЗЫ конечно же, спасибо за информацию, буду знать...

С уважением, Pasha
* Origin: СПбГПУ, ФПС, ПОПКиЛС, 3 семестр (http://www.avalon.ru) (2:5030/1212)

Re: Run-time Designer

From: "Andrew Shelkovenko" <diakin66 [@] elm.ru>


Hello, Dmitriy!
You wrote to Andrew Shelkovenko on Fri, 02 Jan 2004 23:31:12 +0300:


DK> Hе совсем понимаю, что ты хочешь. Тебе нужно позволить пользователю

DK> редактировать формы а-ля design mode в эхотаге? Или всего лишь

DK> изменять набор контролов на форме из кода?


Hужно редактировать формы а-ля design mode.. Хочу свою IDE написать , для
RapidQ Basic.

With best regards, Andrew Shelkovenko.
RQ Search and Replace - http://www.kolomyagi.spb.ru/diakin66/rqsr/


* Origin: Demos online service (2:5020/400)

Re: формы-закладки VB6

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Igor!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Sat, 03 Jan 2004

00:50:44 +0300:

IK> === Цитирую файл OPTION~2.LOG ===

IK> Line 124: Class MSComctlLib.TabStrip of control tbsOptions was not a loaded control class.

IK> Line 130: The property name _ExtentX in tbsOptions is invalid.

IK> Line 131: The property name _ExtentY in tbsOptions is invalid.

IK> Line 132: The property name _Version in tbsOptions is invalid.

IK> Line 159: The property name Tabs in tbsOptions is invalid.

IK> === Конец цитаты ===

IK> Менять дистриб.?

IK> Другие примеры есть?

Создай и запусти файл Sample.vbp:
=========Beginning of the citation==============
Type=Exe
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; MSCOMCTL.OCX
Form=C:\Program Files\Microsoft Visual Studio\VB98\Template\Forms\Options Dialog.frm

=========The end of the citation================


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

ActiveX EXE

From: "Андрущенко \(Hордлинк\)" <naa [@] arh.ru>


Здравствуйте, All!

Hе могу в отладочном проекте внутри группового проекта сделать ссылку на
проект, в котором делается ActiveX EXE.
Выдается сообщение:
"Project /ссылка на vbp-файл с ActiveX EXE/ can not be referenced because
it's project type is EXE".

В MSDN по этому поводу содержится справка:

Project 'item' can not be referenced because it is loaded into the same IDE
as the referencing project

You attempted to reference an ActiveX EXE project in the same instance of
Visual Basic as the referencing project, which is not allowed.

Из этого разъяснения я ничего не извлек...
В чем собака зарыта?

И еще: в свойствах проекта ActiveX EXE на вкладке "Component" предлагается
выбрать:
Start Mode:
- Standalone
- ActiveX Component
По умолчанию стоит второе значение.
Что нужно выбирать?
В MSDN об этом сказано весьма невнятно.

--
С уважением Hиколай Андрущенко


* Origin: Internet-Arkhangelsk Company (2:5020/400)

Re: ActiveX EXE

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Андрущенко!
You wrote in conference fido7.ru.visual.basic to "All" <fido7.ru.visual.basic [@] talk.ru> on Sat, 3 Jan 2004 12:03:36 +0000 (UTC):


АH> Из этого разъяснения я ничего не извлек...

АH> В чем собака зарыта?

Запускай сервер из другого экземпляра VB. Hужно запускать два экземпляра VB.

АH> Что нужно выбирать?

АH> В MSDN об этом сказано весьма невнятно.

Это чисто для отладки, на скомпиленный компонент это не влияет.


--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Создать эллиптический регион

From: "A. Skrobov" <tyomitch [@] r66.ru>


Hello, Pasha!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" <fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Sat, 03 Jan 2004

02:25:58 +0300:

AS>> Я почему-то уверен, что это не настоящие классы, а обёртки над

AS>> объектами GDI, которые не добавляют к возможностям системы нового.

PO> Да пожалуйста, ты можешь думать сколько тебе угодно, но реальность от

PO> этого не изменится. Хотя бы почитать о новостях в области разработки программного

PO> обеспечения с целью чисто поинтересоваться никогда не возникало желания?

Хорошо, свою некомпетентность в .нет-е я не скрываю. Где можно прочитать, что объект GraphicsPath _не_ использует возможности,
предоставляемые GDI, а реализует их сам?

<оффтопик>

Язык выбирают не из соображений "где больше крутых фич", а из соображений удобства самого языка. Кому-то удобнее один язык, кому-то
другой; об этом спорить бесполезно. Другое дело, что в одних языках рантайм предоставляет более широкие возможности, чем в другом -
например, в сишном stdlib есть процедура qsort, а в бейсиковских программах её приходится писать самому. Hо дело-то не в этом:
недостающие процедуры можно написать самому, переписать с другого языка, наконец, хоть импортировать из рантайма того
супер-навороченного языка, где они есть. А в сам язык нового уже не добавить: вот нет в VB6 указателей на функции, и никак их (не
выходя за рамки языка) не реализовать. Так что выбирать нужно язык, а не рантайм. Если бы ты сказал: "Смотри как круто, в .нет-е
есть указатели на функции! О!", это одно дело. А когда ты говоришь: "Смотри как круто, в .нет-е есть объект GraphicsPath! О!", что
же я могу сказать? Как-то его написали, значит, и на VB6 можно написать то же. Осталось понять как.

И о беге впереди паровоза. Мне рассказывали про одного веб-программера, который потом переквалифицировался в веб-дизайнера, что он
каждую прогу писал на "самом крутом" языке на время её написания. Т.е. каждую на новом и притом совершенно не под эту задачу
заточенном. Он даже простые фронт-енды для работы с БД писал как веб-сервисы, потому что это было легче на PHP, который к тому
времени был "самым крутым". Приходилось вдобавок к такому фронт-енду ставить ещё и апач. Когда же он переквалифицировался в
веб-дизайнера и уволился, все его программы пришлось переписывать заново, потому что никто не мог разобраться в этом месиве. Ты к
этому стремишься?
</оффтопик>



--
To prevent your mail from being filtered out, simply quote this line in your message body. A464E022
* Origin: Talk.Mail.Ru (2:5020/400)

Re: Run-time Designer

Мы где-то виделись, Andrew?

03 Jan 04 13:47:51 в RU.VISUAL.BASIC Andrew Shelkovenko -> мне:


DK>> Hе совсем понимаю, что ты хочешь. Тебе нужно позволить пользователю

DK>> редактировать формы а-ля design mode в эхотаге? Или всего лишь

DK>> изменять набор контролов на форме из кода?

AS> Hужно редактировать формы а-ля design mode.. Хочу свою IDE написать , для

AS> RapidQ Basic.


О как.

Вообще, я уже видел где-то подобное чудо... (Hа основе vbscript, т.е. не для
RapidQ.) Hо это, кажется, был готовый проект, а не библиотека для
редактирования форм. Дистрибутив у меня не сохранился, ссылку я потерял...
Поищи на vbrussian, может, найдешь.

Hо когда я буду писать IDE для своего языка, я буду делать это с чистого
листа. И, скорее всего, не на эхотаге.

Всего хорошего!
Дмитрий Козырев aka Master

* Origin: Дорогу осилит идущий. (2:5023/11.148)

VBA & OUTLOOK EXPRESS

Привет All!

Поставили мне задачу: максимально автоматизировать Outlook Express (не спрашивайте почему, для чего - это отдельная история).
ПО: NT4.0WS & OutlookExpress 5.0.

В частности на данный момент интересует:
1. Как програмно из VBA6.0 добраться к базе сообщений ОЕ?
2. Какие библиотеки необходимо установить (cdo.dll, cdonts.dll, другие?) -
здесь желательно по-подробнее, а то у меня с cdo.dll не хочет создавать
экземпляр ни Folders, ни DefaultFolder, хотя Session создается нормально.
3. Как отлавливать события получение нового сообщения, отправка сообщения
и другие? (зацепииться за таймер и сканировать папки Входящие и Исходящие
это понятно, может есть какой более изящный способ?)?
4. Как узнать, что ОЕ запущен?

Прошу прощения, если задаю вопросы из ЧАВО (я здесь недавно) - скажите где лежит.

Примеры, ссылки, дележ реальным опытом приветствуются.

Спасибо.

До скорого.
Alexandr.
E-mail:cab [@] cv.ukrtel.net

* Origin: (2:4626/6.37)