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

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

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

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

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


Re[2]: XML парсилка

From: "Igor A. Vyatkin"

Hi,

Wednesday, October 29, 2003, 6:40:24 AM, you wrote:

AS>>> А с нерусскими?
IAV>> Попробуй encoding="UTF-8". Должно работать с чем угодно.
AS> Проблема была именно в том, что я не мог через Chr() передать символ не из system-default кодировки.

А если так попробовать? Приведённый ниже код конвертирует Ascii символ в юникодеый символ текущей включенной на клавиатуре кодировки. Соответственно кодировку можно задавать вручную.

StrConv(ChrW(KeyAscii), vbUnicode, (GetKeyboardLayout(0) And 65535))

--
Igor A. Vyatkin
E-Mail: garry [@] mail.novgorod.ru



* Origin: Astrosoft Development (2:5020/400)


Re: Кавычки

From: "Dmitry Novikov"

Всем привет!

"Roman Yuakovlev" сообщил/сообщила в новостях следующее:
news:1067343040 [@] p13.f44.n5045.z2.ftn...
> RY>> сложение выполняется БЫСТРЕЕ, ибо при коннектации (или
> RY>> как ее там, блин, слово то какое), все элементы сначала
> RY>> переводятся в Variant и возвращает оно тоже variant.
> DK> Variant? А разве не String?
> Дополнительные сведения [vb5.hlp]
>
> Если выражение не содержит строковое значение, то оно преобразуется к подтипу
> String типа Variant. Если оба операнда являются строковыми выражениями, то
> результат имеет тип данных String;

Вот видишь. Так с чего же ты взял, что при конкатенации двух стрингов
всё сначала в вариант переведется?

> в противном случае результат принадлежит к
> подтипу String типа Variant.
[skip]
> Что есть подтип String типа Вариант? Hоворусский стринг? ;)

В варианте может много чего храниться. В зависимости от этого меняется
способ хранения варианта. В частности стринг в варианте отъедает 22 байта
плюс длина строки. Посмотри MSDN "Data Type Summary" и вообще про
варианты.

С наилучшими пожеланиями, Дмитрий dim_nУБРАТЬrnivcРУССКИЕkisБУКВЫru



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


Классы

AS>> Я не знаю как правильно организовывать структуру классов (например,
AS>> чтобы экономить оперативную память). Может есть книги какие или статьи,
AS>> лучше в интернете, подскажите.
U> Hе совсем понял, что именно тебе нужно.

Моя программа должна обрабатывать (анализировать) графы и сети петри. При этом я еще не решил как буду представлять их в программе (с помощью коллекций или с помощью базы данных (на случай если придется обрабатывать большие графы))
В итоге у меня сейчас примерно такая структура классов:

СетьПетри1
класс-коллекция позиции
позиция
класс-коллекция переходы
переход
класс-коллекция связей
связь

СетьПетри2 - класс использует базу данных для представления сети петри

Драйвер - этот класс нужен для общения алгоритмов с данными в любом представлении (в виде СетьПетри1 или СетьПетри2)

Алгоритмы - этот класс содержит методы для обработки сети петри через Драйвер


А в принципе можно было бы использовать всего один класс, включающий в себя методы создания сети петри и методы-алгоритмы для ее анализа.

В общем, как правильно организовать структуру классов :) ?

* Origin: WinPoint 95 (2:5059/28.35)


Re: Кавычки

From: "Dmitry Viazowkin"

Hi!

> Года 3-4 назад в какой-то книжке по vb5 прочитал. ;)

Hе читайте на ночь советских газет (С). Hапиши прогу, которая в одном цикле
объединяет строки через "&", а в другом через "+", добейся времени выполнения
цикла с "+" порядка десяти секунд, и померяй разницу. Будешь очень удивлен, о
результатах отчитаешься здесь ;)


--
With best regards
Dmitry Viazowkin


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


Перехватчик

[_**_] Зуб за зуб , за два - скулу ,не так ли Igor ?
/_np: INSTRUMENTAL GOLD COLLECTION - Love Is Blue_/
_*========================================================*_

27 Октября 2003 года ты писал(а) к мне:

MB>> Подскажите, как перехватить нажатия клавиш в определенной
MB>> программе ( Это вообще возможно?)
IE> Своей или чужой?
И своей и чужой.
/_========================================================_/
[/__/] Пока, Igor, счастливого тебе коннекта ! ...
* Origin: В каждой женщине должна быть своя безyминка (2:5012/2.241)


SQL синтаксис...

Добрейшего времени суток, Alexandr!

Среда Октябрь 29 2003 17:22, Roman Brunets послал(а) Alexandr Drobot следующее:

