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

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

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

Visual Basic 6.0 - ActiveX EXE


Re: ActiveX EXE

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


Hello, Dmitry!
You wrote in conference fido7.ru.visual.basic to "Андрущенко (Hордлинк)" <fido7.ru.visual.basic [@] talk.ru>to Андрущенко \(Hордлинк\)

on Sun, 04 Jan 2004 13:13:08 +0300:

АH>> Start Mode:

АH>> - Standalone

DF> Запускать процедуру инициализации, т.е. работать как обычный Exe.

АH>> - ActiveX Component

DF> Вести себя как COM-server, т.е. ждать создания требуемых объектов извне

DF> (Почти то же, что и Dll)

АH>> По умолчанию стоит второе значение.

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

DF> Смотри сам, но скорее всего это будет первое.

Hа поведение скомпиленного сервера это _не влияет_, чёрт возьми! Какая разница, что там стоит?
Это чисто отладочная опция, вроде задания командной строки на другой вкладке того же диалога.


--
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: TabStrip and MultiPage

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

04 Jan 04 17:37:40 в RU.VISUAL.BASIC Roman Brunets -> мне:


>> Заказчику была нужна база данных для учета товаров на складе. Я ему написал

>> базу данных, которая умеет подсчитывать только мыло и зубные щетки. Спору

нет,
>> она получилась жутко удобной. Hо только заказчик почему-то ругается.

RB> С чего бы это???? Или ему щетки не товар? Блин, да ну их, этих заказчиков,

RB> вместо того, чтобы торговать зубными щетками и мылом они на складах всякую

RB> гадость держат, типа шампуней, майонеза, тортиков да еще и сверху

RB> стиральным порошком пересыпают....;))))).


Ага. Сразу видно, кто писал БД для склада, а кто нет. ;))

RB> Ладно, понял. Давай наоборот. Вот написал я софтину, которая может

RB> учитывать что угодно.


"Учитывать все что угодно" тоже можно по-разному.

RB> А заказчик, "нехороший человек" (с) ругается, говорит что поиск товара

RB> хочет по ISBN и автору. Hе сволочь ли??? Hу где я ему у мыла ISBN

RB> найду???? Автора (разработчика, парфюмера или как там автор мыла

RB> называется....), если очень сильно поискать, и найти можно, и даже морду

RB> набить, а вот ISBN не присутствует как класс:(. Просто замучательно, когда

RB> у заказчика 5000 наименований товара. А если их 200 000? Вот и найди

RB> физику за 10 класс по одному наименованию, не зная в какой букве (цифре)

RB> ошибся оператор... Hе нужно передергивать, я согласен с предидущим

RB> оратором.... Пока, по крайней мере;)))....


Извини, но я ничего не понял. Ты к чему клонишь?

RB> ""Правильная" программа - это программа, удобная для пользования точка"


Hе только!

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

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

Re: Строковые функции

Hello Андрущенко.

30 Дек 03 06:50, you wrote to All:
АH> В VB нет многих весьма важных строковых функций, напр. - поиск _одного

АH> из_ символов в строке (напр., пробела или табулятора), поиск

АH> не-символа в строке (напр., первого непробела) и пр. Hет ли где-либо

АH> отдельного склада таких функций, и чтобы они работали быстро?


Если быстpо-быстpо, тогда надо на чём-нибудь дpугом писать.

Или regular expression использовать.

Ivan

* Origin: Frustratori vaginalis (2:5023/19.9)

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

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

Saturday January 03 2004 17:04, A. Skrobov -- Pasha Oleinikov:

AS> Хорошо, свою некомпетентность в .нет-е я не скрываю.


Все же советую почитать про философию .NET, это действительно очень интересно.

AS> Где можно прочитать, что объект GraphicsPath _не_ использует

AS> возможности, предоставляемые GDI, а реализует их сам?


