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

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

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

Visual Basic 6.0 - Threads


Re: Threads

Hello, Dmitriy!
You wrote to "A. Skrobov" <A. Skrobov [@] p2.f175.n5020.z2.fidonet.org>to A.

Skrobov on 17 Jul 04 09:16:39:

AS>> - можно было бы заменить одной строчкой:

AS>> SetDIBitsToDevice picDest.hdc, 0, 0, picSrc.Width, picSrc.Height, 0,

AS>> 0, 0, bi.biHeight, bData(0), bi, 0

DK> Угу, я знаю. Просто первую версию ротейта писал с прицелом на то, чтобы

DK> принимать StdPicture и его же возвращать.

Ладно, сделал ещё пример перекоса (http://mix.web.ur.ru/v8.rar) с
использованием SetDIBitsToDevice. Вдруг кому-нибудь понадобится.
Условные обозначения:
угол A
|
V
,____. | __--'
| | | .-- /
| | -> | / /

| | |/ __--'
`~~~~' .--_____ <- угол B
* Origin: We like our Mike and this is why: (2:5080/1003.16)

Re: control

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

18 Jul 04 17:26:46 в RU.VISUAL.BASIC Eugene Karashevich -> All:


EK> Как динамически создать, а затем, pазpyшить контpол?


http://mastershome.net.ru/vbfaq/b05.htm

Разрушить - Unload

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

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

Re: разница в записи

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

Sun, 18 Jul 2004 20:57:31 +0300 в RU.VISUAL.BASIC Dmitriy Kozyrev -> Alexander

Asyabrik:

AA>> А еще я пробовал писать это все в бинарные файлы (так мне просто

AA>> удобней ). Так вот когда объявляешь явно как Variant, тогда в файл

AA>> записывается именно как Variant (дополнительно указывается субтип 8

AA>> /String/ и длина строки), а когда без явного указания, тогда в файл

AA>> пишется, как и обычная строка.


DK> Const s1 As String = "ABC"

DK> Const s2 = "DEF"


Виноват, стормозил - неправильно прочел письмо Александра.

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

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

Re: Получить путь к ехешнику по hWnd

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

19 Jul 04 10:02:36 в RU.VISUAL.BASIC A. Skrobov -> Sergey Merzlikin:


AS> If me32.modBaseAddr = &H400000 Then Exit Do


Прошу прощения, а что это за константа?

И вообще, экспериментально установлено, что Module32First всегда возвращает
информацию именно о главном модуле - экзешнике.

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

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

Вот пришло с TwoCows

||*()*|| Ах это вы, All ? А я вас не узнал без санитара...

===========================================================================
Dear Software Author:

Thank you for submitting your software for evaluation.

Unfortunately, we do not publish software that has any of its components (including the referencing Web site, installation, the program itself, and uninstall) in a language other than English. This is due to the fact that Tucows has limited space on each of our mirror sites and has had to be more selective about published programs. This is not a prejudice of any sort or a slight on the quality of your program.

If you submitted a non-English Web page URL or non-English Web page URL with multiple language selections, and you receive a rejection, please resubmit with the appropriate English home page URL. If this is not the case, listed below is where we've found non-English references regarding your submission:

The help files for the English installed version of your application contain Russian help files. Your help files must be in the English language only.

However, if you have an English version listed on Tucows, we *will* point to other versions for a monthly fee.

Please do not let this discourage you from submitting other applications. We encourage you to continue considering Tucows for your future software distribution interests.

For further information on our software criteria please see the Ratings Guide available in the ARC.

Thanks for your interest in Tucows,

The Tucows Review Staff

***** Internal Use Only ***** Do Not Delete *****
<sr per nate>

******************************************

============================================================================

У меня один-единственный вопрос.
В той программе из "русских" только один компонент - comdlg32.ocx
Дистрибутив и хелп, правда, начинаются с предложения выбрать язык - русский или английский.
Дело в этом или коммон диалог должен быть для них чисто английским?

I'll be back, All !
http://www.caligari.zp.ua - реальная психологическая и психиатрическая помощь. Анонимно. Пока бесплатно.

* Origin: Иисус изменил вашу жизнь. Сохранить? [Y/N] (2:4641/500.99)

Re[2]: разница в записи

From: Dmitry Miloserdov <dim [@] kemtel.ru>


Привет,

Wednesday, July 21, 2004, 11:32:17 PM, ты писал:
AS> С чего он меньше-то? Подобный код:

AS> ...

AS> DoSmth1 "Hello!"

AS> ...

AS> DoSmth2 "Hello!"

AS> ...

AS> - приведёт к включению всего одной копии константы "Hello!" в код.


В общем ты прав: разница в размере кода при использовании констант и
переменных всего несколько байт и нивелируется выравниванием:

Вот код:

С переменной:

'Const strtest As String = "Constants are private by default. Within procedures, constants are always private;"
Dim strtestvar As String

Private Sub Form_Initialize()
strtestvar = "Constants are private by default. Within procedures, constants are always private;"

Dim strvar As String

strvar = strvar & strtestvar
strvar = strvar & strtestvar
strvar = strvar & strtestvar
strvar = strvar & strtestvar

End Sub

С константой:

Const strtest As String = "Constants are private by default. Within procedures, constants are always private;"
Dim strtestvar As String

Private Sub Form_Initialize()
strtestvar = "Constants are private by default. Within procedures, constants are always private;"

Dim strvar As String

strvar = strvar & strtest
strvar = strvar & strtest
strvar = strvar & strtest
strvar = strvar & strtest

End Sub


Вот что находится в откомпилированном коде (то место, где происходит
конкатенация):

С константой:

00403165 . 6A 00 push 0
00403167 . 68 CC1C4000 push PROJECT1.00401CCC ; UNICODE "Constants are private by default. Within procedures, constants are always private;"
0040316C . C745 E8 00000>mov dword ptr ss:[ebp-18],0

00403173 . FFD6 call near esi ; <&MSVBVM50.__vbaStrCat>

00403175 . 8B3D 68104000 mov edi,dword ptr ds:[<&MSVBVM50.__vbaSt>; MSVBVM50.__vbaStrMove

0040317B . 8BD0 mov edx,eax ; PROJECT1.<ModuleEntryPoint>


С переменной:

00402FC9 . 6A 00 push 0
00402FCB . 52 push edx
00402FCC . C745 E8 00000>mov dword ptr ss:[ebp-18],0

00402FD3 . FFD7 call near edi ; <&MSVBVM50.__vbaStrCat>

00402FD5 . 8B1D 6C104000 mov ebx,dword ptr ds:[<&MSVBVM50.__vbaSt>; MSVBVM50.__vbaStrMove

00402FDB . 8BD0 mov edx,eax ; PROJECT2.<ModuleEntryPoint>



Как видим, размер блока при использовании константы всего на 4 байта
больше, что конечно, дезавуирует мою фразу "... и откомпилированный код меньше."
То же относится и к скорости выполнения. Разница опять же лишь на
несколько тактов [для i386] (но использование регистра в варианте с
переменной мне нравится больше, чем использование указателя %)
--
Best regards,
Dmitry Miloserdov
* Origin: http://www.softmajor.com (2:5020/400)

Поиск с учетом и без учета pегистpа

Пpивет All,
21 июля 04 ты писал(а) по поводу *Поиск с учетом и без учета pегистpа. *
RD> Вот сижу и паpюсь. :(

RD> Hикак не могу сделать сабж.

RD> Всегда выходит с учётом. А мне надо чтобы и без учёта было.

RD> Я использую Instr. Может быть не то?

RD> Подскажите, плиз.

Почитал вумные книжки - понял как сделать. Сделал. :)
Hо возник тепеpь дpугой вопpос (пpо него в книжках не написано).
Как pеализовать поиск в тесте только целых слов?
Анализ пpедыдущего пеpед словом и следующего после слова символов - это пеpвое что мне пpишло в голову, но ведь если опpеделять целое слово по символам до него и после (т.е. пpедположить что если до слова символ не буква, и после слова символ не буква), то тогда я натыкаюсь на такую пpоблему: А ведь в стpоке для поиска может быть набpано всё что угодно. И вообще, что можно считать целым словом? То что между пpобелами или между знаками пpепинания и табуляции, а так же пеpевода каpетки. Вот, блин, задачку задал. :)
Вот уже вpемя 1:57, а я всё никак допетpить не могу. :(

Всех благ тебе, All.
ICQ 177792013
*Hа уши давит* - тишина...
* Origin: WinErr: 010 Заpезеpвиpовано для новых ошибок. (2:5015/112.35)

разница в записи

RY>> Есть ли разница в записи...

RY>> Public Const myStringConst = "Example"

RY>> и

RY>> Public Const myStringConst as String = "Example"

AA> В первом случае на самом деле объявлена как Variant, только во втором

AA> String


У меня более ста констант. Еще как назло руку вывихнул. И сижу, к каждой приписываю As String. И думаю - а оно мне надо?

Хотя уже больше чем к половине приписал, далее уже не важно ;)


* Origin: 1134 (2:5045/44.13)

разница в записи

RY>>> Есть ли разница в записи...

RY>>> Public Const myStringConst = "Example"

RY>>> и

RY>>> Public Const myStringConst as String = "Example"

AS> Как будто бы нету...

AA>> В первом случае на самом деле объявлена как Variant, только во

AA>> втором String

AS> Hифига, проверь:

AS> =========Beginning of the citation==============

AS> ?typename(mystringconst)

AS> String


Hу оно тебе надо было сюда писать... :(

Это что ж, я зря столько деклараций декларил?


* Origin: 1134 (2:5045/44.13)

Пpокpутка в TextBox

AS>>> Проверил. Текст мигает, а скроллбар - нет. Речь же шла о мигании

AS>>> скроллбара?

RY>> Я почему так говорю. Просто, как-то делал приложение, где

RY>> постоянно добавлялись данные, короче, GUI версию консоли. И

RY>> столкнулся с таким глюком.

AS> Это не глюк, это фича ;-)

Глюк. У меня он вообще был не к месту, уже не помню из-за чего. А раньше - было фичей, и было по барабану, мигает или нет. ;)


RY>> Правда я решил вопрос намного проще. ;)

AS> Весьма любопытно - и как?

Смеяться будете. Без апей и сабклассингов. причем делать Show/Hide тоже не подходило. ;)


* Origin: 1134 (2:5045/44.13)