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

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

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

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

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


Re: Byte Array(Variant) and API (Part 2)

From: "Igor Evgrafov"

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

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"

> AA>> Одно не пойму, что все эти любители-знатоки Си делают в этой
> AA>> эхе:)?
> AL> мы - профессионалы, а значит нам пофиг на язык, были бы денги :)
>
> Hее... Hадо в правила эхи внести пункт
>
> "Все языки кроме эхотага являются ересью. За знание другого языка
полагается
> RO на три месяца, повторное знание карается пожизненным RO". :)

Посему всех подписчиков в реадонли пожизненно.... За знание русского:)))))


* Origin: Donbass Internet Center DIPT (2:5020/400)


вопрос к гуру по SQL

From: "Stas Tristan"

Ломаю голову вот над такой задачкой:
Есть родительская таблица Persons:

PersonID
PersonName

и дочерняя таблица KeyWords:

KeyWordID
PersonID (foreign key)
KeyWordName

Само собой разумеется, что одной записи из Persons может соответствовать
несколько записей из KeyWords
Мне нужно составить Select-запрос со следующими полями:
PersonName- берется из таблицы Persons
PersonKeyWords - а вот в этом, собственно, и заключается мой вопрос - как
мне в этом поле перечислить все значения KeyWordName из подчиненной таблицы,
разделенные, скажем, точкой с запятой? Чтобы получилось следующее:

Иванов - власть;политика;сила
Петров - физика;Hобель
Сидоров - спорт;атлет

и т.д.

возможно ли составление такого запроса в принципе?





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



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




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