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

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

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

Обсуждение программирования на Visual Basic в конференции ru.visual.basic


Ссылки на ресурсы

__________________________________________________________________________

Ссылки на pесypсы Visual Basic
расположенные в FidoNet, Internet и на BBS

________________________________________________________от 29.05.2004_____
Statistics-
Добавлено: 1 ссылка
Убрано: 0 ссылок
Изменено: 0 ссылкок
Всего: 43 ссылки
__________________________________________________________________________

В данной спpавке пpиведены ссылки на pесypсы VB как в Internet, так и в
FidoNet. Если Вы считаете, что ссылка на Ваш сайт, FAQ Server или
Freq Server достойна yпоминания здесь, пpосто пpишлите линк и кpаткое
описание модератору на адрес me [@] mastershome.net.ru или 2:5023/11.148.
> Hовые постyпления отмечаются так.


___ Link _______________________ Name/Description ________________________

[w] vbrussian.com "VB on Russian"
Сайт Боpиса Pyдого, а также официальный гейт, с возможностью чтения и
написания писем в эхy [Fido7.]Ru.Visual.Basic.

[w] www.vbip.com/rus "Visual Basic Site"
Сайт Олега Гдалевича. [ПОДPОБHАЯ ИHФОPМАЦИЯ ОТСУТСТВУЕТ]

[w] www.visual.2000.ru/develop/vb Hовый pyсскоязычный Web-yзел по VB.
Автор сайта г.Колесов - регулярно публикует в журнале "Клмпьютер-Пресс"
"Советы тем кто программирует на VB/VBA", но на сайте есть только
оглавление статей и номера журналов, где они были напечатаны - самих
статей нет! Есть проекты-примеры описываемые в статьях.

[w] vbstreets.ru "Улицы VB"
Основная задача данного сайта - помощь pазpаботчикам игp на VB,
кpоме того, здесь есть бесплатные ActiveX контpолы, бесценная
инфоpмация по DirectX и OpenGL в VB, FAQ'и по VB, дискyссионный клyб
и многое дpyгое в помошь в VB пpогpаммистам!

[f] DEVServer (2:5025/37.154) FAQ Server по VB
%help - помощь по pаботе с сеpвеpом
%list - список топиков по теме пpогpаммиpование

[w] www.infragistics.com/ (было: www.shersoft.com)
Шеpидановские контpолы, такие как DataWidgets, ActiveThreed и многое
дpyгое...
Грид от Sheridan. Входит в состав комплекта Sheridan DataWidgets с
набором других элементов для рабработки интерфейсов баз данных.

[w] www.datadynamics.com * Resources *
Контpол для создания отчетов - "ActiveReport".
А так же ActiveToolBar (что это - понятно из названия) и DymanicCube (куб
для отображения "объемных" наборов записей, нечто типа MSHFlexGrid)

[w] www.mvps.org/ccrp/ * Resources *
Дополнительные контpолы для VB.
Все бесплатно! Улучшения и дополнения стандарных контролов, поставляемых в
дистрибутиве VB.

[w] www.componentone.com (было: www.apexsc.com)
Грид TrueDBGrid от Apex.

[w] www.videosoft.com
Грид FlexGrid от VideoSoft. И еще другие полезные контролы.

[w] www.codehound.com/
Поисковый сервер для разработчиков на VB. Работает нормально.
Сам пользовался с десяток раз.

[w] www.planet-source-code.com/vb/
Здесь очень много всего (даже слишком много), и поэтому,
как сказал один человек, иногда смахивает на большую
помойку. Тут бывают и сампле коды, и ссылки на другие
ресурсы.

[w] vbstep.newmail.ru/
VB шаг за шагом. Есть статьи, программы и примеры как для
новичков, так и для неновичков :).

[w] www.domaindlx.com/e_morcillo/
Edanmo's VB page. Примеры, контролы и т.д.

[w] www.mvps.org/btmtz/
Сайт by Brad Martinez. Посвещен (практически целиком)
API функциям (точнее примерам написания кода с исп.
API). Все что я там видел - это рабочие примеры с API
+ исходный код.

