Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 135
от 19.10.2005, 23:21

Администратор:Калашников О.А.
В рассылке:Подписчиков: 126, Экспертов: 20
В номере:Вопросов: 2, Ответов: 5


Вопрос № 27702: Добрый день! В формах Excel можно работать с элементом ListView. В инете, чаще всего, встречаются статьи для Access, применение в Excel, практически не описано. В своем приложении хочу с его помощью организовать форму, где таблица строится из списка ...
Вопрос № 27712: Здравствуйте! Надо что бы когдо программа определит что пользователь подключён к интернету выскакивала форма. Причём как сделать что бы выскакивала форма я знаю, а вот определить подключ. ли польз. к нету я не знаю как!?...

Вопрос № 27.702
Добрый день! В формах Excel можно работать с элементом ListView. В инете, чаще всего, встречаются статьи для Access, применение в Excel, практически не описано. В своем приложении хочу с его помощью организовать форму, где таблица строится из списка ячеек, отобранных по условию и дать возможность пользователю вводить/изменять данные. Может "много хочу" от этого элемента -:))) мне надо, что бы для редактирования была доступна, например, ячейка ListView в строке 4 столбец 3. Сейчас для редактирования доступны ячейки только первого столбца.
Фрагмент моего кода:

frmL.LV.ListItems.Clear
frmL.LV.ColumnHeaders.Clear
frmL.LV.ColumnHeaders.Add 1, , "Код", 50
frmL.LV.ColumnHeaders.Add 2, , "Наименование", 150, lvwColumnLeft
frmL.LV.ColumnHeaders.Add 3, , "Количество", 50, lvwColumnLeft
For i = 1 To 10
frmL.LV.ListItems.Add i, , Cells(i + 1, 1).Value
frmL.LV.ListItems(i).ListSubItems.Add 1, , Cells(i + 1, 2).Value
Next
frmL.Show

Форма frmL, ListView - LV
Может я не правильно наполняю его?
Отправлен: 14.10.2005, 18:42
Вопрос задал: Кулагин Сергей Викторович (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Залетин Виталий Викторович
Здравствуйте, Кулагин Сергей Викторович!
Если не ошибаюсь, ListView не адет узнать, на каком SubItem клацнуль мышью, но если заранее известно, какой столбец, какая строка, то могу посоветовать создать скрытое текстовое окно и в нужное время(двойной щелчок) в нужном месте (посчитать от первого столбца местоположение) показать его. Я так делаю с MSHFlexGrid.
---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: 4-ый класс)
Отправлен: 15.10.2005, 14:54
Оценка за ответ: 4


Вопрос № 27.712
Здравствуйте!
Надо что бы когдо программа определит что пользователь подключён к интернету выскакивала форма. Причём как сделать что бы выскакивала форма я знаю, а вот определить подключ. ли польз. к нету я не знаю как!?
Отправлен: 14.10.2005, 21:01
Вопрос задал: Dushin Igor (статус: 1-ый класс)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Licvidator
Здравствуйте, Dushin Igor!
Три способа узнать это (см приложение)

Приложение:

Ответ отправил: Licvidator (статус: Профессор)
Отправлен: 14.10.2005, 22:55

Отвечает: _Виталий
Licvidator
3 способа и ни одного полного. Ни объявленных API, ни определений констант.......

Здравствуйте, Dushin Igor!
Один способ но работает без заморочек;-)
Код для кнопки:
----------------------------------
Private Sub Command1_Click()
Dim Inet As WinInet
Set Inet = New WinInet
If Inet.ActiveConnection() Then
MsgBox "Connected"
Else
MsgBox "Not connected"
End If
Set Inet = Nothing
End Sub
----------------------------------
Код для Class Module возми из приложения. Имя класса WinInet.

Приложение:

Ответ отправил: _Виталий (статус: 8-ой класс)
Отправлен: 15.10.2005, 02:47
Оценка за ответ: 5
Комментарий оценки:
Отлично всё работает!

Отвечает: Залетин Виталий Викторович
Здравствуйте, Dushin Igor!
Эта штука называется RAS. Вот статья из НЕТа в тему:

--------------------------------------------------------------------------------

Как я могу сделать disconnect от Интернета, используя VisualBasic?

Если Вам нужно завершить все соединения с интернетом используя Visual Basic, Вы можете использовать функции Remote Access Services Hangup. Перво наперво необходимо объявить следующий код в секции declaration формы или модуля.

Declarations

Public Const RAS_MAXENTRYNAME As Integer = 256
Public Const RAS_MAXDEVICETYPE As Integer = 16
Public Const RAS_MAXDEVICENAME As Integer = 128
Public Const RAS_RASCONNSIZE As Integer = 412
Public Const ERROR_SUCCESS = 0&

Public Type RasEntryName
dwSize As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
End Type

Public Type RasConn
dwSize As Long
hRasConn As Long
szEntryName(RAS_MAXENTRYNAME) As Byte
szDeviceType(RAS_MAXDEVICETYPE) As Byte
szDeviceName(RAS_MAXDEVICENAME) As Byte
End Type

Public Declare Function RasEnumConnections Lib _
"rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasConn As _
Any, lpcb As Long, lpcConnections As Long) As Long

Public Declare Function RasHangUp Lib "rasapi32.dll" Alias _
"RasHangUpA" (ByVal hRasConn As Long) As LongPublic _
gstrISPName As String

Public ReturnCode As Long
Procedure

Public Sub HangUp()
Dim i As Long
Dim lpRasConn(255) As RasConn
Dim lpcb As Long
Dim lpcConnections As Long
Dim hRasConn As Long
lpRasConn(0).dwSize = RAS_RASCONNSIZE
lpcb = RAS_MAXENTRYNAME * lpRasConn(0).dwSize
lpcConnections = 0
ReturnCode = RasEnumConnections(lpRasConn(0), lpcb, _
lpcConnections)

If ReturnCode = ERROR_SUCCESS Then
For i = 0 To lpcConnections - 1
If Trim(ByteToString(lpRasConn(i).szEntryName)) _
= Trim(gstrISPName) Then
hRasConn = lpRasConn(i).hRasConn
ReturnCode = RasHangUp(ByVal hRasConn)
End If
Next i
End If

End Sub

Public Function ByteToString(bytString() As Byte) As String
Dim i As Integer
ByteToString = ""
i = 0
While bytString(i) = 0&
ByteToString = ByteToString & Chr(bytString(i))
i = i + 1
Wend
End Function
Использование процедуры HangUp

теперь достаточно просто вызвать процедуру HangUp, и все модемные соединия завершаться:

Call HangUp

---------
Учиться никогда не поздно. Особенно программированию!
Ответ отправил: Залетин Виталий Викторович (статус: 4-ый класс)
Отправлен: 15.10.2005, 14:47

Отвечает: Евгений Неверов
Здравствуйте, Dushin Igor!
Функция указана ниже. Возвращает True, когда пользователь в сети, False - в противном случае

Приложение:

Ответ отправил: Евгений Неверов (статус: Студент)
Отправлен: 15.10.2005, 15:56


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Rambler's Top100 Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.basicvba
Архив рассылки
Отписаться
Вспомнить пароль

В избранное