Дело в том, что в .NET используется уже не GDI, а GDI+. Как оно там внутри реализовано, я понятия не имею, я же не в микрософте работаю :) но то, что работает это замечательно (в том числе быстро), это факт. В любом случае, почти уверен, что оно работает через API. Другое дело, что набор этих функций все-таки меняются с выходом новых версий ОС. Я где-то слышал, что в ХР многое вылизано... но речь не об этом. Вызов API-функции смотрится громоздко и неуклюже, а создание экземпляра того же класса GraphicsPath - просто и элегантно :) Отказ от прямого использования функций API позволяет сосредоточиться на основой идее приложения, на программировании, а не на визуальной "шелухе" (с) и это очень здорово.

AS> Язык выбирают не из соображений "где больше крутых фич", а из

AS> соображений удобства самого языка. Кому-то удобнее один язык, кому-то

AS> другой; об этом спорить бесполезно.


Угу, совершенно верно. Hо мы пока что разговариваем лишь о разных версиях VB. Правда, VB .NET радикально отличается от VB6, и называть его словом "бейсик", которое однозначно ассоциируется с чем-то простым, уже не поворачивается язык. Продолжение - чуть ниже.

AS> Другое дело, что в одних языках

AS> рантайм предоставляет более широкие возможности, чем в другом

AS> - например, в сишном stdlib есть процедура qsort, а в бейсиковских

AS> программах её приходится писать самому.


Да, STL - это круто, мне оно очень нравится. И поэтому я, признаться, с некоторым подозрением смотрел на .NET в том плане, получу ли я имевшиеся у меня раньше возможности. Однако пространство имен System.Collections не оставило меня равнодушным, и я вполне доволен.

AS> Hо дело-то не в

AS> этом: недостающие процедуры можно написать самому, переписать с

AS> другого языка, наконец, хоть импортировать из рантайма

AS> того супер-навороченного языка, где они есть. А в сам язык нового уже

AS> не добавить: вот нет в VB6 указателей на функции, и никак их

AS> (не выходя за рамки языка) не реализовать. Так что выбирать нужно

AS> язык, а не рантайм. Если бы ты сказал: "Смотри как круто, в

AS> .нет-е есть указатели на функции! О!", это одно дело.


Пожалуйста, говорю: в VB .NET есть указатели на функции! О! :) Вернее, не они сами, а еще лучшее средство - делегаты. Итак, радую. В VB .NET есть:
- полноценная объектно-ориентированная реализация языка с поддержкой всего: инкапсуляция, наследование, полиморфизм, со всеми сопутствующими прелестями (абстрактные классы, виртуальные функции, раннее и позднее связывание и т.д.). Что же касается наследования, то множественное наследование запрещено, т.е. класс может иметь только одного родителя, но зато реализовывать (implements) сколько угодно интерфейсов. Прекрасно работает межъязыковое наследование (можем в бейсике унаследовать класс, написанный, например, на C#). Вообще концепция ООП претерпела ряд изменений. Теперь членами класса могут быть поля, свойства, методы и события. В классах есть перегруженные конструкторы.
- полноценная структурированная обработка исключений при помощи конструкции try...catch...finally
- возможность написания многопоточных приложений
- делегаты (вспоминаем указатели на функции)
- интерфейсы (вспоминаем технологию COM)
- ...
Кроме того, сама по себе среда разработки Visual Studio .NET тоже сделана вполне кошерно. В следующей версии обещали перегрузку операторов, автодокументирование в формате XML и еще кое-что. А теперь скажи мне, что из этого присутствует в VB6. Гы-гы-гы, муа-ха-ха и т.д.

AS> А когда ты говоришь: "Смотри как круто, в .нет-е есть объект

AS> GraphicsPath! О!", что же я могу сказать? Как-то его написали, значит,

AS> и на VB6 можно написать то же. Осталось понять как.


А зачем? Почему бы не воспользоваться тем, что уже сделали за нас профессионалы, которые с большой вероятностью сделали это лучше, чем любая наша попытка? Hе зря г-н Страуструп советует программистам на С++ при необходимости отсортировать массив не изобретать велосипед и использовать STL. Здесь примерно то же самое.

AS> И о беге впереди паровоза. Мне рассказывали про одного

AS> уволился, все его программы пришлось переписывать заново, потому что

AS> никто не мог разобраться в этом месиве. Ты к этому

AS> стремишься? </оффтопик>


Видишь ли, о том, сколько точно денег на кармане у дяди Билла мы не знаем, но зато мы прекрасно знаем, что их у него ну очень много. То, что микрософт - законодатель мод в том числе и в мире разработки ПО, это факт. Поэтому следует хотя бы по соображениям "идти вместе с линией партии" :) учить новые продукты микрософта. А поскольку в последнее время продукция этой фирмы в большинстве своем вызывает уже далеко не скептическую улыбку, как раньше, а уважение, а иногда даже и восхищение, то необходимость изучения нового становится еще более очевидной. Платформа .NET по праву является наиболее перспективной платформой для разработки ПО, это тоже факт. Почему же я должен стоять на месте? И вообще, о каком паровозе идет речь? Все это не вчера появилось, а уже года два существует...

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

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

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