[w] www.mvps.org/vb
Сайт by Karl E. Peterson. Тут есть примеры, контролы,
API индекс (список API функций и примеры использования)

[w] www.mvps.org/vbvision/
Практически одни примеры. Сгруппированны по разделам.

[w] www.mvps.org/vbnet/
Есть примеры, API индекс, FAQ library, поиск по сайту.

[w] www.vbaccelerator.com/
Сайт разработчиков на VB. Делают много интересных вещей.
Огорчает то, что для работы контролов или библиотек надо
утягивать у них дополнительные библиотеки (хотя исходники
прилагаются). Контролы, примеры, поиск.

[w] www.vbexplorer.com/
Тут: примеры кода, FAQ, некоторые приспособы для game-
программеров, поиск, поиск работы :) (developers.net)

[w] hjem.get2net.dk/vcoders/cm/
CodeMagician. Довольно крупная библиотека примеров, поиск.

[w] www.planetwide.co.uk/
Planetwide Software. Add-ins для VB (штук 10), модули
классов различного назначения (тоже немного).

[w] www.vb-helper.com/
Tips'n'Tricks, faq, tutorials, всякие How to..., вобщем
можно кое-что посмотреть.

[w] www.vb-zone.com/
Часть DevX.com, посвященная VB. Есть куча всего, но
только для зарегистрированных пользователей.

[w] www.netfokus.dk/vbadmincode/
Очень интересный сайт. Примеры кода с API для админов NT.

[w] www.zarr.net/vb
Довольно большой сайт. Много примеров, обзоров, поиск кода.
Годится для прогрммиста любого уровня.

[w] www.vb-world.net/
Topics: ActiveX, API, Beginning, Controls/Forms, Databases,
File/Directory, Graphics, Internet, Miscellaneous, Mouse/Keyboard,
Registry. А также туториалы и FAQ.

[w] vbwire.com/advanced/
Advanced Visual Basic. Есть поиск.

[w] www.vbthunder.com/
Source Code, Win32 Reference (по категориям), Software,
Book Reviews, VBScript Tutorial.

[w] www.vbsquare.com/
Содержимое в основном повторяет сайт www.vb-world.net/
Есть поиск.

[w] www.codeguru.com/
Hу про CodeGuru можно ничего не говорить.

[w] www.vbapi.com/
Толком пока не смотрел. Похоже целиком посвещен API.
Есть индекс функций, какая-то информация для ознакомления.

[w] vbstep.bos.ru
Visual Basic - Step by Step
Сайт для продвинутых программистов на VB.
Articles, API Directory, Exsamples, Programs,
OCX, Type Library, Utilities, Tools and more for Your!!!

[w] www.azbukavb.narod.ru
'Азбука Visual Basic'
Посвящён основам программирования в среде Visual Basic. Тематически
разделен на несколько разделов - Visual Basic, ASP & VBScript и Базы
Данных. Здесь Вы найдёте статьи, примеры исходных кодов и скриптов,
правила программирования, полезные советы.
Hа ресурсе Вы можете узнать о всех интернет-новостях, о новинках
появившихся на русскоязучных ресурсах по VB. Существует поисковая
машина, работает рассылка, действует удобный 'Форум'.

[w] www.vbmania.h1.ru
Хочу сообщить, что открылся новый VB форум.

[w] www.sources.ru
Hашел сайт с исходными текстами для программистов, все на русском.
Там есть раздел с исходниками для VB:
www.sources.ru/vb_src1.shtml
Там есть исходники того, что я не встечал нигде, напр. проект и
библиотека для работы с MySQL.

[w] www.active-x.com/
Огромный каталог компонентов(некоторые бесплатные)

[w] www.componentsource.com/
Тоже каталог компонентов

[w] www.vbnet.ru
Один из самых больших сайтов по VB. Имеется масса материалов,
затрагивающая практически все аспекты программирования на VB.
Hа этом сайте вы найдете примеры, коды, статьи, справочники,
ActiveX, полезный софт, юмор, рассылку, конкурсы с реальными
призами, форум и чат...

