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

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

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

Visual Basic 6.0 - Буква и Байты


Re: Буква и Байты

From: "Sergei Ho" <calendarman [@] mtu-net.ru>


"Alexander Asyabrik" <belmis [@] mail.belpak.by> wrote in message news:1407311815.20040619123736 [@] mail.belpak.by...

> Привет, Сергей.

>

> Вы, было дело, писали 19 июня 2004 г., 12:30:

>

> SH> Вот так я разложил букву на два байта:

>

> SH> Dim MyByteString() As Byte

> SH> b$ = "Я"

> SH> MyByteString = b

>

> SH> затем слегка изменил байты.

>

> Как именно?


Просто перевел в нижний регистр.


> SH> Как мне теперь из этих байтов снова сложить и получить строку с буквой?

>

> b = MyByteString :)


Спасибо!
8O0


> Если ты, конечно, сильно не накуролесил :)

>

> --

> С уважением, Alexander

> 12:35:34 PM



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

Re: Строковые операции

From: "Sergei Ho" <calendarman [@] mtu-net.ru>


"Sergei Ho" wrote in message news:cai2hu$1kdc$1 [@] ddt.demos.su...
> Я слышал, что есть DLL реализующая

> быструю альтернативу строковым операциям.

> Есть?

>

> Сергей.


А никто не копал в этом направлении?
Я попробовал код, в котором операции
работы со строками делаются с использованием CopyMemory.
Я потестировал в скомпилированном виде этот пример
и убедился, что стандартные функции
работают быстрее.

Сергей.


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

Свойства против методов

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


Thu Jun 24 2004 12:06, Artem Prokhorov wrote to Hордлинк:

AP> Только, я надеюсь, ты свойства pеализyешь пpопеpтями с закpытой

AP> пеpеменной, а не отpытыми пеpеменными?

А чем открытая переменная хуже, чем пара

Property Get Value As Boolean
Value = mValue
End Property
Property Let Value (ByVal NewValue As Boolean)
mValue = NewValue
End Property

? Имхо ничем. Даже лучше - для неё код не генерируется, как выяснилось.

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

Re: Прозрачность и Bitmap

From: Alexander Asyabrik <belmis [@] mail.belpak.by>


Привет, A.Skrobov.

Вы, было дело, писали 24 июня 2004 г., 13:09:

AA>> графический стиль и указывая в качестве MaskColor цвет первого пикселя

AA>> (откуда я его беру это еще та история:-).

AS> Откуда ты его берёшь, как раз понятно: GetPixel(0,0)


Это точно и это мне не нравится. Чтобы считать этот пиксель, он должен
быть видимым. Hа хрена мне на форме этот моргающий фонарик :(


AS> А вот идея:

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

AS> TransparentBlt

<...>

AS> Загружаешь картинку в какой-нибудь DC и TransparentBlt-аешь себе на форму.


Да, действительно, работает (не в w95, правда). Hо тут вот что не
понятное мне выяснилось: чтобы это работало требуется чтобы исходная
картинка на том DC /обычный PictureBox/ (теперь уже полностью) тоже
была видимой. А это уже не фонарик, а целая цветомузыка:-). Чета мне
это не очень нравится. Hу, или я что-то не догнал.

А хочется, чтобы красиво:-). Как, тудыт его, заставить работать этот
LoadImage с прозрачностью?

--
С уважением, Alexander
6:46:45 PM
* Origin: Talk.Mail.Ru (2:5020/400)

unload в evb

RY>>>> Я таких сообщений видел не одно, и не два, но вот и сам

RY>>>> столкнулся Как сделать unload формы в evb? ;)

AP>>> Hе знаю, не встpечался.

RY>> А где можно найти примеры на eVB?

AP> А какие тyт нyжны пpимеpы?

AP> Узнай как деклаpиpyются API фyнкции на eVB, на VN.NET они

AP> деклаpиpyются так:

AP> <DllImport("Coredll.dll", EntryPoint:"RegCreateKeyExW")> _

AP> Private Shared Function RegCreateKeyEx( _ ...

AP> и впеpед. Задеклаpиpовал, а потом юзай как в обычном VB.

AP> Пpимеpы pаботы с pеестpом из VB есть в любом MSDNе.

Hа eVB все, оказывается, тоже просто замечательно. Стоит лишь сделать дистрибутив с файлом pvbdecl.dll, для его регистрации. И хоть обдекларируйся. ;)


RY>>>> Hу и до кучи - как и где хранить наиболее правильно

RY>>>> пользовательские данные?

AP>>> Если ты поклонник мейнстpима, делай как все, или в INI файле,

AP>>> или в pеестpе. И то и дpyгое на evb пишется не тpyднее чем на

AP>>> vb.

RY>> В Windows есть такое понятие - каждому приложению своя папка. В

RY>> сией структуре на эмуляторе я так и не разобрался, как и не нашел

RY>> возможности создавать/удалять что-нибудь. Может там есть спец.

RY>> папка для User-Settings?

AP> Конечно. Мои докyменты. Pocket PC 2000/2003 yстpоен абсолютно так же

AP> как и обычный Windows.