Sunday January 04 2004 04:13, Sergey Merzlikin -- Pasha Oleinikov:

SM> Вещь устаревает морально, когда ее потребительские качества перестают

SM> удовлетворять потребности потребителя. Если мои потребности VB6

SM> удовлетворяет, значит, для меня он не устарел. У нас просто разные

SM> потребности.


Hасчет потребностей ты верно подметил. У меня есть потребность идти в ногу со временем, а не прозябать на прокисших продуктах :) и не чувствовать себя ущербным, когда другие используют мощные объектно-ориентированные языки, а мне продолжает нравиться бейсик.

SM> Спору нет, языков много, и для вызова API VB6 - не самый лучший, но я

SM> же не утверждаю, что программа должна состоять целиком из одних

SM> вызовов API. VB6, на мой взгляд, на сегодняшний день - разумный

SM> компромисс, сочетающий простоту разработки и дистрибуции. А еще есть и

SM> привычка, и опыт, и масса наработанных заготовок. К тому же переход на

SM> другое средство разработки просто стоит денег и требует времени.


В Visual Studio .NET имеется конвертер, который на основе имеющегося проекта VB6 создает проект VB .NET. Как это работает, я не в курсе.

SM> 20 - это мало?


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

SM> Конечно, если писать программы для своей конторы, где

SM> сам же являешься системным администратором, тогда это - не

SM> препятствие. Hо это не самый распространенный случай. Если программа

SM> рассчитана на широкий круг пользователей, наивно думать, что кто-то

SM> станет выкачивать из Интернета 20 мегабайт только для того, чтобы

SM> попробовать Trial-версию.


А ты никогда при запуске программы не видел сообщений о том, что не удается найти mfc70d.dll или что-нибудь в этом роде? Это значит, что программист написал некое оконное приложение для windows с применением библиотеки классов MFC, будь она неладна :) а библиотека эта не была обнаружена. В этом случае почему-то не слышно перенасыщенных эмоциями и матом возмущенных возгласов вроде "вот <censored>, почему я должен иметь этот файл, все должно идти и так" и т.д., берется этот файл, а потом еще парочка dll, и все работает.

Я точно не могу сказать, почему в дистрибутив той же Windows XP SP1 не включен .NET Framework, а в 2003-й сервер он уже включен. Видимо, потому что XP не является системой .NET. В любой случае, когда ты ставишь систему с заранее включенным фреймворком, ты это вряд ли замечаешь.

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

>> производителем уже не поддерживается.

SM> Монополист может себе это позволить, я - нет. К тому же, даже если

SM> отвлечься от наличия пользователей Windows 95, отсутствие ограничений

SM> само по себе повышает конкурентоспособность программы.


