Техническая поддержка :

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

для защиты Windows программ

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

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


Re: Byte Array(Variant) and API (Part 2)

From: Alexander Trishin

Alexander Trishin wrote on Mon, 13 Oct 2003 22:45:23 +0000 (UTC):

> VARIANT* v = static_cast((void*) buf);
> if ( v->vt != (VT_ARRAY | VT_UI1)) return 0;
> SAFEARRAY *sf = static_cast((void *)v->pparray);
> BYTE *data = static_cast((void*) sf->pvData);
> for (int i = 0; i < sf->rgsabound[0].cElements; i++)
> {
> BYTE b = data[i];
> // do something with BYTE
> }

Аааа, я понял, ты то же хочешь сделать на VB. Hу по CopyMemory это у нас
Дима мастер :) Код вверху точно работает ;)


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


Re: Byte Array(Variant) and API (Part 2)

From: Alexander Trishin

Alexander Asyabrik wrote on Mon, 13 Oct 2003 13:53:32 +0000 (UTC):

> Я пишу, в этом смысле, _универсальную_ ActiveX DLL. И в соответствии с
> идеями COM технологии, должна быть возможность использовать ее в любой
> среде, эту технологию поддерживающую. Вот и пытаюсь соответствовать.

Hапиши свою универсальную ActiveX DLL на Visual C++ с ATL. Это
относительно просто и многое понимать даже не надо - само будет работать
:) И никаких тебе msvbvmxx.dll :)


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


Re[3]: Byte Array(Variant) and API (Part 2)

From: "Dmitry Viazowkin"

Hi Alexander!


Так, я не с начала - поэтому глупые вопросы. ОТКУДА ты этот компонент вызываешь?
Я довольно много занимался обратным - принимал вызовы из VB Сшной либлиотекой и
возвращал значения - и довольно часто ронял VB или получал сообщение
"Hеподдерживаемый тип ВАРИАHТа". Hу не умеет БАСИК многого... Так что этот твой
компонент скорее всего нуждается в дополнительном парсинге получаемого
значения - копируем полученные 14 байт в описанную у себя структуру tagVARIANT и
ручками, ручками...


> Лирическое отступление:
> Смотрю на чужие постинги и думаю себе: нормальные люди задают
> нормальные вопросы типа как программно создать директорию или кнопку
> на форме, где скачать MSDN:), а от меня вечно исходит какая-то
> бредятина. Аж неудобно мне как-то...

Гыыы... Поднял настроение ;))) Кто как, а я на тех нормальных людей нормальный
такой твит ставлю...


--
With best regards
Dmitry Viazowkin

ЗЫ. Если не трудно - то мне хотелось бы увидеть образцы вызова и описание
вызываемой функции.


* Origin: Me? Organized??? (2:5020/400)


Вопpосец

Hi, All!

В фоpме кyча текстбоксов, а пеpеход идет только по Tab и
мышильдой. Как задать что-то дpyгое?

С yважением, Yury.

* Origin: Познание начинается с yдивления. (2:5022/115.65)


Re: Вопpосец

Привет , Yury!


Всего наилучшего , Yury!

Вторник Октябрь 14 2003 года (а было тогда 11:46)
Yury Fokin в своем письме к All писал:

YF> В фоpме кyча текстбоксов, а пеpеход идет только по Tab и
YF> мышильдой. Как задать что-то дpyгое?
Через KeyPress. Будет по клавиатуре.

* Origin: Death is out there ... (2:5022/177.91)


Re: Векторный графический редактор

From: "Sergey Broudkov"

Hello, Andrey!
You wrote to All on Sun, 12 Oct 2003 13:20:28 +0400:

AS> У кого-нибудь есть тутор или пример сабжа, или где сие можно найти
AS> (URL) Особенно интересует как сделать прокрутку области рисования и
AS> векторное увеличение/уменьшение.

Без всяких примеров, идея проста: перед выводом пересчитываешь все
координаты, учитывая смещение области вывода (прокрутка) и коэффициенты
масштабирования.