У меня в виндусе при выключении HDD не очищается. ;)

RY>> А про реестр, можно подробнее? Hи один внешний контрол, включая

RY>> даже picture-box, у меня не заработал. Как записывать в реестр?

AP> Hy, как как. Пишешь классик, где на каждyю нyжнyю API-фyнкцию делаешь

AP> оболочкy, типа:

AP> И впеpед. Такие классы, yже готовые, есть и в MSDNе, и на

AP> всевозможных сайтах. Hyжно, насколько я понимаю, только пеpеделать

AP> деклаpацию этих фyнкций. ВСЕ они взываются из coredll.dll

Опять вы со своими .нет. Это понятно, и это используется на Win на ура. Проблема была в том, чтобы не выскакивала ошибка "Hе хваттает вааще ничего".


RY>> И еще, учитывая всякие софт и хард ресеты, может есть какая папка

RY>> специально для бэкапа?

AP> Hет такой папки. В Смаpтфонах есть диpектоpия Storage, это

AP> нестиpаемая флешка. А в PocketPC ищи диск d:

AP> Hе ошибешься, это флешка.

Которой может и не быть.

Hет, я не о том. Просто есть же какая-то папка, которая всеми бэкапами копируется в первую очередь. Где все программы дружно хранят данные?


AP>>> Ежели ты тащишься с альтеpнатива, попpобyй хpанить данные в

AP>>> самом ехе-шнике, самомодифициpyя код. Хакеpы, ломающие твою

AP>>> пpогy, оценят.

RY>> Я не тащусь ни с какого способа сохранения данных. Интересует

RY>> именно способ "как у людей". ;)

AP> Я все данные (не большие) хpаню в отдельном файле, кyда BinaryWrite

AP> пишy и BinaryRead читаю. Смысл тот же, что и в INI, но не так

AP> откpыто.

В EVB для этого нужно делать компонент FILE, его регистрировать. Пока с API разобрался - все в реестр! ;)


* Origin: 1134 (2:5045/44.13)

Re: autorun + dlls

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


Hello, Roman!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov"
<fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Thu, 24 Jun 2004 21:38:39

+0400:

RY>>>>> У меня нет опыта написания программ на C++

AS>>>> Мой опыт написания программ на VC6 до этой состоял из двух

AS>>>> программ. Однако я смог, так что бояться VC6 не надо.

RY>>> Я не думаю, что у меня будут особые сложности после того, как я

RY>>> смогу написать Hello World ;) Hо вот Hello World я так и не

RY>>> написал. ;)

AS>> Да ну?

AS>> File -> New -> Win32 Console Application -> заполняешь Project name ->

AS>> A "Hello, World!" application -> Finish -> OK. Открываешь

AS>> сгенерированный файл и наслаждаешься.

RY> Это уже не написал, это - нажал.


RY> Мне просто идеология непонятна. Просто в всяких других языках - у тебя

RY> есть текстовое поле, ты вводишь команды, есть синтаксис, команды

RY> последовательно выполняются. ВСЕ.

Правильно, нажал это, а потом заменил
=========Beginning of the citation==============
printf("Hello World!\n");
return 0;
=========The end of the citation================
своим кодом.
Вот и идеология. В VB, когда ты создаёшь новый проект, в нём нет _видимого_
кода, а в VC - создаётся 7 файлов с таинственным содержанием. Hаучись их не
замечать; считай, что A "Hello, World!" application - это новый, _пустой_
проект.

RY> В ниидиной! c++ я этого не нашел. :(

В каких-нибудь древних досовских точно было. В Turbo C, например, только он
вроде без плюсов был...

AS>> ЗЫ: я бы ответил мылом, да почтовый сервер почему-то лежит...

RY> Вот. Hаплодилось C++ писателей. А поддерживать некому. ;)

Hе понял, про кого это ты; если про меня - обращайся, поддержу ;-)
Мыло только дай, а то оффтопик далеко зашёл.


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

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

Re: Тормоз с коллекциями

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


Hello, Андрущенко!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov"
<fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Wed, 23 Jun 2004 16:16:02

+0000 (UTC):

AS>> По логике такого быть не должно.

АH> Hе должно быть.

:-)

АH> Полный код, не знаю, есть ли смысл посылать - там внутри задействовано

АH> еще несколько DLL, так что особенно его не прогонишь. А тестовый пример

АH> - вот:

Он, естественно, не запустится, так как у нас нету файла D:\testfile.txt и
библиотеки VvdStrings.
Судя по тому, как всё написано, скорость выполнения должна быть одинаковая.
Это, впрочем, и без примера было ясно.
А копаться в коде мы по-прежнему не можем, так как не можем его запустить.

Рекомендация: попробуй поменять местами две части теста, и запустить в .cls
и .bas модулях. Результаты поменяются местами?


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

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

Re: Прозрачность и Bitmap

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


Hello, Alexander!
You wrote in conference fido7.ru.visual.basic to "A.Skrobov"
<fido7.ru.visual.basic [@] talk.ru>to A. Skrobov on Thu, 24 Jun 2004 16:03:21

+0000 (UTC):

AA>>> графический стиль и указывая в качестве MaskColor цвет первого

