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


VBNet VBMania
Голосование:

Нет тем!

Рассылки Subscribe.Ru
VB.NET-World


Рассылки Subscribe.Ru
Старые игры

Доска почёта:

Sergey Y. Tkachev
Кононенко Роман
Kirill
Sergey Sapozhnikov
Sobic

Ссылки:

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

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

       Новый выпуск!
    Читайте!


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




    Книги

    Переход на VB .NET. Стратегии, концепции, код (цена ~ 158 руб.)

    Эта книга была задумана как одна из первых книг о.NET, которая ознакомит читателя с основными идеями новой архитектуры и подготовит его к знакомству с более детальной литературой, например документацией Microsoft и ее толкованиями, которая неизбежно появится на рынке. Она поможет вам взглянуть на эту технологию с позиций ваших собственных рабочих планов и быстро освоить те концепции, которые покажутся необычными для большинства прогр...

    Автор(ы): Дан Эпплман, Издательство: Питер, 2002 г.


    Программирование на VB.NET. Учебный курс (цена ~ 119 руб.)

    Эта книга является вводным курсом по изучению языка программирования Visual Basic .NET. Даны основные принципы объектно-ориентированного программирования в контексте языка VB .NET, поскольку без хорошей подготовки в этой области невозможно в полной мере пользоваться всеми преимуществами VB .NET.
    Изложены азы всех аспектов языка, которыми должен владеть любой профессиональный разработчик VB .NET

    Автор(ы): Г. Корнелл, Дж. Моррисон, Издательство: Питер, 2002 г.


    VB.NET для разработчиков (цена ~ 125 руб.)

    Основная задача книги - быстро ознакомить разработчиков Visual Basic с изменениями в .NET Framework. Программисты, использующие Java, C++, Delphi или другие инструменты разработки приложений и интересующиеся Visual Basic или технологией .NET Framework, также найдут эту книгу полезной. Хотя книга посвящена Visual Basic.NET, ее основная цель - продемонстрировать взаимодействие Visual Basic и ...

    Автор(ы): Кит Франклин, Издательство: Вильямс, 2002 г.




    Остальные книги о VB можно найти
    здесь.

    наверх


    Возрождение

       Здравствуйте коллеги! Когда-то в далеком прошлом существовала рассылка для вас "Мир программирования на Visual Basic и HTML".
       Наверное многие заметили, что она растворилась в таком необъятном мире, как интернет. Но и в этом мире наступила эпоха возрождения: все становится на круги своя и, спасибо настоящим читателям, которые заметили это, рассылка возрождается под новым именем "VB.NET-World".
       Окажите честь восстановить статус читателя и подписаться на мою рассылку по адресу: http://subscribe.ru/catalog/comp.design.snoozex или на форме подписки которую вы можете найти в этой рассылке.
       Огромное спасибо ее автору Павлу Сурменку за поддержку в трудную минуту.
       Ваш, @LEXis.

    наверх


    Citycat by Email

       Программа Citycat by Email позволяет работать с сервером Subscribe.ru с помощью электронной почты. Теперь Вам не нужно тратить деньги на работу в online и просматривать мегабайты рекламы для того, чтобы подписаться на нужную рассылку! Вам просто необходимо скачать небольшую базу данных по всем рассылкам каталога с нашего сайта, после чего Вы сможете подписываться и отписываться от рассылок, заказывать архивы прошлых выпусков, выполнять поиск по каталогу рассылок и многое другое.
       Программу Citycat by Email можно бесплатно загрузить с сайта http://sapisoft.h1.ru.

    наверх


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

    Дата: 25.09.2002 21:02 | Раздел: Примеры кода | Автор: Мустафа Артем

    Resizer - Библиотека Resizer обладающая более гибким управлением и быстрым выполнением.

    Дата: 23.09.2002 20:58 | Раздел: Примеры кода | Автор: Селюк Степан

    Reshalka - Решает линейные квадратные и биквадатные уравнения. Для работы требует ActiveX CoolButton.ocx (Крутая кнопка).



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

    03:13 / 29 сен.  Помогите с изображением | Хитов: 3 |  Ответов: 0
    23:23 / 28 сен.  Люди, Помогите! | Хитов: 8 |  Ответов: 1
    17:45 / 28 сен.  Help me !!! | Хитов: 11 |  Ответов: 1
    17:41 / 28 сен.  Satrapp СПАСИБО | Хитов: 4 |  Ответов: 0
    16:04 / 28 сен.  Как управлять Caps lock, Num lock, Scroll lock ??? | Хитов: 6 |  Ответов: 1
    12:53 / 28 сен.  Setup | Хитов: 17 |  Ответов: 3
    23:36 / 27 сен.  Успешный ShareWarezz! | Хитов: 22 |  Ответов: 2
    19:47 / 27 сен.  MSDN | Хитов: 28 |  Ответов: 3
    19:40 / 27 сен.  Про копирование файла | Хитов: 22 |  Ответов: 2
    18:48 / 27 сен.  Работа с Анимированной Gif!!! | Хитов: 12 |  Ответов: 0
    16:54 / 27 сен.  Извлечение иконок из exe и dll | Хитов: 18 |  Ответов: 1
    16:49 / 27 сен.  Получение имен файлов из буффера обмена...... | Хитов: 15 |  Ответов: 1
    11:29 / 27 сен.  Как, используя ADODC, передать в хранимую проце... | Хитов: 14 |  Ответов: 4
    10:49 / 27 сен.  Как связать две таблицы из ACCESS, используя VB? | Хитов: 21 |  Ответов: 3
    08:22 / 27 сен.  Двумерный массив | Хитов: 20 |  Ответов: 2
    08:20 / 27 сен.  Записи, упорядоченные по годам | Хитов: 19 |  Ответов: 3
    22:45 / 26 сен.  Использование спикерфона | Хитов: 21 |  Ответов: 1
    22:16 / 26 сен.  Оцените сайт http://softsware.narod.ru | Хитов: 59 |  Ответов: 3
    22:13 / 26 сен.  как файл вшить в программу | Хитов: 47 |  Ответов: 2
    20:38 / 26 сен.  Видимость строк в DataGrid | Хитов: 16 |  Ответов: 1


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



    наверх


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

    • 29.09 - Сегодня наш сайт посетил стотысячный посетитель. Доменное имя vbmania.ru было зарегистрировано 22 ноября 2001 года. С тех пор наш сайт старался регулярно публиковать новости из мира VB, освещать положение дел в сфере VB исходников и ActiveX контролов, реагировать на предпочтения читателей журнала. Насколько хорошо у нас это получалось - решать вам. Но цифры говорят сами за себя ;)


    наверх


    Новости сайта Азбука VB



    наверх


    Доска объявлений

       Ищу телеработу.

    • Переводы: английский, украинский, русский.
    • Cipper программист.
    • Assembler программист.
    • PIC разработчик
    • композитор
    • Прогрессивные стили
    • 3D анимация
    • GIF анимация
    Антон Лозовский.

    наверх


    Мои программы

    BalloonMessage for MS Agent

       BalloonMessage for Microsoft Agent реализует диалог программы с пользователем, используя при этом технологию Microsoft Agent. OCX реализует три типа диалоговых окон: InputBox, MsgBox и MsgLabels.

    Автор: Шатрыкин Иван. Соавтор: Павел Сурменок.

    наверх

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

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

    Вопросы:


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

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

       В номере 95 был приведен пример о нормальных и Ненормальных переменных а как сделать чтобы было о слове так же. О целом слове. Я пробовал сделать так. Ну например ж*па. Так вот если я написал одну букву из этого слово он уже говорил неверно. Так вот как сделать чтобы о целом слове???


    Автор вопроса: Саша

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

       Где можно найти информацию о winmm.dll библиотеке ? Если точнее мне нужны все ( или почти все)функции и процедуры которые есть в ней. Желательно с примерами на русском не обяяательно. У кого есть help прошу прислать.


    Автор вопроса: Саша

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

       Каким способом можно проиграть явуковой файл так что-бы я смог уянать когда яакончилось воспроияведение?
    Т.е. Мне надо Запустить файл при окончании его яапустить другой.


    Автор вопроса: Саша

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

       Я хочу яделать открыть и яакрыть CDс помощь кнопокя пишу

    Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

    Private Sub Command1_Click()
    Call mciSendString("CD-ROM открыт", 0&, 0&, 0&)
    End Sub

    Private Sub Command2_Click()
    Call mciSendString("CD-ROM яакрыт", 0&, 0&, 0&)
    End Sub

    Но у меня нечего не открывается и не яакрывается. В чем ошибка ?


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

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

       Как программно сделать пароль на определенную папку или файл?


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

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

       Как конвертировать базу данных *.mdb в *.exe или проект VBA


    Автор вопроса: Fat Globe

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

       Как сделать, чтобы при наведении курсора мыши на кнопку на ней менялась картинка, а когда курсор уводят, загружалась другая картинка, как это сделано во многих прогах. Проблема в том, что событие MouseMove не всегда срабатывает нормально (прога не может нормально разобраться, когда курсор "слинял"), особенно, если радом находится много элементов, а некоего подобия MouseOver (как в HTML-страницах) нет.


    Автор вопроса: @LEXis

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

       ОЧЕНЬ НАДО! Как сохранить яначения листбокса в "ини" файл, а потом их яагруяить и применить для этого листбокса


    Автор вопроса: darknez@mail.kz

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

       Есть ли какая-нибудь программа, вроде API-Guide, по сообщениям windows или справочник?


    Автор вопроса: Vlad Lagutin

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

       кто подскажет как сделать программу -шпиона для Win2000(нажатие клавиш,имена запускаемых приложений ...)




    Ответы:


    Вопрос:

       Подскажите как прогу на VB6 привяяать к серийному номеру компакт-диска !!!

    Ответ:

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

    'Для начала создаем форму с лейблом (для проверки)

    Option Explicit

    'Функция API. Надеюсь тут понятно. В большинстве случаев их объяснять не надо.
    Private Declare Function GetVolumeInformation Lib "kernel32" _
         Alias "GetVolumeInformationA" (ByVal lpRootPathName As String, _
         ByVal lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Long, _
         lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
         lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, _
         ByVal nFileSystemNameSize As Long) As Long

    Private Sub Form_Load()
         'Присваиваем caption лейблу
         Label1.Caption = Str(VolumeSerialNumber("E:"))
    End Sub

    Private Function VolumeSerialNumber(Optional strDrive As String = vbNullString)
    'Функция считывающая серийный номер дисков
         Dim strVolLabel As String
         Dim strFileSystem As String
         Dim lngVolumeSerialNumber As Long
         Dim lngMaximumComponentLength As Long
         Dim lngFileSystemFlags As Long
      
         strVolLabel = Space(255)
         strFileSystem = Space(255)
         
         
         If CBool(GetVolumeInformation(strDrive, strVolLabel, Len(strVolLabel), lngVolumeSerialNumber, lngMaximumComponentLength, lngFileSystemFlags, strFileSystem, Len(strFileSystem))) Then
             
             VolumeSerialNumber = lngVolumeSerialNumber
         
         End If
         
         'Debug.Print "Серийный номер диска: " & VolumeSerialNumber

    End Function


    Вопрос:

       Как сделать так чтобы программа находила определ?нное слово (например - реклама) и яаменяла его на другое слово (например - окно), и чтобы эта программа яагружала и брала такие слова ия одного файла (например: 1 строка - раклама (это слово программа ищет в тексте),окно (прог-а яаменяет найденое слово на это); 2 строка - яел?ный,красный и т. д.)
    Если можно, пример!!!

    Ответ:

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

    Пример взят из книги "Программирование на Visual Basic 6 и VBA" - руководство разработчика. SYBEX - 2000

    Если пишешь на VB, думаю английский знаешь, перевести труда не будет.


    ' From "Visual Basic Language Developer's Handbook"
    ' by Ken Getz and Mike Gilbert
    ' Copyright 2000; Sybex, Inc. All rights reserved.

    Public Function dhTranslate( _
      ByVal strIn As String, _
      ByVal strMapIn As String, _
      ByVal strMapOut As String, _
      Optional lngCompare As VbCompareMethod = vbBinaryCompare) As String
         
         ' Take a list of characters in strMapIn, match them
         ' one-to-one in strMapOut, and perform a character
         ' replacement in strIn.
         
         ' From "Visual Basic Language Developer's Handbook"
         ' by Ken Getz and Mike Gilbert
         ' Copyright 2000; Sybex, Inc. All rights reserved.
         
         ' In:
         ' strIn:
         ' String in which to perform replacements
         ' strMapIn:
         ' Map of characters to find
         ' strMapOut:
         ' Map of characters to replace. If the length
         ' of this string is shorter than that of strMapIn,
         ' use the final character in the string for all
         ' subsequent matches.
         ' If strMapOut is empty, just delete all the characters
         ' in strMapIn.
         ' If strMapOut is shorter than strMapIn, rightfill strMapOut
         ' with its final character. That is:
         ' dhTranslate(someString, "ABCDE", "X")
         ' is equivalent to
         ' dhTranslate(someString, "ABCDE", "XXXXX")
         ' That makes it simple to replace a bunch of characters with
         ' a single character.
         ' lngCompare (Optional, default is vbCompareBinary):
         ' Indicates how the search should compare values:
         ' vbBinaryCompare: case-sensitive
         ' vbTextCompare: case-insensitive
         ' vbDatabaseCompare (Doesn't work here)
         ' Any LocaleID value: compare as if in the selected locale.
         ' Out:
         ' Return Value:
         ' strIn, with appropriate replacements
         ' Example:
         ' dhTranslate("This is a test", "aeiou", "AEIOU") returns
         ' "ThIs Is A tEst"
         ' dhTranslate(someString, _
         ' "АБВГДЕЖабвгдежИЙКЛийклМНОПмнопСсТУФХЦтуфхцШшЩЪЫЬщъыьЭэяЯР", _
         ' "AAAAAAAaaaaaaaEEEEeeeeIIIIiiiiNnOOOOOoooooOoUUUUuuuuYyysD")
         ' returns someString with 8-bit characters flattened
         '
         ' Used by:
         ' dhExtractString
         ' dhExtractCollection
         ' dhTrimAll
         ' dhCountWords
         ' dhCountTokens
         
         Dim lngI As Long
         Dim lngPos As Long
         Dim strChar As String * 1
         Dim strOut As String
         
         ' If there's no list of characters
         ' to replace, there's no point going on
         ' with the work in this function.
         If Len(strMapIn) > 0 Then
             ' Right-fill the strMapOut set.
             If Len(strMapOut) > 0 Then
                 strMapOut = Left$(strMapOut & String(Len(strMapIn), _
                  Right$(strMapOut, 1)), Len(strMapIn))
             End If
             strOut = strIn
             For lngI = 1 To Len(strOut)
                 strChar = Mid$(strIn, lngI, 1)
                 lngPos = InStr(1, strMapIn, strChar, lngCompare)
                 If lngPos > 0 Then
                     ' If strMapOut is empty, this doesn't fail,
                     ' because Mid handles empty strings gracefully.
                     Mid$(strOut, lngI, 1) = Mid$(strMapOut, lngPos, 1)
                 End If
             Next lngI
         End If
         dhTranslate = strOut
    End Function


    Вопрос:

       Как сделать так чтобы программа находила определ?нное слово (например - реклама) и яаменяла его на другое слово (например - окно), и чтобы эта программа яагружала и брала такие слова ия одного файла (например: 1 строка - раклама (это слово программа ищет в тексте),окно (прог-а яаменяет найденое слово на это); 2 строка - яел?ный,красный и т. д.)
    Если можно, пример!!!

    Ответ:

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

    Используй контрол MicroSoft Rich TextBox Control. У него даже функция такая есть Find() Ну а дальше дело техники просто пишеш, что-то вроде этого

    RTB.SelText="Другое Слово"

    В общем разберёшся, не маленький уже =).
      
    А по поводу чтения файла построчно, скажу тебе, что это вообще элементарно делается.
      
    Dim f As String
    f=FreeFile
    Open filename$ For Input As #f
       Input #f, Str1$,Str2$ и т.д и т.п.
    Close #f
      
    или чуть иначе:
    Допустим что мы хотим запихать строки в массив.
      
    Dim f$
    Dim filename$
    Dim str_$()
    Dim i%
    ReDim str_$(0)
    filename$ = "C:\autoexec.via"
    i% = 0
    f $= FreeFile
    Open filename$ For Input As #f
        While Not EOF(f)
          ReDim Preserve str_(i%)
          Input #f, str_(i)
          i% = i% + 1
        Wend
    Close #f


    Вопрос:

       Люди у кого есть контрол и инфа для того чтобы сделать кросивый интерфейс (типа winAmp) пришлите плиЗЗ

    Прим. редактора: Пожалуйста, не шлите письма с аттачами по ссылке "Ответить на вопрос". Все письма с аттачами в рассылку не попадают.

    Ответ:

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

    Есть такой контрол, называется он ActiveSkin. Красота winamp'а рядом с ним просто отдыхает. ОЧЕНЬ много возможностей. В освоении не очень простой, хотя инфа/хелп присутствует.
    Где качать не знаю, т.к. нашёл у себя на старом диске. Сейчас этот контрол наверное стал ещё более продвинутым (у меня версия 3.5), так что ищи новые версии в инете.


    Вопрос:

       Подскажите линки на инфу по ияготовлению своих контролов

    Ответ:

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

    Зайди на www.megaflash.vov.ru и скачай там справочник по VB. Справочник очень удобный, но давно не обновлялся, т.к. сейчас все силы брошены на доработку новой версии. Всё же в его базе ты найдёшь целую главу по созданию контролов!


    Вопрос:

       Подскажите плиз адрес сайта где можно скачать прогу, которая делает так, чтобы не нужно было таскать вместе с exe-шкой VB библиотеки (говорят такая есть)
    А еще было бы не плохо скачать гне нибудь OCX для проигрывания Mp3 музыки

    Ответ:

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

    1.Такая прога называется если мне не изменяет память VB PowerWrap. Я думаю не составит труда найти её через поисковики. Но учти, что твой ехе-шник отныне невероятных размеров!
      
    2. А зачем его качать. в VB5-6, покрайней мере ето стандартный виндовзкий контрол. Поищи у себя. Должен быть. Project > Components > Controls > Microsoft Multimedia Control


    Вопрос:

       Подскажите плиз адрес сайта где можно скачать прогу, которая делает так, чтобы не нужно было таскать вместе с exe-шкой VB библиотеки (говорят такая есть)
    А еще было бы не плохо скачать гне нибудь OCX для проигрывания Mp3 музыки

    Ответ:

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

    Самый простой и универсальный вариант:

    Объявляешь api-функцию:

    Private Declare Function ShellExecute Lib "shell32.dll" _
             Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, _
             ByVal lpFile As String, ByVal lpParameters As String, _
             ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

    Создание письма:
         sMailTo = "mailto:" & sEmail & "?Subject=" & sSubject & "&Body=" & sBody
         ShellExecute 0, "", sMailTo, "", "", 0

    Конечно, вместо sMailTo может стоять любая другая ссылка типа www.microsoft.com

    Если хочется отправлять письма покруче, то копайся в MAPI (см. MSDN)...


    Вопрос:

       Подскажите плиз адрес сайта где можно скачать прогу, которая делает так, чтобы не нужно было таскать вместе с exe-шкой VB библиотеки (говорят такая есть)
    А еще было бы не плохо скачать гне нибудь OCX для проигрывания Mp3 музыки

    Ответ:

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

    Как засyнyть MSVBVM?0.DLL в экзешник?

    Ответ на этот вопрос я отыскал у себя в загашниках.

    "Ответ на этот вопpос и подобные емy - никак. Даже если найдется добpая дyша, что пpоделает этy пpоцедypy для вас, то сyммаpный pазмеp нового EXE-файла бyдет pавен сyммаpномy pазмеpy исходных EXE + DLL. Чyдес не бывает! Конечно, кто-то скажет, дескать в Cи это тpебование не выполняется. Это не так. Пpосто множество сишных DLL входят в поставкy самой Windows, ведь она писалась на Си! А если на минyткy пpедставить, что Windows создавалась бы на VB? Тогда бы VB пpогpаммистам не нyжно было бы pаспpостpанять вместе со своей пpогpаммой многочисленные компоненты - только один exe! А Сишники гоpевали бы о том, что дистpибyтив самой пpостой пpогpаммы типа "hello, world!" на Си тянет на многие сотни килобайт. Вообще, pазделение на компоненты (dll/ocx) благо, а не зло. Пpедставьте, что вы yстановили 10 своих VB пpиложений на компьютеp клиента. Если каждое пpиложение pазмеpом 100кб и использyет только MSVBVM50.DLL pазмеpом 1.3Mb, то все они займyт на винчестеpе (100кб x 10 + 1300кб) 2.3Mb. Если бы исходный exe файл включал бы в себя все необходимые DLL/OCX то pазмеp занятого на жестком диске пpостpанства непомеpно возpос бы и составил бы 14 мегабайт! (нетpyдно подсчитать, из pассчета 1 комплекта = 1.4мб (100кб + 1.3мб))"


    Вопрос:

       Как сделать так, чтобы в определённой папке имена всех файлов были в нижнем регистре.

    Ответ:

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

    Так ты их переименуй. Разве ты не знаеш таких функций как UCase() и LCase().
      
    З.Ы.: Я заметил, что многие просто не знают про такую тулсу в VB(5-6), или просто забыли о ней. View > Object Browser или просто F2 там дофига всего. в том числе и стандартные VBшные функции, большенство которых, многие просто не знают. А некоторые очень и очень полезны в разных ситуациях.


    Вопрос:

       При строительстве DLL на VB Можно укаяать совместимость

    Не совместимый
    Совместимый проект
    Двоичная совместимость

    Что это яначит ?

    Ответ:

    Автор ответа: Андрей Никитин

    Двоичная совместимость (Binary Compatibility) - интерфейсы (программные, а не графические) полностью совпадают. Реализация процедур могла измениться, но на клиентах это никак не отражается. А теперь по-русски: Программы, использующие предыдущую версию вашего компонента (DLL или ActiveX), могут спокойно использовать новую версию.
      
    Совместимый проект (Project Compatibility) - были добавлены новые интерфейсы (объекты, методы и т.п.), однако интерфейсы, существовавшие ранее, остались неизменными. А теперь по-русски: Программы, использующие предыдущую версию вашего компонента (DLL или ActiveX) могут спокойно использовать новую версию, но новые возможности интерфейса будут для них недоступны.
      
    Не совместимый (No Compatibility) - хотя бы один элемент интерфейса был изменен или перемещен. Программы, написанные для работы со старыми версиями компонента, не смогут пользоваться его новой версией. При этом в реестре генерируется новый GUID для этого компонента и программа, использующая компонент, нуждается в перекомпиляции и небольшой (обычно) корректировке.


    Вопрос:

       (VB.Net) Вопрос такой, как организовать быстрое перемещение графического объекта на форме? К примеру бегущая строка, катящиеся фигурки, и т.д. но желательно чтобы не грузить в оконном режиме directx :) а попроще как то..

    Ответ:

    Автор ответа: Nechaev Sergey

    смещать объекты по таймеру на заданные координаты...


    Вопрос:

       Вы не подскожите как с помощью Vb проверить существует ли связь с интернет в текущий момент

    Ответ:

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

    Используй API.
    Привожу пример:
      
    Option Explicit
      
    Private Declare Function RasEnumConnections Lib "RasApi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
    Private Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
      
    Private Const RAS95_MaxEntryName = 256
    Private Const RAS95_MaxDeviceType = 16
    Private Const RAS95_MaxDeviceName = 32
    Private Type RASCONN95
       dwSize As Long
       hRasCon As Long
       szEntryName(RAS95_MaxEntryName) As Byte
       szDeviceType(RAS95_MaxDeviceType) As Byte
       szDeviceName(RAS95_MaxDeviceName) As Byte
    End Type
      
    Private Type RASCONNSTATUS95
       dwSize As Long
       RasConnState As Long
       dwError As Long
       szDeviceType(RAS95_MaxDeviceType) As Byte
       szDeviceName(RAS95_MaxDeviceName) As Byte
    End Type
      
      
    Public Function IsConnected() As Boolean ' Conected is ...
    On Error Resume Next
    Dim TRasCon(255) As RASCONN95
    Dim lg As Long
    Dim lpcon As Long
    Dim retVal As Long
    Dim Tstatus As RASCONNSTATUS95
    TRasCon(0).dwSize = 412
    lg = 256 * TRasCon(0).dwSize
    retVal = RasEnumConnections(TRasCon(0), lg, lpcon)
    Tstatus.dwSize = 160
    retVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
    If Tstatus.RasConnState = &H2000 Then
    IsConnected = True
    Else
    IsConnected = False
    End If
    End Function
      
    По крайней мере в Win9x работает.


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

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

    наверх


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

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