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


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

Нет тем!

Рассылки Subscribe.Ru
Мир программирования на Visual BASIC 5.0 и HTML.


Рассылки 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 можно найти
    здесь.

    наверх


    Citycat by Email

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

    наверх


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

    Дата: 18.07.2002 21:03 | Раздел: Примеры кода | Автор: Сенченко Анатолий

    TreeView - Иногда при работе с TreView контролом возникает очень неприятная проблема. Дело в том, что если размеры контрола небольшие, а названия нодов в нем длинные, то при использовании метода EnsureVisible для продвижения списка, ноды сдвигаются вправо, что очень неудобно. Решение этой проблемы не такое уж и простое. Этот пример демонстрирует как это можно сделать.



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

    04:01 / 21 июл.  ID=Shell(..........) | Хитов: 4 |  Ответов: 1
    19:56 / 20 июл.  Для умных... | Хитов: 15 |  Ответов: 4
    18:24 / 20 июл.  Коннект Компов2 | Хитов: 7 |  Ответов: 0
    15:45 / 20 июл.  Sorry, But Once Again... | Хитов: 17 |  Ответов: 1
    15:36 / 20 июл.  Обнуление переменных уровня формы... | Хитов: 10 |  Ответов: 1
    15:21 / 20 июл.  Коннект комопв | Хитов: 20 |  Ответов: 2
    11:24 / 20 июл.  Почему не связывается с базой? | Хитов: 18 |  Ответов: 3
    20:24 / 19 июл.  Определение телефонного номера | Хитов: 35 |  Ответов: 3
    18:40 / 19 июл.  ВНИМАНИЕ! Небольшой опрос о работе форума | Хитов: 15 |  Ответов: 2
    15:22 / 19 июл.  Телефон... | Хитов: 25 |  Ответов: 1
    14:06 / 19 июл.  сообщение на пэйджер | Хитов: 20 |  Ответов: 1
    13:21 / 19 июл.  Помогите, нужен исходник | Хитов: 0 |  Ответов: 0
    13:21 / 19 июл.  Помогите, нужен исходник | Хитов: 39 |  Ответов: 3
    11:10 / 19 июл.  Обновление двух таблиц... | Хитов: 25 |  Ответов: 1
    10:11 / 19 июл.  Удаление записей | Хитов: 21 |  Ответов: 1
    09:21 / 19 июл.  МУХИ. Ваше мнение и все остальное | Хитов: 13 |  Ответов: 0
    00:35 / 19 июл.  Runtime error и Microsoft ActiveX ? | Хитов: 24 |  Ответов: 1
    21:21 / 18 июл.  Граждане форумяне - вопрос от админа! | Хитов: 102 |  Ответов: 17
    16:40 / 18 июл.  Data Environment, Relation | Хитов: 15 |  Ответов: 0
    14:17 / 18 июл.  Как передать параметры из VBA в Oracle ??? | Хитов: 14 |  Ответов: 0


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



    наверх


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



    наверх


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



    наверх


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

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

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

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх

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

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

    Вопросы:


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

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

       При открытии почтового клиента хочу чтобы там соядавалось письмо такое:

    Здравствуйте, ...
    Привет вам ия ...

    Собственно вопрос: Что нужно добавить в строку
    mailto:user@server.ru?subject=Hello?body=__вот__сюда
    чтобы соядалось 2 строки в теле письма! СПАСИБО!


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

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

       Вот был пример про то как открывать CD-Rom mciSendString("Set CDAudio Door Closed Wait", 0&, 0, 0), но вот проблема - у меня (да наверно и не только у меня) два CD-Rom'a. Что мне делать?
    Второй DVD если это имеет значение, хотя скорее всего нет


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

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

       Как с помощью VB определить, есть ли в письме аттачмент и закачать его, а то он качает все в один файл и получается ерунда.


    Автор вопроса: Вячеслав

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

       Как из программы набрать телефонный номер?


    Автор вопроса: СаНеК

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

       Требуется, найти файл Chtoto.exe, затем записать его путь, а от ниго уже и плясать, извините, копировать туда файлы...


    Автор вопроса: Maestro Ramires

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

       В предыдущем выпуске рассылки (73) обсуждался вопрос о блокировке Ctrl+Alt+Del и о сокрытии проги в списке задач с помощью функций Win32API. По советам авторов ортветов всё отлично работает под Windows98, но к сожалению не под WindowsXP. Как реализовать блокировку Ctrl+Alt+Del или скрыть прогу в списке задач под Windows 2k\XP с помощью функций Win32API?


    Автор вопроса: Сергей

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

       Как содержимое грида сохранить в DBF?


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

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

       VBScript в Outlook2K Нужна помощь.
    Система документа оборота в моей конторе построена на базе Outlook2K. В процессе создания новых форм (.oft), в которых и используется урезанный VB, столкнулся со множеством проблем...
    Из за отсутствия информации приходится использовать метод "научного тыка"...
    Подскажите где взять подробную информацию.




    Ответы:


    Вопрос:

       Можно ли получить свободное пространство и емкость диска используя средства самого VB, а не API - функции?

    Ответ:

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

    Можно определить свободное место при помощи FileSystemObject. Для этого нужно вставить в меню Project->References объект Microsoft Sripting Runtime. Код,который определяет свободное место на дисках системы:
    '''''''''''''''''''''''''''''
    Option Explicit
    Dim mfsysObject As New Scripting.FileSystemObject
    Private Sub Command1_Click()
      Dim drvItem As Drive
      For Each drvItem In mfsysObject.Drives
        DoEvents
    If drvItem.IsReady Then
         txtData = txtData & drvItem.DriveLetter & vbTab & drvItem.FreeSpace & vbCrLf
    Else
         txtData = txtData & drvItem.DriveLetter & vbTab & "Диск не готов." & vbCrLf
    End If
    Next drvItem
    End Sub
    '''''''''''''''''''''''''''''


    Вопрос:

       Можно ли получить свободное пространство и емкость диска используя средства самого VB, а не API - функции?

    Ответ:

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

    Узнать количество свободного места на диске
    Расположите на форме элемент CommandButton

    Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long
    Private Type DiskInformation
    lpSectorsPerCluster As Long
    lpBytesPerSector As Long
    lpNumberOfFreeClusters As Long
    lpTotalNumberOfClusters As Long
    End Type
    Dim info As DiskInformation
    Dim lAnswer As Long
    Dim lpRootPathName As String
    Dim lpSectorsPerCluster As Long
    Dim lpBytesPerSector As Long
    Dim lpNumberOfFreeClusters As Long
    Dim lpTotalNumberOfClusters As Long
    Dim lBytesPerCluster As Long
    Dim lNumFreeBytes As Double
    Dim sString As String

    Private Sub Command1_Click()
    lpRootPathName = "с:\" 'вместо С вы можете использовать букву любого существующего диска в системе
    lAnswer = GetDiskFreeSpace(lpRootPathName, lpSectorsPerCluster, lpBytesPerSector, lpNumberOfFreeClusters, lpTotalNumberOfClusters)
    lBytesPerCluster = lpSectorsPerCluster * lpBytesPerSector
    lNumFreeBytes = lBytesPerCluster * lpNumberOfFreeClusters
    sString = "Number of Free Bytes : " & lNumFreeBytes & vbCr & vbLf
    sString = sString & "Number of Free Kilobytes: " & (lNumFreeBytes / 1000) & "K" & vbCr & vbLf
    sString = sString & "Number of Free Megabytes: " & Format(((lNumFreeBytes / 1000) / 1000), "0.00") & "MB"
    MsgBox sString
    End Sub


    Вопрос:

       Можно ли получить свободное пространство и емкость диска используя средства самого VB, а не API - функции?

    Ответ:

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

    Для этого нужно использовать FileSystemObject (класс Drive свойство FreeSpace и TottalSize)
    Сначала необходимо подключить Project --> References --> Microsoft Scripting Runtime.

    Пример:

    Private Sub GetDriveInfo()
    Dim FSO as New FileSystemObject, Driver as Drive
    Set Driver = FSO.GetDrive (FSO.GetDriveName ("C:\"))
    If Driver.IsReady = True Then
        MsgBox(Driver.TotalSize / 1048576) 'Общий размер диска С: в Мб
        MsgBox(Driver.FreeSpace / 1048576) 'Свободно в Мб
      Else
        MsgBox ("Устройство не готово")
    End If
    End Sub

    При помощи FileSystemObject можно выполнять все существующие действия над файлами, папаками, и устройствами (поиск, получение атрибутов и т.д.)


    Вопрос:

       Хочу отследить нажимаемые клавиши в любом запущеном редакторе (MS Office....) и при нахождении нужного слова напр. " штраф" в момент его написания выполнять какие нибудь действия(напр.выдать сообщение).
    Хочу озадачить шефа, который часто выписывает штрафы, но знаний VB6 у меня маловато.

    Ответ:

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

    Отследить нажатие клавиши в системе можно так
    1. Сначала объявим это в модуле:
    Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
    Public Const VK_END = &H23 ' это константа для End, остальные в Api-вьювере
    2. Это код события таймера (выставите ему интервал 50-100 мс)
    If GetAsyncKeyState(VK_END) Then msgboх "Не трогай клаву 8-)", vbinformation


    Вопрос:

       Хочу отследить нажимаемые клавиши в любом запущеном редакторе (MS Office....) и при нахождении нужного слова напр. " штраф" в момент его написания выполнять какие нибудь действия(напр.выдать сообщение).
    Хочу озадачить шефа, который часто выписывает штрафы, но знаний VB6 у меня маловато.

    Ответ:

    Автор ответа: Andrew Isakov

    А что мешает тебе использовать для этих целей сам WORD? Там ведь тоже VBA встроенный, к тому же заточенный именно под задачи, которые необходимо решать в WOrde, т.е. обработка текстовых документов… Внедряешь свой модуль в Normal.dot на компе шефа – и все! Все документы, создаваемые им, будут иметь такую фишку, как обработку слова «штраф».


    Вопрос:

       Как вставить клип на Flash(*.swf) в файл ресурсов(*.res) и обратится к нему при необходимости. А так же как вставить в файл ресурсов файл видео (*.avi) > 65 kb и каким образом обратится к нему.

    Ответ:

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

    Попробовал вставить авишник как Custom, но воспроизвести не удалось, т.к. стандартный элемент анимации требует путь к файлу типа String, так что нужен другой контрол или как-то ухитриться обмануть имеющийся. А Flash-ролик мне кажется будет лучше зашить в элемент управления, который нужно установить. Он находится в папке C:\Program Files\Macromedia\Flash 5\Players\InstallAXFlash.exe


    Вопрос:

       Как сохранить рисунок в JPEG или BMP?

    Ответ:

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

    Для сохранения файла в .bmp или в .jpg нужно просто воспользоваться методом SavePicture
    Например
    Private Sub Command1_Click()
    SavePicture Picture1.Image, "C:\sample.jpg"
    End Sub
    Обязательно использовать Picture1.Image, а не Picture1.Picture
    Но нужно чтобы picturebox показывал весь рисунок, иначе в файле будет сохранен только тот фрагмент, который виден :-)


    Вопрос:

       Можно ли где-то скачать учебник для начинающего програмера. Желательно в формате PDF.

    Ответ:

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

    Для поиска и замены в VB6 используются функции InStr и Replace.Для нахождения слова 'собака' и замены его на слово 'кошка' нужен следующий код:

         Static blnReplaced As Boolean
         If InStr(Text1.Text, "собака") Then
         If Not blnReplaced Then
            Text1 = Replace(Text1.Text, "собака", "кошка")
          End If
         End If
         blnReplaced = Not blnReplaced

    В VB5 и ниже не работает


    Вопрос:

       Можно ли где-то скачать учебник для начинающего програмера. Желательно в формате PDF.

    Ответ:

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

    Посмотри на http://www.zarechny.by.ru в ВИРТУАЛЬНОЙ БИБЛИОТЕКЕ


    Вопрос:

       Например в файле dog.txt мне надо найти слово "собака" и яаменить его на слово "кошка". Как это сделать?

    Ответ:

    Автор ответа: P@Ssword

    dim str as string

             open "dog.txt" for binary as #1
             str = space$(lof(1))
             get #1, 1, str
             close #1

             str = replace(str, "собака", "кошка", , , vbtextcompare)

             kill "dog.txt"

             open "dog.txt" for binary as #1
             put #1, 1, str
             close #1


    Вопрос:

       Как сделать так, чтобы при нажатии на правую кнопку мышки не вылетало меню (как его заблокировать)?

    Ответ:

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

    Если я правильно понял то код должен быть таким:

    Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = vbRightButton Then Exit Sub
    Form1.PopupMenu menu
    End Sub


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

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

    наверх


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

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