>> >> ВК> SQLd = "SELECT Id FROM Doljnost WHERE
>> Nazvanie =
>> > "+chr(39)+Combo1.Text+chr(39)
>> --SKIP--
>> Попробуй так (кавычки надо удваивать)
>> SQLd = "SELECT Id FROM Doljnost WHERE Nazvanie ="+
>> chr(39)+chr(39)+Combo1.Text+chr(39)+chr(39)

RB> Hе те кавычки удваивать иногда нужно:)))

RB> А что в Combo1.Text?
RB> Попробуй
RB> SQLd = "SELECT [Doljnost].[Id] FROM [Doljnost] WHERE
RB> [Doljnost].[Nazvanie] ="+ chr(39)+Combo1.Text.Replace("'",
RB> "''")+chr(39)

А может вообще не нужно кавычек? В смысле chr(39)? Или может в Комбо содержатся кавычки?

RB> Ошибку скажи? И к чему обращаемся. А то телепаты в отпуске......

Баюшки-Баю, Alexandr! За сим, снимаю шляпу. Slava Voronin(JD).
* Origin: Я буду зайчика ЛЮБИТЬ!(с) А.В.Воронин (2:6009/2.15)


Re: Кавычки

From: Alexander Trishin

Dmitry Viazowkin wrote on Wed, 29 Oct 2003 15:49:47 +0000 (UTC):

> Hе читайте на ночь советских газет (С). Hапиши прогу, которая в одном цикле
> объединяет строки через "&", а в другом через "+", добейся времени выполнения
> цикла с "+" порядка десяти секунд, и померяй разницу. Будешь очень удивлен, о
> результатах отчитаешься здесь ;)

Я тут попробовал покопать все это поглубже. Правильный ответ - и "+" и "&"
работают одинаково.

Private Sub Command1_Click()
Dim c As String
c = "abra" + "kadabra"
End Sub

Private Sub Command2_Click()
Dim c As String
c = "abra" & "kadabra"
End Sub

Для c = "abra" + "kadabra":
00401b31 6848154000 push 0x401548
00401b36 6858154000 push 0x401558
00401b3b 8975e8 mov [ebp-0x18],esi
00401b3e ff1510104000 call dword ptr [Project1!_imp____vbaStrCat
(00401010)]
00401b44 8bd0 mov edx,eax
00401b46 8d4de8 lea ecx,[ebp-0x18]
00401b49 ff1568104000 call dword ptr [Project1!_imp____vbaStrMove
(00401068)]
00401b4f 8975fc mov [ebp-0x4],esi
00401b52 68611b4000 push 0x401b61
00401b57 8d4de8 lea ecx,[ebp-0x18]
00401b5a ff1578104000 call dword ptr [Project1!_imp___vbaFreeStr
(00401078)]
00401b60 c3 ret

Для c = "abra" & "kadabra":
00401bc1 6848154000 push 0x401548
00401bc6 6858154000 push 0x401558
00401bcb 8975e8 mov [ebp-0x18],esi
00401bce ff1510104000 call dword ptr [Project1!_imp____vbaStrCat
(00401010)]
00401bd4 8bd0 mov edx,eax
00401bd6 8d4de8 lea ecx,[ebp-0x18]
00401bd9 ff1568104000 call dword ptr [Project1!_imp____vbaStrMove
(00401068)]
00401bdf 8975fc mov [ebp-0x4],esi
00401be2 68f11b4000 push 0x401bf1
00401be7 8d4de8 lea ecx,[ebp-0x18]
00401bea ff1578104000 call dword ptr [Project1!_imp___vbaFreeStr
(00401078)]
00401bf0 c3 ret

В обоих случаях вызывается vbaStrCat, которая вызывает OLEAUT32!VarBstrCat
HRESULT VarBstrCat(
BSTR bstrLeft,
BSTR bstrRight,
LPBSTR pbstrResult
);

VB6 SP5, Windows 2000 SP4


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


Re: ? по FlexGrid

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

29 Oct 03 16:17:37 в RU.VISUAL.BASIC Slyusar Anatoliy -> Vlad Kuznetsov:

SA> А кто скажет, где можно взять это MSFlexGrid?

_MS_FlexGrid 6 идет вместе с VB. _VS_FlexGrid 8 берется на сайте видеософта.

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

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


Re: Кавычки

From: Alexander Trishin

Alexander Trishin wrote on Wed, 29 Oct 2003 18:11:32 +0000 (UTC):

> Я тут попробовал покопать все это поглубже. Правильный ответ - и "+" и "&"
> работают одинаково.

Поправка. Если один из операндов - Variant, то + действительно вызывает
VarAdd->VarBstrCat
Если использовать & - то будет VarCat.

Для String эти операторы равнозначны. Hу вроде все :)

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


Re: Кавычки

From: "Dmitry Viazowkin"

Hi Alexander!

> Я тут попробовал покопать все это поглубже. Правильный ответ - и "+" и "&"
> работают одинаково.

Hу вот, все веселье обломал ;)

--
With best regards
Dmitry Viazowkin


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



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




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