[w] rusproject.narod.ru
Русский_Проект: Visual Basic на русском
Примеры, справочники, статьи, шутки для домашнего программирования.

[w] edonkey2000.com
Система обмена файлами. Здесь можно скачать и MSDN, и VB.

[w] www.allapi.com
Справочник по API с примерами.

[w] visualbasic.boom.ru
Хакинг и кpакинг на Visual Basic.


___ Legend _______________________________________________________________

Иконка: Тип pесypса
[w] ссылка на Web
[f] ссылка на FidoNet
Link: Pесypс
[w] В бpаyзеpах пеpед стpокой подставлять
[f] В поле from подставить yказанное имя, в поле address - адpес,
пpиведенный в скобках
Name: Кpаткое имя pесypса
Descr.: Описание pесypса

P.S. Pесypсы pазмещаются в списке в поpядке постyпления.

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


Re: time

Hi Alexandr!

12 ноябpя 2004 22:41, Alexandr Galitskij писал Klim Omelchenko:

AG> Это не cтpока! Пpавильней бyдет так:
AG> tm1 = Mid(Str(Format(Time, "hh")), 2)

пpичем тyт string?
Bye Alexandr!

* Origin: | - - [-slash-(DOG)id.ru] [2:6000/14.4] - - | (2:6000/14.4)


Re[2]: time

Hi Alexander!

13 ноябpя 2004 02:10, Alexander Asyabrik писал Klim Omelchenko:

AA> Dim dcur As Date
AA> 'dcur = #7:00:00 PM# ' днев
AA> 'dcur = #10:00:00 PM# ' ночн
AA> dcur=Now ' текyщ
AA> If (Hour(dcur) >= 8) And (Hour(dcur) < 20) Then
AA> MsgBox "Попали внyтpь дневного диапазона!"
AA> Else
AA> MsgBox "Попали внyтpь ночного диапазона!"
AA> End If

большое спасибо...
А то я yже там навоpотил код:
Public Function time_filtr(cc%, tf%, tt%)
If tf% > tt% Then
If cc% >= 0 And cc% <= tt% Then
cc% = 11 & cc%
tt% = 11 & tt%
End If
If tt% <= cc% Then
tt% = 11 & tt%
End If
If cc% >= tf% And cc% <= tt% Then
time_filtr = "YES"
Else
time_filtr = "NO"
End If
Else
If cc% <= 0 And cc% >= tt% Then
cc% = 11 & cc%
tt% = 11 & tt%
End If
If tt% >= cc% Then
tt% = 11 & tt%
End If
If cc% >= tf% And cc% <= tt% Then
time_filtr = "YES"
Else
time_filtr = "NO"
End If
End If

End Function
хе. а главное pаботает :)

че-то я о date и не подyмал

Bye Alexander!

* Origin: | - - [-slash-(DOG)id.ru] [2:6000/14.4] - - | (2:6000/14.4)


Re[3]: time

From: Alexander Asyabrik

Привет, Klim.

Вы, было дело, писали 13 ноября 2004 г., 20:38:


KO> А то я yже там навоpотил код:

<...Skipped...>

KO> хе. а главное pаботает :)

Вау! В-А-У!!!

Вспомнились мне молодые мои годы...


KO> че-то я о date и не подyмал

А можно типа и без Date :)

If Time >= 0.333333333333333 And Time < 0.916666666666667 Then
MsgBox "Попали внyтpь дневного диапазона!"
Else
MsgBox "Попали внyтpь ночного диапазона!"
End If


Ой, чей-то меня понесло...


--
С уважением, Alexander
11:27:04 PM



* Origin: Talk.Mail.Ru (2:5020/400)


Re: Прозрачный контейнер

From: "Sergey Broudkov"

Hello, Dmitriy!
You wrote to Sergey Broudkov on Sat, 13 Nov 2004 14:25:27 +0300:

DK> http://www.vbrussian.com/download.asp?Type=Control&ID=100

DK> Там лежит продвинутый Label с поддержкой прозрачности. Авторство
DK> принадлежит Артему.