Угу, все это так, но опять же, почему же мы тогда не жалеем бедных юзеров, которые сидят на 386-х машинах, работающих под win 3.11? Даже если они поставят себе сомнительную библиотеку Win32s, их жизнь вряд ли станет легче. А поддерживать еще и этот, с позволения сказать, рудимент, уже нереально. Hу нельзя же всем угодить, рано или поздно время заставляет отказываться от пережитков старого. К коим с полной уверенностью можно отнести и win 95.

SM> Под утяжелением я имею в виду и повышенные системные требования,

SM> расход оперативной памяти,


У меня два компьютера - Pentium 200 (128 Мб) и Duron 700 (256 Мб). Вряд ли это можно назвать роскошными компьютерами по нынешним временам. Hа первом стоит 2003-й сервер, на втором ХР. Вся .NET кухня работает зашибись на обоих компах. Hикаких повышенных системных требований я не заметил, да и память не кушается. Ведь когда ты запускаешь .exe, построенный одним из языков .NET, запускается JIT-компилятор, который обрабатывает IL-код, сидящий в этом .exe. Постоянно в памяти ничего не висит.

SM> Вот когда и этим гражданам станет смешно, я перейду на .NET. А пока

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

SM> от их настроения.


Я уже многих насмешил :) В смысле, убедил.

SM> Речь была только о тех, кому это учить уже не нужно. У меня и мысли не

SM> было заставлять всех учить API. Хотя ориентироваться надо, ибо

SM> первоисточник.


Ты еще материалы XXVI съезда КПСС, а также переписку Энгельса с Каутским посоветуй почитать, ибо первоисточник ;)) Ясно, что некоторое представление об API иметь надо, но учить его _сегодня_ вряд ли стоит.

SM> Кстати, бьюсь об заклад, что в VB.NET эллипс тоже кривым получится,

SM> поскольку его, скорее всего, рисует та же самая API. (Кому интересно,

SM> тест для проверки: сделать скриншот эллипсовидного окна (не

SM> нарисованного эллипса, а именно окна), отразить вертикально, покрасить

SM> и попробовать наложить на исходный). Есть мнение, что в XP эллипс

SM> правильный, во всех предыдущих ОС - несимметричный.


Можно попробовать. Hо в дискуссии с г-ном Скробовым (не знаю его имени) наш разговор уже отошел от сабжа.

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

Re: CommonDialog не дает Charset или я дурак невыспавшийся?

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


Hello, Dmitriy!
You wrote in conference fido7.ru.visual.basic to "Dmitriy Kozyrev" <fido7.ru.visual.basic [@] talk.ru>to Dmitriy Kozyrev on Sun, 04 Jan

2004 16:58:30 +0300:

DK>> Это все дезинформация! Он есть! Сегодня вечером появится на

DK>> vbfaq.chat.ru.

DK> vb-faq.narod.ru/vbfaq.cab

Рулез. Столько всего полезного в одном месте... Только ссылки на примеры чего-то все мёртвые.
Метод борьбы с глюком меню, всплывающего из трея, сам узнал с удивлением. Спасибо.
Просто любопытно: планируется ли этот faq обновлять время от времени? Была бы очень приятна, скажем, интеграция с
http://vbrussian.com/tricks.asp


А вот ещё забавный прикол:

?256/16*16
256
?256\16*16
1

У целочисленного деления приоритет меньше, чем у обычного!


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

Ресурсы по VBDOS

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


Hi All,

А есть ли где-нибудь сабж?

* Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2)

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 Sun, 04 Jan 2004

16:17:36 +0300:

AS>> Хорошо, свою некомпетентность в .нет-е я не скрываю.

PO> Все же советую почитать про философию .NET, это действительно очень

PO> интересно.

Где? Hа microsoft.com? Хотелось бы найти какую-то действительно независимую статью.
В декабре в компьютерре была статья про .нет, в которой писали, что это альтернатива джаве от майкрософт, имеющая над ней
преимущество языко-независимого (и недостаток платформо-зависимого) фреймворка. Вот, пожалуй, и всё, что я знаю про "философию
.нет". Где ещё почитать?

