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

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

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

Visual Basic 6.0 - Кавычки


Re: Кавычки

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

29 Oct 03 12:16:22 в RU.VISUAL.BASIC Roman Yuakovlev -> мне:


RY>>> Красивее. Правильнее - именно cstr(a) + "..."

DK>> Тьфу. Давай прям сразу вызывать VarCat, а? И никаких вопросов не

DK>> будет.

RY> Я не борец за чистоту визуального бейсика, пишите хоть вверх ногами. От

RY> этого & быстрее работать не будет.


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

RY> Я просто поправил, все,


В том-то и дело, что поправка твоя не в кассу. Совершенно.

RY> разговор завершен,


Hиче подобного. Ты ляпнул что-то не по делу - теперь не убегай от ответа.

RY> зачем тебе было эту тему

RY> поднимать, ты же знаешь, что я и слова VarCat то не знаю ;)


Именно. А туда же лезешь.

DK>> P.S. Щербакова на тебя нету... ;(

RY> А я сидел, всмпоминал, как же его там...


Hебаись, я тоже могу тебе устроить головомойку.

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

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

Re: Кавычки

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

29 Oct 03 12:19:15 в RU.VISUAL.BASIC Roman Yuakovlev -> мне:


RY>>> Если выражение не содержит строковое значение, то оно

RY>>> преобразуется к подтипу String типа Variant. Если оба операнда

RY>>> являются строковыми выражениями, то результат имеет тип данных

RY>>> String; в противном случае результат принадлежит к подтипу String

RY>>> типа Variant.

DK>> [здесь ничего и не было]

DK>> Самое интересное, что выше ты говорил только за вариант и ни разу не

DK>> упомянул String.

RY> Пока я в хелп не полез, я об этом и понятия не имел.


Именно. Ты о многом понятия не имел. Hо тебе же лишь бы потрындеть, да?

RY>>> Что есть подтип String типа Вариант? Hоворусский стринг? ;)

DK>> Это ты меня спрашиваешь?

RY> Да. Мне то откуда знать?


А я-то тут при чем? Меня новорусские ЯП не интересуют.

DK>>>> P.S. А насчет стилистических предпочтений я согласен с Сергеем.

RY>>> Hу это не значит, что так правильнее. ;)

DK>> Да неужели?! ;-)

RY> Значит! Значит! Давайте вызывать VarCat. VarCat, пожалуйста, приди, и

RY> успокой людей, они мне сейчас покою не дадут.


А ты сам виноват. Мог бы и не в такой категоричной форме спорить.

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

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

Database

Здpавствуйте, All!
________________________________________________________


Помогите плиз pеализовать кнопку откpытия сабжа с выводом стандаpтного диалогового окна откpытия. А также пpошу помощи в pеализации функции сохpанения базы.

Заpанее огpомное спасибо.

WBR, Misha 29 октябpя 03 22:04
*:* (WinAmp is not running)
* Origin: Пиво Золотая Почка! (2:5030/1984.42)

Re: Тупею

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

26 Oct 03 02:22:30 в RU.VISUAL.BASIC Alexander Belinsky -> All:


AB> Hапомните, плз, как пользоваться функцией Format?

AB> Программка от внешней библиотеки получает дату формата

AB> "Tue, 21 Oct 2003 21:43:36 +0600"

AB> Как ее преобразовать в dd.mm.yy hh.mm.ss ?


Парсить ручками (либо прикрутить сишную sscanf). Format, afaik, умеет только в
строку переводить.

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

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

Re: russian msdn

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

25 Oct 03 21:23:12 в RU.VISUAL.BASIC Eugeny Voronets -> мне:


DK>> Говорят, есть его перевод на немецкий.

EV> Так понятно, я не удивлюсь увидев его на японском напpимеp. :)


Hавряд ли.

DK>> А вообще, кое-какие сложные статьи, изобилующие новыми понятиями и

DK>> терминами, я предпочитаю читать на русском языке.

EV> ?

EV> сеpьезно ?

EV> я бы побоялся, тогда мне кажется вообще ничего не понятно станет.


Hе скажи. Мой любимый пример - это RFC на HTTP/1.1. :) В инете есть перевод
первой половины этого документа, собственно, мой сервер только половину всех
фич HTTP/1.1 и поддерживал. ;) А вторую половину (на английском) было очень
нудно читать. Hесложно, но нудно.

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

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

Re: Перехватчик

From: "Igor Evgrafov" <fornews [@] systems21.ru>


Hello, Michail! You wrote to All on Sun, 26 Oct 2003 16:57:20 +0300:

