Visual Basic 6.0 - Re[2]: XML парсилка
Re[2]: XML парсилка
From: "Igor A. Vyatkin" <garry [@] mail.novgorod.ru>
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" <dim [@] rnivc.kis.ru>
Всем привет!
"Roman Yuakovlev" <Roman.Yuakovlev [@] p13.f44.n5045.z2.fidonet.org> сообщил/сообщила в новостях следующее:
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" <vde [@] ufanet.ru>
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 <trialFORSPAM [@] trishin.com>
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 <trialFORSPAM [@] trishin.com>
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" <vde [@] ufanet.ru>
Hi Alexander!
> Я тут попробовал покопать все это поглубже. Правильный ответ - и "+" и "&"
> работают одинаково.
Hу вот, все веселье обломал ;)
--
With best regards
Dmitry Viazowkin
* Origin: Me? Organized??? (2:5020/400)