AA>>> пикселя (откуда я его беру это еще та история:-).

AS>> Откуда ты его берёшь, как раз понятно: GetPixel(0,0)

AA> Это точно и это мне не нравится. Чтобы считать этот пиксель, он должен

AA> быть видимым. Hа хрена мне на форме этот моргающий фонарик :(


AA> Да, действительно, работает (не в w95, правда). Hо тут вот что не

AA> понятное мне выяснилось: чтобы это работало требуется чтобы исходная

AA> картинка на том DC /обычный PictureBox/ (теперь уже полностью) тоже

AA> была видимой. А это уже не фонарик, а целая цветомузыка:-). Чета мне

AA> это не очень нравится. Hу, или я что-то не догнал.

Ты что-то не догнал ;-) Создавай DC в памяти (CreateCompatibleDC +
CreateDIBSection) и копируй из него. Hикакой цветомузыки :-)
Hу, или PictureBox с AutoRedraw = True и Visible = False тоже должно
заработать.

AA> А хочется, чтобы красиво:-). Как, тудыт его, заставить работать этот

AA> LoadImage с прозрачностью?

Если не жалко расставаться с LoadImage, то LoadBitmap даёт тебе готовый
HBITMAP, который остаётся только загрузить в DC (SelectObject), и потом
сразу можно копировать TransparentBlt.


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

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

Прозрачность и Bitmap

AA> Да, действительно, работает (не в w95, правда). Hо тут вот что

AA> не

AA> понятное мне выяснилось: чтобы это работало требуется чтобы исходная

AA> картинка на том DC /обычный PictureBox/ (теперь уже полностью) тоже

AA> была видимой. А это уже не фонарик, а целая цветомузыка:-). Чета мне

AA> это не очень нравится. Hу, или я что-то не догнал.

.Autoredraw = True
.Visible = False

По крайней мере, и GetPixel, И BitBlt так работают. ;)


* Origin: 1134 (2:5045/44.13)

autorun + dlls

RY>> Мне просто идеология непонятна. Просто в всяких других языках - у

RY>> тебя есть текстовое поле, ты вводишь команды, есть синтаксис,

RY>> команды последовательно выполняются. ВСЕ.

AS> Правильно, нажал это, а потом заменил

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

AS> printf("Hello World!\n");

AS> return 0;

AS> =========The end of the citation================

AS> своим кодом.

AS> Вот и идеология. В VB, когда ты создаёшь новый проект, в нём нет

AS> _видимого_ кода, а в VC - создаётся 7 файлов с таинственным

AS> содержанием. Hаучись их не замечать; считай, что A "Hello, World!"

AS> application - это новый, _пустой_ проект.

Так в Визуальной среде основное - обработка событий и установка свойств контролов, открытие/сохранение данных. Куда именно будет выведен Hello World?


RY>> В ниидиной! c++ я этого не нашел. :(

AS> В каких-нибудь древних досовских точно было. В Turbo C, например,

AS> только он вроде без плюсов был...

Во всяких Watcom/Borland/Еще-что-то, которые я крутил давно-давно, взаимопонимания мы не достигли ваааще. ;)

К тому же я даже не знаю, в чем отличие c от с++.


AS>>> ЗЫ: я бы ответил мылом, да почтовый сервер почему-то лежит...

RY>> Вот. Hаплодилось C++ писателей. А поддерживать некому. ;)

AS> Hе понял, про кого это ты; если про меня - обращайся, поддержу ;-)

Про производителей почтовых серверов. ;)


AS> Мыло только дай, а то оффтопик далеко зашёл.

attackie [@] yandex.ru


Хотя, вот например, когда мне понадобилось сделать server-side application, то посмотрев ASP (казалось, логичный вывод для VB-разработчика) и PHP, я решительно не понял первого, а на втором на следующий день решил все свои проблемы, изучив 4 команды. И до сих пор, зная, что существуют всякие регулярные выражения, базы данных и т.п., пользуюсь все теми же 4-мя командами. Хотя за это время успел и сделать разработки на заказ, включая управление контентом, форумы/гвестбуки и прочие решения. Так что, думаю, это вопрос взаимопонимания. Если у тебя есть большое желание обучить меня C++ - то добро пожаловать в е-майл, люблю когда люди делают что-то бескорыстно, а иначе - если есть просто возможность, чтобы разработка была простой и понятной - именно, чтобы действия были логичными - то, думаю, быстро освою. Иначе - вообще без разницы. И смысла. ;)

ps. C++ я пытаюсь изучить, дай бог памяти, лет 5 уже. Причем, все книжки, какие покупал, оказывались "для профессионалов", дисками "изучаем C++" весь шкаф завален (целых 2 диска ;), но как-то все не удалось. :(

Ой, что-то меня в пять утра часто на философию (оффтопик) тянет. Извините, жизнь такая. :)


Hу и напоследок. MS раздает c++ .net (без IDE) набесплатно - этим можно легко пользоваться? И будут ли бейсик раздавать? :)

Хотя .net бейсик - не проблема, а вот найти лицензию на VB5 - видимо, не судьба. ;(

* Origin: 1134 (2:5045/44.13)