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

Visual Basic: новости сайтов, советы, примеры кодов. Выпуск 274.


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

Visual Basic: новости сайтов, советы, примеры кодов.
Выпуск 274.


VBNet VBMania
Ссылки:

  • Улицы VB
  • Использование VB
  • Азбука VB
  • Улицы VB
  • Кирпичики VB
  • CообЧа VB
  • VB по русски
  • MDesign
  • IgorykSoft
  • DanSoft
  • Хрестоматия VB
  • Господа!!! читайте MSDN!!!

    Несколько слов от автора:

       Новый выпуск......... Очень новый....
    Читайте!


    Содержание выпуска




    Новости сайта VBNet

    Дата: 21.06.2004 15:55 | Раздел: Примеры кода | Автор: sne

    GlobalAlloc - Кто сказал что в VB нельзя работать шустро со строками? Вот живое доказательство, что можно ускорить в десятки раз скорость работы с помощью АПИ функций. P.S. Не знаю кому и зачем это может понадобиться, но хоть будет меньше возмущений о тормознутости VB!

    Дата: 21.06.2004 10:47 | Раздел: Примеры кода | Автор: sne

    Traffic - Пример иллюстрирует работу со статистикой соединения в 95/98/Me/2k/XP/2k3... ну и выше... вероятно ;) Измерение (в байтах) входящего/исходящего трафика, Получение скорости подключения, Вычисление текущей скорости закачки/выгшрузки, и прочее...

    Дата: 21.06.2004 10:46 | Раздел: Примеры кода | Автор: Maks

    Panel_XP - Panel_XP

    Дата: 21.06.2004 10:42 | Раздел: Примеры кода | Автор: C...R...a...S...H

    3D Mercy - 3D Mercy - Ваш 3D Max

    Дата: 21.06.2004 10:35 | Раздел: Примеры кода | Автор: Жека

    OffisPan - Установил Офис 2003 и не обнаружил панель, думаю будет многим полезна !!!

    Дата: 21.06.2004 10:30 | Раздел: Примеры кода | Автор: Евгений Беловолов

    Чат - Статья с примером про создание чата на VB

    Дата: 21.06.2004 10:23 | Раздел: Примеры кода | Автор: Александр Новиков

    Road Monster v2.00 - В этой версии доступен один вид оружия, но у меня, к сожалению, не получилось решить проблему со столкновением и выводом текста(мерцает). Кому не лень, помогите. Следующая версия будет иметь 3 вида оружий, и еще что-нибудь...



    Последние 20 тем форума на VBNet.Ru:

    15:02 / 23 июн.  Как изменить код завершения программы | Хитов: 9 |  Ответов: 1
    14:15 / 23 июн.  FoxPro 2.6 | Хитов: 5 |  Ответов: 0
    12:28 / 23 июн.  datagrid: как обратицца к значению поля? | Хитов: 8 |  Ответов: 1
    11:55 / 23 июн.  Проблема с компонентом SSOleDBGrid | Хитов: 6 |  Ответов: 0
    11:49 / 23 июн.  СРОЧНО ! ПОМОГИТЕ ПЛИЗ ! ОЧЕНЬ ВАЖНО ! | Хитов: 27 |  Ответов: 1
    08:54 / 23 июн.  VBA и Internet Explorer | Хитов: 13 |  Ответов: 1
    01:51 / 23 июн.  как прилинковать ocx и dll к exe файлу? | Хитов: 45 |  Ответов: 5
    23:20 / 22 июн.  Передча звука по инету | Хитов: 39 |  Ответов: 5
    21:34 / 22 июн.  MS Office 2003 | Хитов: 37 |  Ответов: 5
    20:30 / 22 июн.  Доступ к FoxProшной базе из VB6 | Хитов: 19 |  Ответов: 1
    18:09 / 22 июн.  Соответсвие между Combo и List | Хитов: 31 |  Ответов: 2
    17:22 / 22 июн.  Народ, я в Вас верю!!! | Хитов: 79 |  Ответов: 11
    16:07 / 22 июн.  HELP !!! ( 4itanije informaciji s faila )  | Хитов: 31 |  Ответов: 3
    15:49 / 22 июн.  Как закрыть работающее приложение из кода? | Хитов: 57 |  Ответов: 10
    15:45 / 22 июн.  Запуск с сетевого диска | Хитов: 21 |  Ответов: 1
    15:42 / 22 июн.  Отключить полосы прокрытки | Хитов: 29 |  Ответов: 3
    11:32 / 22 июн.  toolbar | Хитов: 35 |  Ответов: 2
    09:50 / 22 июн.  DataGrid и все такое | Хитов: 33 |  Ответов: 2
    00:07 / 22 июн.  PASCAL нарисуйте блок-схему | Хитов: 40 |  Ответов: 7
    00:04 / 22 июн.  Delegate | Хитов: 26 |  Ответов: 1


    Последние поступления в Библиотеку кодов:



    наверх


    Новости сайта MSDN



    наверх


    Новости сайта GotdotNet

    • 21.06.2004 - "Молния MSDN", 14.06.2004
      Важнейшие материалы, новые веб-ресурсы, продукты и технологии наших партнеров, веб-презентации, общение в режиме реального времени, мероприятия для разработчиков.


    Новые статьи:



    наверх


    Новости сайта dotSite

    Новые статьи:



    Новые примеры:



    наверх


    Один момент из жизни форума: Как организовать поиск текста в окне компонента IE?

    Адерес темы: http://vbnet.ru/forum/show.aspx?id=47022

    Вопрос:
    Автор вопроса: Sharp

       Как организовать поиск текста в окне компонента IE (SHDOCVW.DLL)? Компонент используется в проге как браузер. Загружаю Web страницу, нужно на ней найти определенную строку текста.


    Ответы:

    Автор: Павел
       Dim HTML As String = WebBrowser.document.body.innerHTML

    Кстати, скорее всего регистр здесь будет критичен. То есть вот это:

    Dim HTML As String = WebBrowser.document.body.innerhtml

    может уже не сработать.

    Вот, накорябал примерчик...

    Private Sub Command1_Click()
    MsgBox WebBrowser1.Document.body.innerHTML
    End Sub

    Private Sub Form_Load()
    WebBrowser1.Navigate2 "http://localhost"
    End Sub

    Только учти, что получить содержимое документа можно только после его полной загрузки. Нельзя писать, например, так:

    WebBrowser1.Navigate2 "http://localhost"
    MsgBox WebBrowser1.Document.body.innerHTML

    Потому что Navigate2 работает асинхронно, то есть не ожидает окончания загрузки, а сразу выполняет код дальше. Поэтому советую подписаться на событие DocumentComplete и в нём получать содержимое документа.



    наверх


    Вопрос/Ответ

    Здесь Вы можете задать вопрос, или ответить на уже имеющиеся вопросы.

    Вопросы:


    Автор вопроса: Муравьёва А.И.

    Ответ ожидается по этому адресу

       Необходимо в отчете внести нумерацию попадающих в отчет записей (строк). Как это сделать?
      
    Подскажите, пожалуйста, как в запрос на выборку вставить порядковый номер отобранной строки.


    Автор вопроса: valix

    Ответ ожидается по этому адресу

       Как найти кратчайший путь в двухмерной матрице?


    Автор вопроса: Sergei

    Ответ ожидается по этому адресу

       Подскажите, пожалуйста, как в PictureBox начертить линии и как их после того напечатать?


    Автор вопроса: Тимур

    Ответ ожидается по этому адресу

       Встречал у дельфистов на форуме такую вещь: подключение к MySQL посредством libmySQL.dll. Библиотека писана на С. Хотелось знать её функции, как что делаю, переменные. Может кто программировал работу VB с MySQL.




    Ответы:


    Вопрос:

       Как узнать, какой из Columbs'ов в ListView нажат, или как упорядочивать значения в нажатом столбце?

    Ответ:

    Автор ответа: C...R...a...S...H

    Код сортировки данных в listview по возрастанию/убыванию

    Private Sub Form_Load()
    Dim aa As ListItem
    Set aa = ListView1.ListItems.Add(1, "a1x", "xbsdads")
    aa.ListSubItems.Add 1, "s1x", "2xbsdads"
    aa.ListSubItems.Add 2, "s12x", "xbsdadsw"
    Set aa = ListView1.ListItems.Add(2, "a", "asdads")
    aa.ListSubItems.Add 1, "s", "1asdads"
    aa.ListSubItems.Add 2, "s1", "asdadsw"
    Set aa = ListView1.ListItems.Add(3, "a1", "bsdads")
    aa.ListSubItems.Add 1, "s1", "3bsdads"
    aa.ListSubItems.Add 2, "s12", "bsdadsw"
    ListView1.Sorted = True
    End Sub
    Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
    If ListView1.SortKey = ColumnHeader.Index - 1 Then
         If ListView1.SortOrder = lvwDescending Then ListView1.SortOrder = lvwAscending Else ListView1.SortOrder = lvwDescending
    Else
    ListView1.SortOrder = lvwAscending
    End If
    ListView1.SortKey = ColumnHeader.Index - 1
    End Sub


    Вопрос:

       Я работаю над интерфейсом БД, содержащей около полумиллиона записей и содержащей 2 таблицы (*.dbf).
    Выборка по некоторым критериям занимает достаточное время. Хотелось бы чтобы на время выборки включался ProgressBar, который или реально отслеживал бы выборку, или, хотя-бы, эмулировал в цикле заполнение и сброс ProgressBar, что-бы пользователь знал, что программа не висит. Я видел такое в некоторых программах.
    Вот пример кода:

    SQL1 = "SELECT . . . FROM . . . INNER JOIN STREETS ON . . . WHERE " & crit
    ' Где crit - критерий поиска
    Set rec = db.OpenRecordset(SQL1)

    Form1.Show 'Вызов формы с предупреждением "Ждите, идет поиск"
    Form3.Show vbModal 'Вызов формы 3 показа результата поиска
    Unload Form1

    Ответ:

    Автор ответа: C...R...a...S...H

    Form1.Show 'Вызов формы с предупреждением "Ждите, идет поиск"
    doevents
    SQL1 = "SELECT . . . FROM . . . INNER JOIN STREETS ON . . . WHERE " & crit
    ' Где crit - критерий поиска
    Set rec = db.OpenRecordset(SQL1)
    Form3.Show vbModal 'Вызов формы 3 показа результата поиска
    Unload Form1


    Вопрос:

       Можно ли вывести список (например в List1) всех компов, подсоединенных по LAN?
    Чтобы получилось что-то вроде:
    ...
    Определение компьютеров
    for i=1 to list1.ListCount
    отправка данных по адресу "\\" & list1.list(i) & "\c"
    next i
    ...

    Ответ:

    Автор ответа: Padasevana

    Есть как минимум 3 способа
    1. WNetOpenEnum, WNetEnumResource - есть корявости, которые я пока не наю как обойти на VB.
    2. Использовать пространство имен (name space) Windows - сам не пробовал.
    3. Использовать комманду net view с выводом результатов в файл - это консольная программа, хорошо для DOS.
      
    Способы 2 и 3 не рассматриваю.
      
    Способ 1. Вот что у меня получилось.
      
    Const cMaxLen = 250 'макс. длина списка
    Type NETRESOURCE 'typedef struct _NETRESOURCE { // nr
         dwScope As Long ' DWORD dwScope;
         dwType As Long ' DWORD dwType;
         dwDisplayType As Long ' DWORD dwDisplayType;
         dwUsage As Long ' DWORD dwUsage;
         lpLocalName As String ' LPTSTR lpLocalName;
         lpRemoteName As String ' LPTSTR lpRemoteName;
         lpComment As String ' LPTSTR lpComment;
         lpProvider As String ' LPTSTR lpProvider;
    End Type '} NETRESOURCE;
    'размер структуры = 32 байта
      
    Public Const RESOURCE_CONNECTED = 1&
    Public Const RESOURCE_GLOBALNET = 2&
    Public Const RESOURCE_REMEMBERED = 3&
    Public Const RESOURCETYPE_ANY = 0&
    Public Const RESOURCEUSAGE_CONTAINER = 2&
    Public Const RESOURCEUSAGE_CONNECTABLE = 1&
      
    Public Declare Function WNetOpenEnum Lib "mpr.dll" Alias "WNetOpenEnumA" (ByVal dwScope As Long, ByVal dwType As Long, ByVal dwUsage As Long, lpNetResource As Any, lphEnum As Long) As Long
    Public Declare Function WNetCloseEnum Lib "mpr.dll" (ByVal hEnum As Long) As Long
    Public Declare Function WNetEnumResource Lib "mpr.dll" Alias "WNetEnumResourceA" (ByVal hEnum As Long, lpcCount As Long, lpBuffer As Any, lpBufferSize As Long) As Long
    Public Declare Function WNetGetLastError Lib "mpr.dll" Alias "WNetGetLastErrorA" (lpError As Long, ByVal lpErrorBuf As String, ByVal nErrorBufSize As Long, ByVal lpNameBuf As String, ByVal nNameBufSize As Long) As Long
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
      
    '-------------------------------------------------------------
    'GetNetRes&(sName, a())
    '
    'Функция заносит в массив A:
    ' список компьютеров, если sName имя рабочей группы
    ' список ресурсов на компьютере, если sName имя компьютера
    '
    'sName - имя узла (рабочая_группа или \\компьютер)
    ' при пустом значении должно выдать список рабочих групп
    ' но не всегда получается
    '
    'Возвращает код ошибки
    '
    Function GetNetRes&(sName, a())
      
    Dim bufWG As NETRESOURCE 'узел
    Dim bufPC() As Byte, resPC As NETRESOURCE 'ресурсы узла
    Dim bPCSize&, hPC&, cntPC&
    Dim er, eCode&, eBuf$, eBufSize&, nameBuf$, nameBufSize& 'ошибки
    Dim i&
         
         bPCSize = cMaxLen * 32
         ReDim bufPC(0 To bPCSize - 1) As Byte
         cntPC = cMaxLen
         er = 0
         
         With bufWG
             .dwScope = RESOURCE_GLOBALNET
             .dwType = RESOURCETYPE_ANY
             .dwUsage = RESOURCEUSAGE_CONTAINER
             .dwDisplayType = 0
             .lpRemoteName = sName
             .lpComment = ""
             .lpLocalName = ""
             .lpProvider = ""
         End With
         
         er = WNetOpenEnum(RESOURCE_GLOBALNET, _
                 RESOURCETYPE_ANY, 0&, bufWG, hPC)
         
         If er <> 0 Then GoTo hErr
         
         er = WNetEnumResource(hPC, cntPC, bufPC(0), bPCSize)
         If er <> 0 Then GoTo hErr
         
         ReDim a(0 To cntPC - 1)
         For i = 0 To cntPC - 1
             resPC = b2res(bufPC, i)
             a(i) = resPC.lpRemoteName '& IIf(resPC.lpComment <> "", " (" & resPC.lpComment & ")", "")
         Next
         WNetCloseEnum hPC
    ext:
         GetNetRes = er
         Exit Function
    hErr:
         eBufSize& = 256: nameBufSize& = 256
         nameBuf$ = Space(256): eBuf$ = Space(256)
         WNetGetLastError eCode&, eBuf$, eBufSize&, nameBuf$, nameBufSize&
         MsgBox er & " " & eCode & " " & eBuf & " " & nameBuf$
         GoTo ext
    End Function
      
    Function b2res(b() As Byte, n&) As NETRESOURCE
    Dim p&, bB, ch As Byte, GS$
         With b2res
             bB = 0: GoSub 1: .dwScope = p
             bB = 1: GoSub 1: .dwType = p
             bB = 2: GoSub 1: .dwDisplayType = p
             bB = 3: GoSub 1: .dwUsage = p
             bB = 4: GoSub 1: GoSub 2: .lpLocalName = GS
             bB = 5: GoSub 1: GoSub 2: .lpRemoteName = GS
             bB = 6: GoSub 1: GoSub 2: .lpComment = GS
             bB = 7: GoSub 1: GoSub 2: .lpProvider = GS
         End With
    Exit Function
    1: CopyMemory p, b(n * 32 + 4 * bB), 4: Return
    2: GS = "": If p = 0 Then Return
         Do
             CopyMemory ch, ByVal p, 1: If ch = 0 Then Exit Do
             GS = GS + Chr(ch): p = p + 1
         Loop
    Return
    End Function
      


    Вопрос:

       Помогите… В контекстном меню к файлам с расширением .exe я добавил нужный пункт. И теперь при его выборе открывается моя прога. А как теперь быть, чтобы при открытии моей проги (например в текстовом поле) возвращался путь к .exe файлу, в контекстном меню которого был произведен щелчок на соответствующем пункте.

    Ответ:

    Автор ответа: C...R...a...S...H

    В реестре ты прописал что то вроде этого

    "C:\Program Files\WinRAR\WinRAR.exe"

    Попробуй написать так

    "C:\Program Files\WinRAR\WinRAR.exe" "%1"

    А в программе напиши так

    text1,text=Command$




    Ответ:

    Автор ответа: Anakonda

    В Form_Load напиши:

    Text1.Text = Trim$(Command$)




    Можете заполнить эту форму, либо отослать вопрос СЮДА

    Форма для добавления нового вопроса в этот раздел. Информация отсылается по E-mail владельцу сайта.
    Текст сообщения:
    Ваше имя
    E-mail для ответа

    наверх


    Выпуск подготовили:

    Сурменок Павел

    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться

    В избранное