X1 = A * X + X0
Y1 = B * Y + Y0

(X, Y) - старые координаты, (X1, Y1) - новые, (X0, Y0) - смещение, (A, B) -
масштабирование.

AS> PS: Все процедуры рисования и проч должны быть реализованы с помощью
AS> API функций, а иначе тормозной редактор получится ;)

Параметры преобразования координат можешь подобрать так, чтобы результат был
в сразу в пикселах. Дальше смело применяй API. Дальнейшая оптимизация - в
отсечении невидимых объектов по границе окна. Проще всего так: с помощью
обратного преобразования пересчитываешь координаты окна вывода в свою
систему координат, далее для каждого объекта вычисляешь охватывающий
прямоугольник (min X(i), min Y(i)) - (max X(i), max Y(i)). Если эти два
прямоугольника не пересекаются - бросаешь этот объект и переходишь к
следующему, экономишь на пересчете координат и выводе невидимых объектов, к
тому же охватывающий прямоугольник можно вычислить только один раз и хранить
его вместе с массивом координат объекта. Существуют более изысканные
алгоритмы отсечения, найди любую книжку по компьютерной графике.

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

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


Re: Byte Array(Variant) and API (Part 2)

From: "A. Skrobov"

Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov" to A. Skrobov on Mon, 13 Oct 2003
20:51:39 +0000 (UTC):

AA>>> Где данные-то искать?
AS>> А ты просто посмотри на все поля варианта, авось в каком-то нужный адрес
AS>> лежит.
AA> В первом 16-битном поле лежит тип варианта. Потом три 16-битных
AA> пустых (0), ну и в последнем Dword-e некое значение. Использование его,
AA> как указатель для записи в файл вешает VB. Если это указатель на какую-то
AA> структуру, то на какую?
А ты скопируй в массив лонгов начало (байт 16-20) этой структуры, там может и разберёмся.


With best regards, A. Skrobov. E-mail: tyomitch [@] r66.ru



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


Есть такая фyнкция в VB?

Здpавствyй, Dmitriy!

02 октябpя 2003 г. (21:37) Dmitriy Kozyrev ---> Mihail Borisov:

MB>> Есть ли в VB .NET такая фyнкция котоpоя может опpеделить является
MB>> ли число четным или нет?

DK> Dim lValue As Long
DK> ' ...
DK> Dim bOdd As Boolean
DK> bOdd = lValue And 1

Все веpно, только я не понял почемy?
Вpоде бы все, что отличается от ноля = true
тогда 21 and 1, должно веpнyть true
и 20 and 1, должно веpнyть то же самое, а возвpащает 1 и 0.
?????

--== Пpивет и масса наилyчших... С yважением, Dem.==--
* Origin: This program is zapported by all systems. (2:4615/96)


MSDN

Как поживаете, Alexej ?

Мои бортовые системы запеленговали, что в Понедельник Октябрь 13 2003 23:28, Alexej Bobylev писал All:

AB> Великий ALL, может у тебя есть свежий MSDN или может ты знаешь где
AB> его можно скачать ?

Выкачивал еще летом, за живучесть ссылок не отвечаю ;)

download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af958 35/qtr40enud1.img

download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af958 35/qtr40enud2.img

download.microsoft.com/download/b/d/c/bdccea1b-96d9-4ad9-8045-56619af958 35/qtr40enud3.img


C уважением, Андрей.
* Origin: Сейчас буду из него пищевод добывать! (2:5023/11.81)


FileName, FilePath

From: "Jeremy Diaz"

Хаюшки всезнающий Олл!

Как на VB.NET реализовать аналог делфяшных функций ExtractFileName,
ExtractFilePath из OpenFileDialog1.FileName() property?

Премного благодарен!
С ув. Юрий!


* Origin: Unknown (2:5020/400)



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




Главная     Программы     Статьи     Разное     Форум     Контакты