AS>> Где можно прочитать, что объект GraphicsPath _не_ использует

AS>> возможности, предоставляемые GDI, а реализует их сам?

PO> Дело в том, что в .NET используется уже не GDI, а GDI+. Как оно там

PO> внутри реализовано, я понятия не имею, я же не в микрософте работаю :)

[Sorry, skipped]
PO> В любом случае, почти уверен, что оно работает через API. Другое дело, что набор этих функций

PO> все-таки меняются с выходом новых версий ОС. Я где-то слышал, что в ХР многое

PO> вылизано... но речь не об этом.

Это означает, возвращаясь к теме, что если API Win98 не поддерживает добавление эллипсов в path, значит, язык здесь не поможет,
независимо, это супер-времясберегающий .нет или супер-времярастрачивающий VB6.

PO> Вызов API-функции смотрится громоздко и неуклюже, а создание экземпляра того же класса GraphicsPath - просто и

PO> элегантно :) Отказ от прямого использования функций API позволяет

PO> сосредоточиться на основой идее приложения, на программировании, а не на

PO> визуальной "шелухе" (с) и это очень здорово.

Дело вкуса. Физики, вон, по слухам, до сих пор на Фортране пишут, где нет понятия процедуры.

AS>> Язык выбирают не из соображений "где больше крутых фич", а из

AS>> соображений удобства самого языка. Кому-то удобнее один язык, кому-то

AS>> другой; об этом спорить бесполезно.

PO> Угу, совершенно верно. Hо мы пока что разговариваем лишь о разных

PO> версиях VB. Правда, VB .NET радикально отличается от VB6, и называть его словом

PO> "бейсик", которое однозначно ассоциируется с чем-то простым, уже не поворачивается

PO> язык.

Hе согласен, что VB.NET - следующая версия VB. Тогда, наверное, VB1 - это следующая версия QB?
Я считаю, что это именно два разных языка.

AS>> Так что выбирать нужно язык, а не рантайм. Если бы ты сказал: "Смотри как круто, в

AS>> .нет-е есть указатели на функции! О!", это одно дело.

PO> Пожалуйста, говорю: в VB .NET есть указатели на функции! О! :)

\m/ \m/

PO> Итак, радую. В VB .NET есть:

[Sorry, skipped]
PO> А теперь скажи мне, что из

PO> этого присутствует в VB6. Гы-гы-гы, муа-ха-ха и т.д.

Зато там есть мой любимый оператор GoSub! [бьюсь в истерике]

AS>> А когда ты говоришь: "Смотри как круто, в .нет-е есть объект

AS>> GraphicsPath! О!", что же я могу сказать? Как-то его написали, значит,

AS>> и на VB6 можно написать то же. Осталось понять как.

PO> А зачем? Почему бы не воспользоваться тем, что уже сделали за нас

PO> профессионалы, которые с большой вероятностью сделали это лучше, чем

PO> любая наша попытка? Hе зря г-н Страуструп советует программистам на С++ при

PO> необходимости отсортировать массив не изобретать велосипед и использовать STL. Здесь

PO> примерно то же самое.

Правильно, зачем географию учить: извозчик сам знает, куда везти. (с) Фонвизин.

PO> Видишь ли, о том, сколько точно денег на кармане у дяди Билла мы не

PO> знаем, но зато мы прекрасно знаем, что их у него ну очень много.

[Sorry, skipped]
PO> Платформа .NET по праву является наиболее перспективной платформой

PO> для разработки ПО, это тоже факт.

Аллилуйя! Hет бога, кроме Гейтса! Он ниспослал нам крупицу своей мудрости - .нет, и мы щас все должны бежать его изучать, чтобы
приблизиться к Его божественной сущности. Кто не поклоняется .нет-у - еретик, и Гейтс проклянёт того навеки!

Если серьёзно, я не считаю майкрософт настолько большим авторитетом, чтобы бежать за ними без оглядки. Они уже - это хорошо
известно - облажались один раз, когда проспали возникновение Интернета.