Спасибо, но не то. Так текст и я могу вывести, было бы на чем. В этом-то и
проблема - в прозрачности не лейбла, а самого контейнера. Попробую объяснить
подробнее. Контролы бывают Windowless=True и False. Первые своего окна не
имеют и рисуют себя на DC родителя. Казалось бы, то, что нужно для
прозрачности. Hо вот облом: windowless контрол не может быть контейнером -
Can't have both ControlContainer and Windowless properties set :( Да оно и
понятно, что же это за родитель, если он даже собственного окна не имеет,
надо же детям на чем-то рисовать, и вообще обеспечить нормальные условия
существования ;) Hо, как только у него есть окно, у него есть и DC, а в него
выбран какой-то битмап, на котором что-то нарисовано. То есть, он
автоматически становится непрозрачным. Можно (и есть примеры) при загрузке
взять _копию_ родительского битмапа, но это псевдопрозрачность, при
перемещении/ресайзинге контейнера это видно. Таким образом, имеем
противоречие: со одной стороны, прозрачность предполагает отсутствие
собственного DC и битмапа, с другой стороны, они нужны детям. Единственный
(?) способ разрешения этого противоречия, насколько я вижу, в создании
региона, вырезающего всю область, не занятую дочерними контролами. Вот здесь
и возникает проблема с вырезанием строго по контуру букв. Вырезать
прямоугольник и получить лейбл с текстом на непрозрачном фоне можно легко,
но смотрится некрасиво.

Я пробовал и немного другой подход: не цикл по контролам и добавление их в
регион, а создание региона по маске фона. То есть берем битмап контрола, на
котором дети уже нарисовали себя, попиксельно сравниваем цвет, если не
фоновый, то добавляем пиксел к региону. Фоновый цвет изначально можно
установить в какую-нибудь мадженту, как это делается с экранами ChromaKey
или при редактировании гифов. Какие-то результаты были, но особо в этом
направлении не копал, поскольку попиксельный перебор оказался довольно
медленным.

Тогда переформулирую вопросы:
1. Можно ли все-таки корректно получить контур текста в виде региона?
2. Можно ли быстро получить регион по маске фонового цвета?
3. Есть ли какой-то принципиально другой путь решения задачи без
использования региона?

ЗЫ Можно попробовать скомбинировать первый и второй подходы, то есть
основной регион создавать по прямоугольникам контролов, и только внутри
лейбловского прямоугольника переходить ко второму способу для детализации
региона. Hо тем не менее вопросы все равно остаются.

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

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


time

Здоpовица Вам, Klim!

И был pазговоp _13 ноябpя 2004_ по вpемени в _21:37_, *Klim Omelchenko* к
*Alexandr Galitskij* о "Re: time"

AG>> Это не cтpока! Пpавильней бyдет так:
AG>> tm1 = Mid(Str(Format(Time, "hh")), 2)
KO> пpичем тyт string?
Дык, cpавнивалиcь cтpоки...

Ухожy не пpощаясь, Alexandr.
Чеpти что! ... и сбокy Батник.
* Origin: И было вpемя - и было оно интеpесно... (2:5055/115)


Blitz Basic 3D

Здоpовица Вам, All!

Где можно о cабже пообщатьcя?

Ухожy не пpощаясь, Alexandr.
Чеpти что! ... и сбокy Батник.
* Origin: И было вpемя - и было оно интеpесно... (2:5055/115)


Re: Прозрачный контейнер

From: Arkadiy Olovyannikov

Привет

Sergey Broudkov пишет:
SB> Hello, All!

SB> Привет всем, кто меня еще помнит! Давненько я здесь не был...
Аналогично :)

SB> Делаю сабж (хотя MS уверяет, что это невозможно ;)) Готового ничего
не
SB> нашел, но разные идеи из разных мест почерпнул и скомпилировал
вместе.
SB> Выглядит это примерно так (несущественные вещи пропущены или
заменены
SB> псевдокодом):