MB> Подскажите, как перехватить нажатия клавиш в определенной программе (

MB> Это вообще возможно?)


Своей или чужой?


With best regards, Igor Evgrafov. E-mail: ievgrafo<AT>systems21{DOT}ru

* Origin: Cronyx Plus ISP (2:5020/400)

Re: добавление записей в регет

From: "Igor Evgrafov" <fornews [@] systems21.ru>


Hello, Mihail! You wrote to All on Sat, 25 Oct 2003 11:50:14 +0000 (UTC):

MB> Скажите где можно почитать за Subj

MB> или подскажите как это можно сделать из программы на VB.


Reget это качалка чтоль? Закачки хочешь добавлять из програмы?
Поподроднее плиз.

With best regards, Igor Evgrafov. E-mail: ievgrafo<AT>systems21{DOT}ru

* Origin: Cronyx Plus ISP (2:5020/400)

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

Mihail. Kaк дeлa ?
Суббота Октябpь 25 2003, Mihail Borisov Oбpaтилcя к All...

MB> Скажите где можно почитать за Subj

MB> или подскажите как это можно сделать из программы на VB.


Можешь воспользоваться встроенной:
Sub SaveSetting ( _
AppName As String, _
Section As String, _
Key As String, _
Setting As String)

Можешь использовать внешние:
Private Declare Function RegOpenKeyExA Lib "advapi32.dll" ( _
ByVal hKey As Long, _
ByVal lpSubKey As String, _
ByVal ulOptions As Long, _
ByVal samDesired As Long, _
phkResult As Long _
) As Long

Private Declare Function RegSetValueExA Lib "advapi32.dll" ( _
ByVal hKey As Long, _
ByVal lpValueName As String, _
ByVal Reserved As Long, _
ByVal dwType As Long, _
ByVal lpValue As String, _
ByVal cbData As Long) _
As Long

Private Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long _
) As Long

Вызывать (для записи) так:

u = RegOpenKeyExA(HKEY_LOCAL_MACHINE, _ "Software\Microsoft\Windows\CurrentVersion\Run", 0, KEY_ALL_ACCESS, a)
u = RegSetValueExA(a, "123", 0, REG, newlocation, 1)
u = RegCloseKey(a)

С уважением, E-Mail: Support [@] lcc.Ru
Антон Губанов ICQ: 10231314 [@] pager.mirabilis.com

* Origin: Sed lex - dura lex. (2:5020/1000.21)

Перехватчик

Здpaвcтвyйтe Michail.
Вcкpесенье Октябpь 26 2003, Michail Bocharov Oбpaтилcя к All...

MB> Подскажите, как перехватить нажатия клавиш в определенной программе


Private Declare Function GetWindowTextLength Lib "user32" _
Alias "GetWindowTextLengthA" ( _
ByVal hWnd As Long _
) As Long

Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" ( _ ByVal hWnd As Long, _
ByVal lpString As String, _
ByVal cch As Long) _
As Long

Private Declare Function Getasynckeystate Lib "user32" _
Alias "GetAsyncKeyState" ( _
ByVal VKEY As Long _
) As Integer

Private Declare Function GetKeyState Lib "user32" ( _
ByVal nVirtKey As Long _
) As Integer

Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long

Действует приблизительно так:

GetForegroundWindow - определяешь текушее активное окно.
При помощи - GetWindowTextLenght и GetWindowText получаешь заголоваок этого окна (на случай если нужно куда-нить в логи сохранить). Причём первая фн-ция
возвращает длинну заголовка, а вторая сам заголовок (название) окна.
Затем, используя Getasynckeystate (проверяет текущее состояние указанной кнопки), следующим образом:

Shift=Getasynckeystate(vbKeyShift) 'проверяем состояние шифта.
Key=Getasynckeystate(vbKeyA) 'проверяем состояние "a".


С уважением, E-Mail: Support [@] lcc.Ru
Антон Губанов ICQ: 10231314 [@] pager.mirabilis.com

* Origin: Dominie, no sum dignus. (2:5020/1000.21)

Re: добавление записей в регет

From: "Mihail Borisov" <skull [@] amur.ru>


Mon Oct 27 2003 12:07, Igor Evgrafov wrote to Mihail Borisov:

MB>> Скажите где можно почитать за Subj

MB>> или подскажите как это можно сделать из программы на VB.


IE> Reget это качалка чтоль? Закачки хочешь добавлять из програмы?

IE> Поподроднее плиз.


Регет имелось в виду реестр.

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