Visual Basic 6.0 - Byte Array(Variant) and API (Part 2)
Re: Byte Array(Variant) and API (Part 2)
From: "Igor Evgrafov" <ievgrafo [@] jba.ru>
Hello, Anton!
You wrote to Alexander Asyabrik on Tue, 21 Oct 2003 10:51:59 +0400:
AA>> Одно не пойму, что все эти любители-знатоки Си делают в этой
AA>> эхе:)?
AL> мы - профессионалы, а значит нам пофиг на язык, были бы денги :)
Hее... Hадо в правила эхи внести пункт
"Все языки кроме эхотага являются ересью. За знание другого языка полагается
RO на три месяца, повторное знание карается пожизненным RO". :)
- ---
With best regards, Igor Evgrafov.
* Origin: Cronyx Plus ISP (2:5020/400)
Re: russian msdn
В письме Tue, 21 Oct 2003 22:43:28 +0700, Ivan Kovalef
написал:
> GT> Судествует ли msdn переведённый на русский?
>
> Глупый вопpос -- а зачем?
не ну а вдруг есть? так же легче на много...
* Origin: Linux Registered User #295225 (2:6083/13.15)
Re: вопрос к гуру по SQL
From: Alexander Trishin <trialFORSPAM [@] trishin.com>
Stas Tristan wrote on Wed, 22 Oct 2003 15:24:04 +0000 (UTC):
> возможно ли составление такого запроса в принципе?
Если MS SQL 2000 - то возможно, написав user-defined function ;)
--
AT
* Origin: Demos online service (2:5020/400)
console
[Dmitriy Kozyrev Sergey Ozyakov], 08 Oct 03 21:09
DK> Создавай безымянный Pipe (опускать SECURITY_ATTRIBUTES нельзя), ее
DK> input-хендл записывай в поля hStdOutput и hStdError структуры
DK> STARTUPINFO (также нужно установить в ней флаг STARTF_USESTDHANDLES),
DK> запускай и потихонечку считывай данные из другого конца трубы. :)
DK>
DK> С win32 console это работает стопудово, а будет ли работать и с
DK> досовкими программами - не проверял.
Hу вот написал я код.Так он зависает.
Function Dos2WinExec(filename As String) As String
Const BUFSIZE = 2000
Dim SecAttr As SECURITY_ATTRIBUTES
Dim hReadPipe, hWritePipe As Long
Dim StartupInfo As StartupInfo
Dim ProcessInfo As PROCESS_INFORMATION
Dim over As OVERLAPPED
SecAttr.nLength = Len(SecAttr)
SecAttr.bInheritHandle = True
SecAttr.lpSecurityDescriptor = 0&
If CreatePipe(hReadPipe, hWritePipe, SecAttr, 0) Then
StartupInfo.cb = Len(StartupInfo)
StartupInfo.hSdtOutput = hWritePipe
StartupInfo.hSdtInput = hReadPipe
StartupInfo.dwFlags = STARTF_USESTDHANDLES And STARTF_USESHOWWINDOW
StartupInfo.wShowWindow = 1
If Not CreateProcessA(0&, filename, 0&, 0&, 1&, CREATE_NEW_CONSOLE Or NORMAL_PRIORITY_CLASS, 0&, 0&, StartupInfo, ProcessInfo) Then
Do
WaitReason = WaitForSingleObject(ProcessInfo.hProcess, 100)
ret = GetExitCodeProcess(ProcessInfo.hProcess, Code)
Loop Until (WaitReason <> 258)
Do
BytesRead = 0
bool = ReadFile(hReadPipe, Buffer, BUFSIZE, BytesRead, over)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Вот здесь виснет.
If BytesRead = 0 Then Exit Do
Loop Until False
End If
CloseHandle (ProcessInfo.hProcess)
CloseHandle (ProcessInfo.hThread)
CloseHandle (hReadPipe)
CloseHandle (hWritePipe)
End If
End Function
Что не так написал?
Best wishes,
OSer.
* Origin: Embankment LAN Point (2:5066/70.103)
Re: console
Мы где-то виделись, Sergey?
22 Oct 03 09:17:04 в RU.VISUAL.BASIC Sergey Ozyakov -> мне:
SO> Do
SO> WaitReason = WaitForSingleObject(ProcessInfo.hProcess, 100)
SO> ret = GetExitCodeProcess(ProcessInfo.hProcess, Code)
SO> Loop Until (WaitReason <> 258)
Можно просто написать
WaitForSingleObject ProcessInfo.hProcess, INFINITE
А если ты не хочешь замораживать программу - заюзай MsgWaitForMultipleObjects
(см. www.smsoft.ru/ru).
SO> Do
SO> BytesRead = 0
SO> bool = ReadFile(hReadPipe, Buffer, BUFSIZE, BytesRead, over)
SO> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SO> Вот здесь виснет.
Ты пытаешься считать из трубы больше данных, чем в ней есть. Определить, есть
ли в трубе данные и сколько их, можно через PeekNamedPipe.
Вообще, я советую тебе считывать данные и в то время, когда программа
работает.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: russian msdn
Мы где-то виделись, Gennady?
21 Oct 03 22:19:47 в RU.VISUAL.BASIC Gennady Tarada -> All:
GT> Судествует ли msdn переведённый на русский?
Hет и пока не предвидится.
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
Re: Byte Array(Variant) and API (Part 2)
Мы где-то виделись, Igor?
21 Oct 03 23:35:33 в RU.VISUAL.BASIC Igor Evgrafov -> Anton Lobastoff:
IE> Hее... Hадо в правила эхи внести пункт
IE> "Все языки кроме эхотага являются ересью. За знание другого языка
IE> полагается RO на три месяца, повторное знание карается пожизненным RO". :)
"Hет языка программирования, кроме Бейсика, и Билл - пророк его?" ;)
Всего хорошего!
Дмитрий Козырев aka Master
* Origin: Дорогу осилит идущий. (2:5023/11.148)
about MSDN апрельский
>\/
GR>> решил обновить MSDN скачал с микрософта последний апрельский -
GR>> поставил - он стал и отдельно по ярлыку запускается - при нажатии
GR>> из VB F1 говорит сосите и поставте MSDN как сделать чтобы все
GR>> было как и раньше но с новым MSDN ?
IE> Угу, оно некомпатибле. Да там и по VB6 нет ничего, какой смысл
IE> подключать? У меня два штуки стоят...
А какой мсдн нужен, чтобы там было и по vb? ;)
>/\
* Origin: Attackie Interactive (2:5045/44.13)
Re: Byte Array(Variant) and API (Part 2)
From: "Roman Brunets" <postmaster [@] hbook.donetsk.ua>
> AA>> Одно не пойму, что все эти любители-знатоки Си делают в этой
> AA>> эхе:)?
> AL> мы - профессионалы, а значит нам пофиг на язык, были бы денги :)
>
> Hее... Hадо в правила эхи внести пункт
>
> "Все языки кроме эхотага являются ересью. За знание другого языка
полагается
> RO на три месяца, повторное знание карается пожизненным RO". :)
Посему всех подписчиков в реадонли пожизненно.... За знание русского:)))))
* Origin: Donbass Internet Center DIPT (2:5020/400)
вопрос к гуру по SQL
From: "Stas Tristan" <stas7775 [@] i.com.ua>
Ломаю голову вот над такой задачкой:
Есть родительская таблица Persons:
PersonID
PersonName
и дочерняя таблица KeyWords:
KeyWordID
PersonID (foreign key)
KeyWordName
Само собой разумеется, что одной записи из Persons может соответствовать
несколько записей из KeyWords
Мне нужно составить Select-запрос со следующими полями:
PersonName- берется из таблицы Persons
PersonKeyWords - а вот в этом, собственно, и заключается мой вопрос - как
мне в этом поле перечислить все значения KeyWordName из подчиненной таблицы,
разделенные, скажем, точкой с запятой? Чтобы получилось следующее:
Иванов - власть;политика;сила
Петров - физика;Hобель
Сидоров - спорт;атлет
и т.д.
возможно ли составление такого запроса в принципе?
* Origin: Demos online service (2:5020/400)