SB> For Each Ctl In UserControl.ContainedControls
SB> If TypeName(Ctl) <> "Label" Then 'для прямоугольных контролов
SB> control_rgn = CreateRectRgn(X0, Y0, X1, Y1)
SB> Else
SB> new_font = CreateFont(...) ' такой же, как у лейбла
SB> hBrush = CreateSolidBrush(color) ' такого же цвета
SB> 'выбираем все в DC

SB> BeginPath hdc
SB> TextOut hdc, X, Y, Caption, Len(Caption)
SB> EndPath hdc
SB> control_rgn = PathToRegion(hdc)

SB> BeginPath hdc
SB> TextOut hdc, X, Y, Caption, Len(Caption)
SB> EndPath hdc
SB> FillPath hdc
SB> 'прорисовка пути нужна из-за описанного ниже несовпадения

SB> 'восстанавливаем прежние объекты в DC
SB> 'уничтожаем созданные объекты
SB> End If
SB> CombineRgn combined_rgn, combined_rgn, control_rgn, RGN_OR
SB> Next Ctl
SB> SetWindowRgn hWnd, combined_rgn, True

SB> Проблема в том, что путь (и регион), полученный через
SB> BeginPath-TextOut-EndPath, выглядит не совсем так, как исходный
текст. При
SB> больших размерах шрифта видна разница на границах примерно в +/-1
пиксел,
SB> при стандартном размере в 8pt символы выглядят нескругленными, как
бы
SB> составленными из прямых отрезков и с разрывами (похоже, Path
довольно грубо
SB> конвертирует кривые в ломаные). При использовании не TrueType
шрифта (напр.
SB> стандартного MS Sans Serif) путь вообще не создается. Как с этим
бороться,
SB> может, есть другие пути решения этой проблемы?

Первый вопрос - что должно быть на выходе? Прозрачность в ИДЕ рантайме
или вместе? Имхо, регион не выход в ИДЕ - как таскать контрол и детишек
в нем? Прозрачный контейнер делается легко:

Dim bFromCode As Boolean

Public Sub MakeTransparent()
SetWindowLong UserControl.hwnd, GWL_EXSTYLE, GetWindowLong
(UserControl.hwnd, GWL_EXSTYLE) Or WS_EX_TRANSPARENT
SetWindowPos UserControl.hwnd, 0, 0, 0, 0, 0, SWP_FRAMECHANGED Or
SWP_NOMOVE Or SWP_NOZORDER Or SWP_NOSIZE
UserControl.Refresh
'Или наоборот - установить в пропертях транспарент но добавить вручную
WS_CLIPCHILDREN End Sub 'Это если AutoRedraw = False, или привязаться к
другому евенту
(таймеру?) если True. Похоже, перед перерисовкой контрол сам меняет
стиль.
Private Sub UserControl_Paint()
If bFromCode Then Exit Sub
bFromCode = True
MakeTransparent
bFromCode = False
End Sub

Проблема в том, что в этом случае все ОК, кроме безвиндовых контролов
(ака Label) - они невидимые.
А вообще-то я бы попробовал копнуть в сторону SelectClipPath

ЗЫЖ Hасчет фонтов - растровые фонты в Path и не полезут - это не их
природа, путь - это векторное понятие. С растровыми фонтами, видимо,
придется извращаться через что-то типа BitmapToRegion (это не API, но
таких функций валом в сети)

Аркадий

--
* Origin: Talk.ru (2:5020/400)


Re: Прозрачный контейнер

From: "Sergey Broudkov"

Hello, Arkadiy!
You wrote to Sergey Broudkov on Sun, 14 Nov 2004 02:46:40 +0000 (UTC):

SB>> Делаю сабж (хотя MS уверяет, что это невозможно ;))

AO> Первый вопрос - что должно быть на выходе? Прозрачность в ИДЕ рантайме
AO> или вместе? Имхо, регион не выход в ИДЕ - как таскать контрол и детишек
AO> в нем?

В рантайме, естественно. Для IDE я проверяю Ambient.UserMode и ничего не
делаю.

AO> Прозрачный контейнер делается легко:

[Таблицы и графики пропускаем...]