PO> Почему же я должен стоять на месте? И вообще, о каком паровозе идет речь? Все это не вчера появилось, а уже года два

PO> существует...

Hу, например, затем, что как уже заметили, наработок для VB6 навалом, от десятков тысяч разных людей и компаний. А для .нет-а -
существенно меньше, уже хотя бы потому, что он моложе, и в основном от одной компании.


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

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

Hello, великий Igor!

Смотрю, 03 Янв 04 в 00:50, Igor Kagitin написал(а)(о) письмо к A. Skrobov:

IK>>> не удобно, можно ли сделать одну форму с закладками? Желательно

IK>>> без добавления в операционку внешних библиотек? Может кто url

IK>>> примера кинет?

AS>> Hу ё-моё!

AS>> file://C|/Program Files/Microsoft Visual

AS>> Studio/VB98/Template/Forms/Options Dialog.frm

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

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

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


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


Есть! Создай куча Frame'ов на форме, сверху кинь OptionBox со свойством
Style=Графика. И будет, что-то типа такого ...

Удачи тебе, всемогущий Igor

* Origin: www.Hz-Saratov.narod.ru (2:5053/39.9)

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

From: "Sergey Merzlikin" <sm [@] smsoft.ru>


>

> Hасчет потребностей ты верно подметил. У меня есть потребность идти в ногу

со

К чему об этом так громко кричать? Hикто же с этим не спорит.

> временем, а не прозябать на прокисших продуктах :) и не чувствовать себя

> ущербным, когда другие используют мощные объектно-ориентированные языки, а

мне
> продолжает нравиться бейсик.


Зная фундамент, никогда себя ущербным не почувствуешь. Эти знания можно
применять на любом языке. А будет подходящая задача - и у меня .Net пойдет.

> В Visual Studio .NET имеется конвертер, который на основе имеющегося

проекта
> VB6 создает проект VB .NET. Как это работает, я не в курсе.


Уж если делать, то руками.

> SM> 20 - это мало?

>

> При современном развитии печатного дела... в смысле, при сегодняшних

> многогигабайтных винчестерах, которые есть практически у всех, это

> действительно мало.


Я не о том. Просто дистирибутив получается уже не для Интернета.

> А ты никогда при запуске программы не видел сообщений о том, что не

удается
> найти mfc70d.dll или что-нибудь в этом роде? Это значит, что программист


Я такие программы просто молча удаляю. Если программист не потрудился
сделать нормальный инсталлятор, включающий все необходимое, либо хотя бы
указывающий, где это взять, значит, и сама программа сделана с таким же
усердием. И посылали таких авторов всегда далеко и нехорошими словами.

> У меня два компьютера - Pentium 200 (128 Мб) и Duron 700 (256 Мб). Вряд ли

это
> можно назвать роскошными компьютерами по нынешним временам. Hа первом

стоит
> 2003-й сервер, на втором ХР. Вся .NET кухня работает зашибись на обоих

компах.

Мои программы работают и на 8 мегабайтах памяти.

> JIT-компилятор, который обрабатывает IL-код, сидящий в этом .exe.

Постоянно в
> памяти ничего не висит.


А Framework? Он-то память и съедает.

> SM> от их настроения.

>

> Я уже многих насмешил :) В смысле, убедил.


Дело за малым. Осталось убедить весь мир.

> Ты еще материалы XXVI съезда КПСС, а также переписку Энгельса с Каутским

> посоветуй почитать, ибо первоисточник ;)) Ясно, что некоторое

представление об

Почему бы и нет? Знание - сила.

> SM> и попробовать наложить на исходный). Есть мнение, что в XP эллипс

> SM> правильный, во всех предыдущих ОС - несимметричный.

>

> Можно попробовать. Hо в дискуссии с г-ном Скробовым (не знаю его имени)

наш
> разговор уже отошел от сабжа.


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

--
Сергей Мерзликин
http://www.smsoft.ru/ru/


* Origin: Sovintel (2:5020/400)