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


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



Рассылки Subscribe.Ru
VB.NET-World
Новости сайта IgorykSoft и советы по программированию
DanSoft о Visual Basic
Visual Basic.NET Уроки.

Ссылки:

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

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

       Присылайте коды по адресу pavel@vbnet.ru или subscribe@vbnet.ru. Мои запасы подходят к концу!
    Читайте!


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




    Книги

    Переход на 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 можно найти
    здесь.

    наверх


    Citycat by Email

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

    наверх


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

    Дата: 27.04.2003 13:22 | Раздел: Статьи по VB | Автор: Немиро Алексей

    Разработка окна в стиле Windows XP - В данной статье я расскажу о том, как можно сделать обычное окно в стиле Windows XP, без использования дополнительных элементов управления, за пять минут.

    Дата: 25.04.2003 14:07 | Раздел: Полезные программы | Автор: CyRax

    Цвет ника в профиле - Эта программа предназначена для создания html-кода имени пользователя с разноцветными буквами в профиле форума сайта VBNet.Ru. С исходниками на VB6.

    Дата: 25.04.2003 12:47 | Раздел: Статьи по VB | Автор: Немиро Алексей

    Каждому юзеру по программе! - Надоело мне смотреть на сообщения об отсутствии библиотек и контролов, надоело любоваться искаженным интерфейсом и жучками (bugs), которые выползают при малейшем движении мыши, надоело постоянно, в порыве гнева, давить на Shift+Delete! Надоело! Вот такими вот словами я начинаю свою первую статью по программированию на Visual Basic. В этой статье я покажу наиболее часто встречающиеся ошибки при разработке приложений, а так же варианты их исправления.

    Дата: 25.04.2003 12:04 | Раздел: Примеры кода | Автор: Ловиков Миха

    Синхронизация часов - Сверяем и подводим часы Windows.

    Дата: 24.04.2003 10:59 | Раздел: ActiveX контролы | Автор: msv

    XP TextBox - TextBox в стиле Windows XP.

    Дата: 23.04.2003 12:04 | Раздел: Примеры кода | Автор: Ловиков Миха

    LASH Desktop icon - Глюкомейкерам посвящается! Прыгающие иконки на рабочем столе.

    Дата: 22.04.2003 12:09 | Раздел: Примеры кода | Автор: sKit

    Чат по COM-порту - Программка позволяет обчаться по COM-порту (с помощью нуль-модемного кабеля) , хотя я использовал такую приятность, как радиомодем Интеграл+ 160/2400

    Дата: 22.04.2003 10:59 | Раздел: Статьи по VB | Автор: Лэрри Руф

    Создание пользовательских элементов управления с помощью .NET Compact Framework - Лэрри Руф разработал пошаговое руководство по построению пользовательских элементов управления, называемых им мутированными элементами управления, в .NET Compact Framework. Элементы управления, рассмотренные в этой статье, включают в себя разновидности элемента управления TextBox, добавляющие свойство Locked и создающие свойство InputPanel.

    Дата: 22.04.2003 10:44 | Раздел: ActiveX контролы | Автор: Andrew Leshchuk

    Stringer - ActiveX библиотека Hedgehog String Processor предназначена для форматирования и обработки строк, числовых значений и дат.

    Дата: 21.04.2003 12:09 | Раздел: Примеры кода | Автор: xShadow

    Сумма прописью - Пожалуй, эту функцию написали уже ВСЕ. В этом примере примечателен размер кода.



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

    15:34 / 28 апр.  Тормазит цикл .... | Хитов: 1 |  Ответов: 0
    15:21 / 28 апр.  Напоминатель 1.0 | Хитов: 10 |  Ответов: 0
    14:28 / 28 апр.  Minimize... | Хитов: 7 |  Ответов: 1
    13:02 / 28 апр.  Как создать .dll для Excel? | Хитов: 12 |  Ответов: 0
    11:24 / 28 апр.  как отсылать данные на мыло??? | Хитов: 16 |  Ответов: 1
    10:11 / 28 апр.  Нужны файлы HELP для работы в Инет | Хитов: 8 |  Ответов: 0
    08:56 / 28 апр.  Что скажите о моей проге | Хитов: 28 |  Ответов: 1
    07:01 / 28 апр.  http://www.vbnet.ru/article/showarticle.asp?id=105 | Хитов: 19 |  Ответов: 1
    04:48 / 28 апр.  Install | Хитов: 14 |  Ответов: 1
    00:13 / 28 апр.  Install... | Хитов: 22 |  Ответов: 1
    21:12 / 27 апр.  Как вставить форму в форму | Хитов: 25 |  Ответов: 1
    20:48 / 27 апр.  Массивы и файлы | Хитов: 15 |  Ответов: 0
    19:14 / 27 апр.  Отправка данных | Хитов: 22 |  Ответов: 1
    18:20 / 27 апр.  последний символ | Хитов: 19 |  Ответов: 3
    16:52 / 27 апр.  Microsoft Data Bound Grid Control 5.0. (SP3). | Хитов: 11 |  Ответов: 0
    16:47 / 27 апр.  Visual С++++++++++++++++++++++ | Хитов: 22 |  Ответов: 1
    14:30 / 27 апр.  Модем | Хитов: 20 |  Ответов: 1
    13:47 / 27 апр.  Номер кластера | Хитов: 10 |  Ответов: 0
    13:21 / 27 апр.  Заходите и голосуйте!! | Хитов: 42 |  Ответов: 5
    13:02 / 27 апр.  VS .NET 2003 Everett Final beta November | Хитов: 0 |  Ответов: 0


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



    Новости от VBNet-чиков!:



    наверх


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



    наверх


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



    наверх


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



    наверх


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

    • 25.04.2003 - Представление Windows Server 2003!
      C 20 по 22 мая в городах: Москва, Нижний Новгород, Екатеринбург, Ростов-на-Дону, Новосибирск, Алматы, Санкт-Петербург, Киев. Все посетители бесплатно получат ознакомительную версию Windows Server 2003!
    • 23.04.2003 - Пресс-релиз Russian .NET User Group
      После недавней реорганизации Russian .NET User Group возобновляются регулярные встречи. Опираясь на поддержку вышеупомянутых организаций, Russian .NET UG проводит конкурсы и разыгрывает призы на своих встречах.
    • 21.04.2003 - Подведены итоги конкурса программ для Pocket PC 2002
      Авторитетное жюри назвало имена победителей и призеров конкурса на лучшую программу для платформы Pocket PC 2002.


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



    наверх


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

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

    • Работа с графикой в .NET CF
      Статья, описывающая пример создания графического приложения для .NET CF
    • Главы из книжек по .NET для членов Russian .NET UG.
      К сожалению, сама публикация как и книжки на английском. Надеемся, что кому-нибудь эта информация покажется полезной.
    • Обфускация в .NET. Том I
      В данной публикации обсуждаются вопросы защиты .Net продуктов, в частности путем обфускации (запутывания)
    • Пресс-релиз Russian .NET UG
      Информация о старейшей .NET UG в России.
    • Немного о смартфонах.
      Данная публикация вкратце рассказывает о новых возможностях мобильных технологий для IT-менеджеров и разработчиков.


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



    наверх


    Один момент из жизни форума: Приоритеты

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

       Как назначить приоритет, любой запущенной программе, зная путь к ней. (не у всякого exe_шника есть хендл).


    Ответы:

    Автор: Konstantin
       Вот какую фичу я нашел в API

    Public Declare Function SetPriorityClass Lib "kernel32" Alias "SetPriorityClass" (ByVal hProcess As Long, ByVal dwPriorityClass As Long) As Long

       И теперь константы к ним:

    Public Const IDLE_PRIORITY_CLASS = &H40
    Public Const NORMAL_PRIORITY_CLASS = &H20
    Public Const HIGH_PRIORITY_CLASS = &H80
    Public Const REALTIME_PRIORITY_CLASS = &H100

       Юзай наздоровье! ;)



    наверх


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

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

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

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх

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

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

    Вопросы:


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

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

       Подскажите как в ASP.NET обратиься к свойствам элемента управления, черея коллекцию Controls объекта Page. Код примерно следующий:

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
             Dim i As Integer
             Dim t As New TextBox()
             For i = 0 To Page.Controls.Count - 1
                 If TypeOf Page.Controls.Item(i) Is TextBox Then
                     t = Page.Controls.Item(i)
                     If NotChar(t.Text) Then
                         label1.Text = "Текст сообщения"
                         GoTo 1
                     End If
                 End If
             Next i
    1:
         End Sub

    Где NotChar-просто функция, которая находит определенный символ строки, работает исправно, дело не в ней. При нажатии ничего не происходит, даже если этот символ есть в строке.


    Автор вопроса: K.

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

       Существует (и если да, то где?) контрол как в VB6 организовано окно Propetis, т.е. в одной колонке названия св-в, а в другой их значение, причем как обычные текстовые поля, так и списки. Очень необходим.


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

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

       Как лучше органияовать SAVE/LOAD компонентов в TreeView контроле? Я пытался решить проблему черея INI файл(т.к. др. методы недоступны -> я только учусь), но желаемого реяультата не добился.(хотя теоретически должно работать)
      
    И еще: там к каждому компоненту строковая переменная с описанием.


    Автор вопроса: Костик

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

       Срочно необходимо сделать, чтобы при нажатии определенной комбинации клавиш при неактивном приложении, выполнялась заданая процедура.


    Автор вопроса: Alex Velikiy

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

       Как открыть дверцу Cd-Rom програмно?


    Автор вопроса: K.

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

       Существуют ли библиотеки (или контролы) для генерирования случайных чисел с заданным законом распределения, как например в Си?




    Ответы:


    Вопрос:

       Как с помощью VB узнать подключен ты к сети, например Интернету?

    Ответ:

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

    Вот 3 способа проверки связи с интернет:

    '---1---
    Private Sub CheckConnection1()
    Dim ReturnCode As Long
    Dim hKey As Long
    Dim lpSubKey As String
    Dim phkResult As Long
    Dim lpValueName As String
    Dim lpReserved As Long
    Dim lpType As Long
    Dim lpData As Long
    Dim lpcbData As Long
    lpSubKey = "System\CurrentControlSet\Services\RemoteAccess" & Chr$(0)
    ReturnCode = RegOpenKey(HKEY_LOCAL_MACHINE, lpSubKey, phkResult)
    If ReturnCode = ERROR_SUCCESS Then
        hKey = phkResult
        lpValueName = "Remote Connection"
        lpReserved = APINULL
        lpType = APINULL
        lpData = APINULL
        lpcbData = APINULL
        ReturnCode = RegQueryValueEx(hKey, lpValueName, lpReserved, lpType, ByVal lpData, lpcbData)
        lpcbData = Len(lpData)
        ReturnCode = RegQueryValueEx(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData)
        If ReturnCode = ERROR_SUCCESS Then
            If lpData = 0 Then
               MsgBox "Your computer is not connected to Internet via modem", vbInformation, "Checing connection"
            Else
               MsgBox "Your computer is connected to Internet via modem", vbInformation, "Checing connection"
            End If
        Else
            MsgBox "Your computer is not connected to Internet via modem, but it can be connected via LAN", vbInformation, "Checing connection"
        End If
    End If
    RegCloseKey (hKey)
    End Sub
    '---2---
    Private Sub CheckConnection2(Optional ByRef ConnectionInfo As Long, Optional ByRef sConnectionName As String)
    Dim dwFlags As Long
    Dim sNameBuf As String, msg As String
    Dim lPos As Long
    sNameBuf = String$(513, 0)
    If InternetGetConnectedStateEx(dwFlags, sNameBuf, 512, 0&) Then
        lPos = InStr(sNameBuf, vbNullChar)
        If lPos > 0 Then
          sConnectionName = Left$(sNameBuf, lPos - 1)
        Else
          sConnectionName = ""
        End If
        msg = "Your computer is connected to Internet" & vbCrLf & "Connection Name: " & sConnectionName
        If (dwFlags And INTERNET_CONNECTION_LAN) Then
            msg = msg & vbCrLf & "Connection use LAN"
        ElseIf lFlags And INTERNET_CONNECTION_MODEM Then
            msg = msg & vbCrLf & "Connection use modem"
        End If
        If lFlags And INTERNET_CONNECTION_PROXY Then msg = msg & vbCrLf & "Connection use Proxy"
        If lFlags And INTERNET_RAS_INSTALLED Then
           msg = msg & vbCrLf & "RAS INSTALLED"
        Else
           msg = msg & vbCrLf & "RAS NOT INSTALLED"
        End If
        If lFlags And INTERNET_CONNECTION_OFFLINE Then
           msg = msg & vbCrLf & "You are OFFLINE"
        Else
           msg = msg & vbCrLf & "You are ONLINE"
        End If
        If lFlags And INTERNET_CONNECTION_CONFIGURED Then
           msg = msg & vbCrLf & "Your connection is Configured"
        Else
           msg = msg & vbCrLf & "Your connection is not Configured"
        End If
    Else
        msg = "Your computer is NOT connected to Internet"
    End If
        MsgBox msg, vbInformation, "Checking connection"
    End Sub
    '---3---
    Private Sub CheckConnection3()
        Dim sTmp As String
        Dim hInet As Long
        Dim hUrl As Long
        Dim Flags As Long
        Dim url As Variant
        hInet = InternetOpen(App.Title, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0&)
        sTmp = Me.Caption
        Me.Caption = "Checking connection with www.yahoo.com..."
        If hInet Then
           Flags = INTERNET_FLAG_KEEP_CONNECTION Or INTERNET_FLAG_NO_CACHE_WRITE Or INTERNET_FLAG_RELOAD
           hUrl = InternetOpenUrl(hInet, "http://www.yahoo.com", vbNullString, 0, Flags, 0)
           If hUrl Then
              MsgBox "Your computer is connected to Internet", vbInformation, "Checing connection"
              Call InternetCloseHandle(hUrl)
           Else
              MsgBox "Your computer is not connected to Internet", vbInformation, "Checing connection"
           End If
        End If
        Call InternetCloseHandle(hInet)
        Me.Caption = sTmp
    End Sub



    Ответ:

    Автор ответа: Лесник

    Попробуй так:
    Размести Winsock , затем попробуй присоединиться к Яндексу по 80 порту (RemoteHost="yandex.ru", remotePort=80). Если получится (winsock.state=sckConnected), то ты в инете... Если нет - то оффлайн ...


    Вопрос:

       Подскажите пожалуйста как правильно записать файл с картинкой типа *.bmp, *.jpg в БД SQL Server.

    Ответ:

    Автор ответа: Sergey Y. Tkachev

    Вот код модуля.
    Предлагаются различные варианты. Некоторые работают корректно даже с MySQL.

    Option Explicit

    Private Const BlockSize = 32768

    Public Function PostBLOB(ByVal strFileName As String, ByRef objRecSet As
    adodb.Recordset, ByVal strFieldName As String) As Boolean
    On Error GoTo ERRHANDLER
    Dim objStream As Stream
    Dim varChunk As Variant
         
         PostBLOB = False
         Set objStream = New adodb.Stream
         objStream.Type = adTypeBinary
         objStream.Open
         objStream.LoadFromFile strFileName

         varChunk = objStream.Read
         
         objRecSet.Fields(strFieldName).Value = " 'TEST' "
         
         objStream.Close
         Set objStream = Nothing
         PostBLOB = True
         
         Exit Function
         
    ERRHANDLER:

         PostBLOB = False
         Set objStream = Nothing
         
    End Function

    Public Function GetBLOB(ByVal strFileName As String, ByRef objRecSet As
    adodb.Recordset, ByVal strFieldName As String)
    On Error GoTo ERRHANDLER

    Dim objStream As Stream

         GetBLOB = False
         Set objStream = New adodb.Stream
         objStream.Type = adTypeBinary
         objStream.Open

         objStream.Write objRecSet.Fields(strFieldName).Value
         objStream.SaveToFile strFileName
         objStream.Close
         Set objStream = Nothing
         GetBLOB = True
         
         Exit Function
         
    ERRHANDLER:

         GetBLOB = False
         Set objStream = Nothing

    End Function

    Public Function FileToBLOB(ByVal strFullPath As String, ByRef objField
    As adodb.Field, Optional ByVal bUseStream As Boolean = True, Optional
    ByVal lngChunkSize As Long = 8192) As Boolean
         On Error Resume Next
         Dim objStream As adodb.Stream
         Dim intFreeFile As Integer
         Dim lngBytesLeft As Long
         Dim lngReadBytes As Long
         Dim byBuffer() As Byte
         Dim varChunk As Variant


         If bUseStream Then
             Set objStream = New adodb.Stream


             With objStream
                 .Type = adTypeBinary
                 .Open
                 .LoadFromFile strFullPath
                 objField.Value = .Read(adReadAll)
             End With
         Else


             With objField
                 '<<--If the field does not support
                 ' Long Binary data'-->>
                 '<<--then we cannot load the data
                 ' into the field.-->>


                 If (.Attributes And adFldLong) <> 0 Then
                     intFreeFile = FreeFile
                     Open strFullPath For Binary Access Read As #intFreeFile
                     lngBytesLeft = LOF(intFreeFile)


                     Do Until lngBytesLeft <= 0


                         If lngBytesLeft > lngChunkSize Then
                             lngReadBytes = lngChunkSize
                         Else
                             lngReadBytes = lngBytesLeft
                         End If
                         ReDim byBuffer(lngReadBytes)
                         Get #intFreeFile, , byBuffer()
                         objField.AppendChunk byBuffer()
                         lngBytesLeft = lngBytesLeft - lngReadBytes


                         DoEvents
                         Loop
                         Close #intFreeFile
                     Else
                         Err.Raise -10000, "FileToBLOB", "The Database Field
    does Not support Long Binary Data."
                     End If
                 End With
             End If
             


             If Err.Number <> 0 Or Err.LastDllError <> 0 Then
                 FileToBLOB = False
             Else
                 FileToBLOB = True
             End If
         End Function


    Function ReadBLOB(Source As String, T As Recordset, sField As String)
         Dim NumBlocks As Integer
         Dim SourceFile As Integer
         Dim i As Integer
         Dim FileLength As Long
         Dim LeftOver As Long
         Dim byteData() As Byte

         On Error GoTo Err_ReadBLOB

         SourceFile = FreeFile
         Open Source For Binary Access Read As SourceFile

         FileLength = LOF(SourceFile)
         If FileLength = 0 Then
         ReadBLOB = 0
         Exit Function
         End If

         NumBlocks = FileLength \ BlockSize
         LeftOver = FileLength Mod BlockSize

         If LeftOver > 0 Then

         ReDim byteData(0 To LeftOver - 1)
         Get SourceFile, , byteData
         'T.Edit
         T(sField).AppendChunk (byteData)
         'T.Update
         End If

         ReDim byteData(0 To BlockSize - 1)
         For i = 1 To NumBlocks
         Get SourceFile, , byteData
         T(sField).AppendChunk (byteData)
         Next i

         Close SourceFile
         ReadBLOB = FileLength
         Exit Function

    Err_ReadBLOB:

         ReadBLOB = -Err
         MsgBox Err.Description, , Err.Number
         Exit Function

    End Function

    Function WriteBLOB(T As adodb.Recordset, sField As String, Destination
    As String)
         Dim NumBlocks As Integer, DestFile As Integer, i As Integer
         Dim FileLength As Long, LeftOver As Long
         Dim byteData() As Byte

         On Error GoTo Err_WriteBLOB

         FileLength = T.Fields(sField).ActualSize
         If FileLength = 0 Then
         WriteBLOB = 0
         Exit Function
         End If

         NumBlocks = FileLength \ BlockSize
         LeftOver = FileLength Mod BlockSize

         DestFile = FreeFile
         Open Destination For Output As DestFile
         Close DestFile

         Open Destination For Binary As DestFile

         If LeftOver > 0 Then
         byteData() = T(sField).GetChunk(LeftOver)
         Put DestFile, , byteData
         End If

         For i = 1 To NumBlocks
         byteData() = T(sField).GetChunk((i - 1) * BlockSize + LeftOver,
    BlockSize)
         Put DestFile, , byteData
         Next i
         Close DestFile
         WriteBLOB = FileLength
         Exit Function

    Err_WriteBLOB:

         WriteBLOB = -Err
         MsgBox Err.Description, vbCritical, Err.Number
         Exit Function

    End Function


    Public Function GetTEXT(ByRef objRecSet As adodb.Recordset, ByVal
    strFieldName As String) As String
    On Error GoTo ERRHANDLER

    Dim objStream As Stream

         GetTEXT = ""
         Set objStream = New adodb.Stream
         objStream.Type = adTypeBinary
         objStream.Open

         objStream.Write objRecSet.Fields(strFieldName).Value
         objStream.Position = 0
         Do Until objStream.EOS
             GetTEXT = GetTEXT & objStream.Read(1)
         Loop
         'objStream.SaveToFile strFileName
         objStream.Close
         Set objStream = Nothing
         
         Exit Function
         
    ERRHANDLER:

         GetTEXT = ""
         MsgBox Err.Number & Err.Description
         Set objStream = Nothing

    End Function

    Function AddLongRaw(ByVal strFileName As String, ByRef objRecSet As
    ADODB.Recordset, ByVal strFieldName As String) As Boolean
         On Error GoTo ERRHANDLER
         AddLongRaw = False
         Dim objStream As Stream
         Set objStream = New ADODB.Stream
         objStream.Type = adTypeBinary
         objStream.Open
         objStream.LoadFromFile strFileName

         objRecSet.Fields(strFieldName).Value = objStream.Read
         objStream.Close
         Set objStream = Nothing
         AddLongRaw = True
         Exit Function
    ERRHANDLER:
         AddLongRaw = False
         Set objStream = Nothing
    End Function


    Вопрос:

       Кто-нибудь знает, где можно найти листинг проги, которая запароливает
    папки? Дайте ссылочку, плз.

    Ответ:

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

    Ссылочку не дам, могу только сказать, что что-либо стоящее может получиться только под NTFS/


    Вопрос:

       Как отследить события подключения и отключения соединения с провайдером для программы счета трафика?

    Ответ:

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

    'CHECK CONNECTION
    Public Declare Function RasEnumConnections Lib "rasapi32.dll" Alias "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As Long) As Long
    Public Declare Function RasGetConnectStatus Lib "rasapi32.dll" Alias "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long

    Public Const RAS95_MaxEntryName = 256
    Public Const RAS95_MaxDeviceType = 16
    Public Const RAS95_MaxDeviceName = 32

    Public 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
    Public Type RASCONNSTATUS95
    dwSize As Long
    RasConnState As Long
    dwError As Long
    szDeviceType(RAS95_MaxDeviceType) As Byte
    szDeviceName(RAS95_MaxDeviceName) As Byte
    End Type

    'CHECK CONNECTION
    Public Function IsConnected() As Boolean
    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


    Вопрос:

       Есть задумка программы, использующей Латиницу-1 и Латиницу-2; она должна выводить символы с диакритикой. Проблему можно коряво решить встраиванием Excel-таблицы в VB-форму. А есть ли в VB(6) контрол, который может такое сделать?

    Ответ:

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

    Да, есть! Это RichTextBox :-)


    Вопрос:

       Трижды вложенный цикл For по переменным i,j,k позволяет перебрать все возможные комбинации (i,j,k). А можно ли сделать для n-ого количества переменных. Может быть можно сделать это с помощью циклических ссылок на функцию, где описан один цикл For. Помогите очень нужно...

    Ответ:

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

    Для этого делаеш рекурсивную процедуру. Тоесть процедура вызывает сама себя.
    Например:

    Private Sub Procedure_f(index As Integer, n As Integer)
         For i(index) = X1 To X2
             If index < n Then Call Procedure_f(index + 1,n)
         Next
    End Sub

    Приблезительно так. А лучше возьми учебник по паскалю там вроде должны рассматриватся рекурсивные процедуры



    Ответ:

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

    Это
    ReDim [Preserve] varname(subscripts) [As type] [, varname(subscripts) [As type]] . . .


    Вопрос:

       Прошу, кто знает, напишите код на VB6 или хотя бы подскажите, как отследить нажатие символьных и цифровых клавиш на клаве в любом приложении. Желательно чтобы потом конкретно знать где что нажималось.

    Ответ:

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

    Cходи на www.vbrussian.com там много инфы по хуку клавы/


    Вопрос:

       Я хочу с удаленного компа, не зная системную папку винды (типо: c:\windows), скачть (из этой папки) файл (пусть будет win.ini).
    Тако вот вопрос: Как определить системную папо4ку винды?

    Ответ:

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

    Вот так:

    Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" _
    (ByVal lpBuffer As String, ByVal nSize As Long) As Long
    '******************************

    Function CurSysDir() As String
    On Error GoTo CurSysDirErr

    Dim WinPath As String
    Const MAXWINPATH = 255
    WinPath = Space$(MAXWINPATH)
    Call GetSystemDirectory(WinPath, MAXWINPATH)

    CurSysDir = StrZ(WinPath) 'См функцию StrZ ниже

    CurSysDirExit:
         Exit Function
    CurSysDirErr:
         Resume CurSysDirExit
    End Function

    Function StrZ(par As String) As String
    'API функция возвращает строковое значение
    'заканчивающееся Chr(0) - за ним могут быть пробелы
    'или "мусор" - и функция сея как раз и отсекает
    'справа Chr(0) вместе с пробелами (мусором).
    Dim nSize As Long, i As Long

         nSize = Len(par)
         i = InStr(1, par, Chr(0)) - 1
             If i > nSize Then i = nSize
             If i < 0 Then i = nSize
    StrZ = Mid(par, 1, i)
    End Function



    Ответ:

    Автор ответа: Пащенко А.

    В Win2000 и XP
    \\compname\admin$



    Ответ:

    Автор ответа: UPS!!!

    функция Environ.
    Она возвращает имена и содержание всех переменных среды операционной системы.
    Так, например, чтобы получить директорию Windows,

    ABC = Environ ("windir")

    ABC = Environ ("TMP") 'директория временных файлов TEMP
    ABC = Environ ("BLASTER") 'координаты звуковой карты
    ABC = Environ ("PATH") 'пути, объявленные в autoexec.bat

    Чтобы получить имя и значение перменной, в скобках вместо строки надо поставить номер переменной (или индекс?).

    Вставьте следуюшую процедуру в код, запустите проект, кликните на форме увидите список всех переменных и их значений!

    Private Sub Form_Click()
       'берём перменную и присваеваем ей единицу
        m = 1
       'запускаем цикл, который увеличивает переменную m каждый
       'раз на единицу и подсовывает её функции Environ
        Do
       'присваеваем перменной EnvString возвращаемую перменную,
       'соответсвующую номеру m
        EnvString = Environ(m)
       'печатаем перменную, соответсвующую номеру m
        Print Environ(m)
       'перменную m увеличиваем на один
        m = m 1
       'если перменная EnvString всё ещё не пустая - крутим дальше...
        Loop Until EnvString = ""
    End Sub

    Не мое..
    А еще, говорят есть API-функция GetWindowsDirectory...?




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

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

    наверх


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

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