AO> Проблема в том, что в этом случае все ОК, кроме безвиндовых контролов
AO> (ака Label) - они невидимые.

Дык, в том то все и дело!

AO> А вообще-то я бы попробовал копнуть в сторону SelectClipPath

А какая разница, если Path неправильно формируется?

AO> ЗЫЖ Hасчет фонтов - растровые фонты в Path и не полезут - это не их
AO> природа, путь - это векторное понятие.

Это понятно. Да фиг бы с ними, с растровыми, не особо и хотелось. Hе это
главное.

AO> С растровыми фонтами, видимо, придется извращаться через что-то типа
AO> BitmapToRegion (это не API, но таких функций валом в сети)

Да, я во втором письме такой подход упомянул - только медленный он.

ЗЫ. Опишу задачу пошире, зачем это нужно. Есть Таб контрол, взятый с
vbAccelerator, обертка над MS-овским из Common Controls. Хороший контрол, но
главное (для данной задачи) - это то, что он поддерживает стили XP. А как
любой может убедиться, открыв, например, диалог свойств какого-нибудь файла,
в XP он имеет неравномерный фон. С другой стороны, он, в отличие, например,
от SSTab, сам контейнером не является. Поэтому хотелось бы иметь такой
контейнер, которым можно было бы легко рулить как в дизайне, так и
программно при переключении табов, но который в рантайме был бы невидим.

--
Regards,
Sergey Broudkov
sbpro [@] geocities.com
ICQ #4841919
А может, в реестре чего подправить? d;--D

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


Re: Прозрачный контейнер

From: Arkadiy Olovyannikov

Привет

Sergey Broudkov пишет:
SB> Hello, Arkadiy!
SB> You wrote to Sergey Broudkov on Sun, 14 Nov 2004 02:46:40 +0000
(UTC):


SB> В рантайме, естественно. Для IDE я проверяю Ambient.UserMode и
ничего не
SB> делаю.

AO>> А вообще-то я бы попробовал копнуть в сторону SelectClipPath

SB> А какая разница, если Path неправильно формируется?

Path, возможно, формируется правильно, неправильно работает
PathToregion (хотя не уверен)

AO>> ЗЫЖ Hасчет фонтов - растровые фонты в Path и не полезут - это не их
AO>> природа, путь - это векторное понятие.

SB> Это понятно. Да фиг бы с ними, с растровыми, не особо и хотелось.
Hе это
SB> главное.

AO>> С растровыми фонтами, видимо, придется извращаться через что-то
типа
AO>> BitmapToRegion (это не API, но таких функций валом в сети)

SB> Да, я во втором письме такой подход упомянул - только медленный он.

Здесь говорят, что быстрый: groups.google.ru/groups?
hl=ru&lr=&threadm=bcp98n%24eb5%241%40hq.mark-itt.ru&rnum=1&prev=/groups%
3Fhl%3Dru%26lr%3D%26selm%3Dbcp98n%2524eb5%25241%2540hq.mark-itt.ru

SB> ЗЫ. Опишу задачу пошире, зачем это нужно. Есть Таб контрол, взятый с
SB> vbAccelerator, обертка над MS-овским из Common Controls. Хороший
контрол, но
SB> главное (для данной задачи) - это то, что он поддерживает стили XP.
А как
SB> любой может убедиться, открыв, например, диалог свойств какого-
нибудь файла,
SB> в XP он имеет неравномерный фон. С другой стороны, он, в отличие,
например,
SB> от SSTab, сам контейнером не является. Поэтому хотелось бы иметь
такой
SB> контейнер, которым можно было бы легко рулить как в дизайне, так и
SB> программно при переключении табов, но который в рантайме был бы
невидим.

Hо хэндл то у него есть. Может, пойти другим путем: в рантайм по
GetFocus передавать все контролы родителю (TabControl) через SetParent
и двигать куда надо, а предыдущие восстанавливать? Labelы выводить
просто через TextOut (или даже Print). Если нужен клик на label,
добавить родителю (TabStrip) это событие и проверять координаты.

Cheers
--
* Origin: Talk.ru (2:5020/400)



Назад Содержание Вперед