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


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!!!

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

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


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




    Книги

    Переход на 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

    Дата: 02.02.2003 07:44 | Раздел: Примеры кода | Автор: tiutiunic

    Удаленное изменение пароля - Пример на VBScript получения имен всех юзверей в домене и изменение их сетевых паролей, получение имени домена, компьютера и пользователя в 2 строки кода при загрузке формы.

    Дата: 31.01.2003 14:37 | Раздел: Примеры кода | Автор: Половый Александр

    Environ - Небольшой пример определения некоторых системных переменных.

    Дата: 30.01.2003 14:36 | Раздел: Примеры кода | Автор: Ловиков Миха

    Drag&Drop - Использование функции Drag Drop в среде Windows. Пример перетаскивания иконок в корзину.

    Дата: 28.01.2003 10:59 | Раздел: Примеры кода | Автор: Silver Flamingo

    Price List v0.3 - Однажды меня спросили, могу ли я написать компактную программу прайс листа, чтобы она выдавала общую стоимость продуктов. Делай я его для компьютерного магазина. Программа компактная, понятная и удобная. Просто откройте файл Excel с базой продуктов. Пример прокоментирован.

    Дата: 28.01.2003 10:59 | Раздел: Примеры кода | Автор: Silver Flamingo

    Test Slovar v0.3 - Этот пример демонстрирует как можно занести данные из Excel в ListBox, и проверять знание слов. Вообщем откроете пример и там всё понятно. Также посмотрите на структуру дистрибутивного файла Excel.

    Дата: 27.01.2003 10:24 | Раздел: Примеры кода | Автор: Пукаленко Дмитрий

    Чат - Исходник чата на VB.



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

    02:31 / 2 фев.  ADO-provider??? | Хитов: 3 |  Ответов: 0
    02:15 / 2 фев.  TextBox глючит, или что-то с моими руками? | Хитов: 4 |  Ответов: 0
    22:27 / 1 фев.  Как отслеживать нажатия клавишь, только в опред... | Хитов: 10 |  Ответов: 1
    21:42 / 1 фев.  Режим формы OnTop в VB.NET | Хитов: 19 |  Ответов: 5
    21:31 / 1 фев.  по секрету.. | Хитов: 24 |  Ответов: 3
    19:45 / 1 фев.  Cookies? | Хитов: 11 |  Ответов: 1
    18:51 / 1 фев.  Sleep | Хитов: 7 |  Ответов: 0
    18:46 / 1 фев.  Sleep | Хитов: 14 |  Ответов: 2
    16:24 / 1 фев.  Сканер сети | Хитов: 10 |  Ответов: 0
    14:44 / 1 фев.  IP adress | Хитов: 17 |  Ответов: 2
    10:30 / 1 фев.  Принтер | Хитов: 9 |  Ответов: 0
    08:19 / 1 фев.  COM Порт | Хитов: 14 |  Ответов: 2
    08:17 / 1 фев.  COM Порт | Хитов: 4 |  Ответов: 0
    06:00 / 1 фев.  Как вводить информацию в текстовое окно, чтобы ... | Хитов: 13 |  Ответов: 0
    03:06 / 1 фев.  Програмно заблокировать мыш | Хитов: 18 |  Ответов: 1
    00:03 / 1 фев.  Использование API SendInput в Win2000 | Хитов: 8 |  Ответов: 1
    23:44 / 31 янв.  Как пеменять разрешение | Хитов: 24 |  Ответов: 4
    23:11 / 31 янв.  Проблемы с многопоточностью в VB! | Хитов: 27 |  Ответов: 4
    17:27 / 31 янв.  StatusBar в VB.NET | Хитов: 18 |  Ответов: 1
    17:14 / 31 янв.  Как получить текущий каталог???? HELP | Хитов: 20 |  Ответов: 1


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



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

    23:17 / 30 янв. Ян сообщает: Открылся новый сайт по программированию на Visual Basic -> www.vbkoders.net.ru Сходите, надеюсь Вам понравится:)



    наверх


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

    • 27.01 - Наш каталог статей пополняется
      Хочу всем сообщить, что наш каталог статей "Директории" пополняется. Напоминаем Вам о существовании данного уникального каталога, надеемся, он Вам пригодится!


    наверх


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



    наверх


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



    наверх


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



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



    наверх


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

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



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



    наверх


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

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

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

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх

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

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

    Вопросы:


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

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

       Как в WinXP скрыть мою прогу из списка Ctrl+Alt+Del или запретить завершать е? через нажатие кнопки "Cнять задачу"?


    Автор вопроса: Роман

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

       Есть таблица DataBoundGrid и элемент Data. В коде пишу:

    Data.DatabaseName="МОЯ_БАЗА_ДАННЫХ"
    Data.RecordSource=sSQL 'SQL запрос
    Data.Refresh

    Во время исполнения последней строки выдается сообщение "Object doesn't support this property or method"(Объект не поддерживает это свойство или метод), но DBGrid заполняется нужными данными и далее все идет нормально. В чем причина ошибки? Как ее исправить?


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

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

       podskagyte please kak udalat podkatalogi ili vse fajly w papke , sreda - VB 6


    Автор вопроса: I-Sof

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

       Как спустить мою прогу в трей?


    Автор вопроса: Олег

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

       Помогите пожалуйста выйти из затруднительной ситуации:

    1. Необходимо обойти ограничения методов Find для поиска определенной записи в БД Access (именно в динамическом наборе), т.к. Find ищет записи только при полном вхождении искомого выражения в поле.
    2. Как подсчитать и поместить в TextBoxы данные о том сколько всего записей в таблице и сколько отобрано по ранее созданному запросу.
    3. Возможно ли и каким образом подключить к проекту БД Access 2000 и XP не используя ODBC.
    Если не затруднит, то просьба ответы изложить поподробнее, т.к. в VB я еще полный USER.


    Автор вопроса: Игорь

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

       При испольяовании ADO не работает Bookmark, а именно:

    sVar = rs.Bookmark '-- сохранил текущую яапись в переменной
    ..................
    rs.Bookmark = sVar '-- вояврат на исходную яапись

    А вот последняя строка и не работает, - выдается ошибка 3001 и сообщение о несоответствии типов, превышении диапаяона яначений и еще чего-то. Посмотрел в текущие яначения rs.Bookmark, а оно - числовое. Заменил тип переменной с String на Long (Integer). Эффекта никакого, вылетает та же ошибка.




    Ответы:


    Вопрос:

       Как открыть файл (например 123.wav) из директории с утановленной программы?

       Можно так:
       
       Private Sub Form_Load()
       MediaPlayer1.FileName=Dir("123.wav")
       End Sub

    Но если запускать прогу с ярлыка, то но будет искать его в директории, где находится ярлык! :(

    Ответ:

    Автор ответа: ]CBK[CRaSH

    Это элэмэнтарно Сэррр. напиши app.path + "/123.wav" и все


    Вопрос:

       У меня вопрос, как узнать список расшаренных ресурсов с определенного ip.

    Ответ:

    Автор ответа: Anton B. Lozovski

    Я такую программу пишу, все никак не допишу - времени не хватает. расшареные ресурсы можно узнать если они используют TCP протокол (UDP тут ни ответа ни привета). Смысл примерно такой - плодишь в памяти экземпляры винсоков, соединяешь их на хост. и проверяешь состояние (либо коннектится долго если адрес хоста неверный, либо с ошибкой если сервиса нет, либо законнектился если сервис на удаленном компе включен). Только тут есть грабли: во-первых, если наплодить слишком много винсоков - машина рубится напрочь и ей не хватает ресурсов (на 300 пентиуме я наплодил всего 1024 сокета, и GUI похерился и зависло). Во-вторых, нужно организовать быстрый перебор состояния сокетов. А то пока твоя программа будет чего-то плодить и обрабатывать, на сервере сработает тайм-аут, и он сеанс связи с твоим сокетом завершит (хотя наверное можно это отследить по состоянию сокета sckClosed).

    А самый простой способ - использовать telnet (то есть, соединиться с конкретным ресурсом конкретного сервера вручную).

    В общем, читай документацию по winsockу.


    Вопрос:

       Как сделать screenshot экрана и передать его через WinSock, да еще и прочитать его, когда удаленный комп его примет?

    Ответ:

    Автор ответа: Anton B. Lozovski

    Если мы нажмем на клавишу PrintScreen, то содержимое экрана скопируется в буфер обмена. Далее, мы этот буфер можем вставить в любой графический редактор (например, в Paint). Дальше сохранить его в файл и соответственно передать через winsock не составит труда (прочти хоть документацию по винсоку).


    Вопрос:

       Как в VB подключить к Data базу Access 2000 и при этом защищенную паролем на открытие?

    Ответ:

    Автор ответа: Anton B. Lozovski

    Как и обычную. Ты не поймешь какую строку для открытия базы использовать, да? Попробуй сделать так: размести на форме элемент ADODC, зайди в его свойства, поотвечай на вопросы (в т.ч. имя и пароль для подключения). Потом найди в его свойствах ConnectionString и скопируй ее. Там все будет видно (не забудь конечно что ее прийдется менять в зависимости от расположения твоей базы. Но это можно делать запросто). Потом этот элемент можешь удалить, если он тебе не нужен.



    Ответ:

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

    Не понятно, что значит базу - если таблицу - то просто!
    Настройте ODBC (конкретно DSN) и коннектитесь
    Можно и проще - создать у себя в приложении связанную таблицу -

    set tabl=Currentdb().CreateTabledef("моя таб")
    tabl.connect=";c:\baza.mdb" (здесь можно и пароль прописать - нажмите ф1)

    Добавьте в набор таблиц

    Currentdb().TableDefs.Append tabl

      - ит атбличка в вашем прожекте


    Вопрос:

       Как отправить письмо из VB-кода? Для этого API-функция какая есть? Причем со вложенным файлом (письмо)...

    Ответ:

    Автор ответа: Anton B. Lozovski

    Можно использовать MAPI (при условии, что стоит Outlook Express). А можно и через winsock, если знаешь smtp протокол



    Ответ:

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

    Воспользоваться библиотекой Microsoft Outlook (вот их Outlook Express никак не получается). Можно заполнить все поля сообщения и присоеденить файл.



    Ответ:

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

    А конкретно - так

    Private Sub кнопка0_Click()
    Set myOlApp = CreateObject("Outlook.Application")
    Set myItem = myOlApp.CreateItem(olMailItem)
    Set myRecipient = myItem.Recipients.Add("lasaret@cityline.ru")

    myItem.Subject = "субьект"

    myItem.Body = "This is the message body."
    Set myAttachments = myItem.Attachments
    myAttachments.Add "C:\1.xls"


    myItem.Display
    myItem.send
    End Sub


    Вопрос:

       Что-то я ничего не понимаю...
    Форматирую колонку с датами

    .Col = 2
    For i = 1 To .Rows - 1
    .Row = i
    .Text = Format(.Text, "dd.mm.yyyy hh:nn")
    Next

    А на форме получаю:
       - если dd > mm , то все OK!
       - усли dd < mm , то получаю mm.dd.yyyy hh:nn

    Такая пересортица получается, что и не поймешь какая всеже здесь дата!!!
    Может я что-то не то делаю?

    Ответ:

    Автор ответа: Anton B. Lozovski

    А может нужно не .Text = Format(.Text, "dd.mm.yyyy hh:nn") а .Text = Format(.Text, "dd.MM.yyyy hh:mm") ?


    Вопрос:

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

    Ответ:

    Автор ответа: Anton B. Lozovski

    Короче говоря, под словом "широковещательные пакеты" ты имеешь ввиду, что отсылаются UDP пакеты по адресу 255.255.255.255 в какой-то порт? Если да - то любой из этих чат-клиентов принимает информацию ОТ ВСЕХ. А потом просто отсеивает что адресовано не ему. А как написать такую программу - создаешь винсок, биндишь его на используемый порт и вперед и с песней: отлавливаешь событие DataArrival

    А вот как узнать какой нужно использовать порт - посмотри программу netstat


    Вопрос:

       У меня такой вопрос, а можно ли сделать пинговальщик (или что-то вроде этого) удалённого компьютера и чтобы он рботал без соединения с интернетом?

    Ответ:

    Автор ответа: Anton B. Lozovski

    А это как??? Ну полюбому должен быть канал связи чтобы пропингануть компьютер. Наверное, нельзя


    Вопрос:

       Как создать подключ в реестре при помощи RegCreateKey, постоянно происходит ошибка, не могу понять в чём дело.
      
    Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long.

    Ответ:

    Автор ответа: Тютюнников ИМ

    Не мучайтесь с регистрами через АПИ. Есть очень простой способ через VBScript

    Dim WshShell, bKey
    Set WshShell = CreateObject("WScript.Shell")
    'записывает значения , если таикх ключей нет - создат и записывает
    WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
    WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"

    bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
    WScript.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")
    'удаляет
    WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
    WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
    WshShell.RegDelete "HKCU\Software\ACME\"


    Вопрос:

       Как нписать спектроанализатор (как в Winamp'е), т.е. как получить параметры звуковго потока, или как написать плагин к Winamp'у.

    Ответ:

    Автор ответа: Anton B. Lozovski

    Я думаю, что плагин к Винампу на VB не написать (хотя-бы по причине медлительности кода для подобных приложений). Си учить нужно...


    Вопрос:

       Как скопировать файл по WinSock'у?

    Ответ:

    Автор ответа: Anton B. Lozovski

    Наверное, в виде "как есть" его не передать. Тут может помочь MIME кодирование (как отсылаются аттачи в электронных письмах). Поищи RFC по MIME


    Вопрос:

       В Excel программа на VBA. Моя процедура вешается на событие BeforeDoubleClick (Sub Worksheet_BeforeDoubleClick), как сделать так что бы после завершения моей процедуры DoubleClick не отрабатывался? или может есть другой способ для вызова моей процедуры по DoubleClick?

    Ответ:

    Автор ответа: Anton B. Lozovski

    Я конечно вопроса не понял, потому-что самый разумный ответ был бы убрать обработчик DoubleCkick если он не нужен и если вместо него должен быть BeforeDoubleClick :)
    Либо объявить на уровне модуля логическую переменную, которая бы была истиной когда отработан BeforeDoubleClick, а при отработке DoubleClick проверялось ее состояние, делалось или не делалось чего-то в зависимости от нее, а потом ее снова в false



    Ответ:

    Автор ответа: Андрей Андреев

    В процедуре Worksheet_BeforeDoubleClick есть параметр Cancel - поставь его в TRUE перед выходом из процедуры



    Ответ:

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

    В конце собственной процедуры повесить типа

    ОБЬЕКТ.BeforeDoubleClick="funk"

    где funk - функция которая ничего не делает, или вообще

    ОБЬЕКТ.BeforeDoubleClick=""
    Private sub funk
    end funk


    Вопрос:

       Как можно создать метку (Label) во время работы программы, и как можно ее удалить. Причем добавление и удаление по возможности неограниченного количества Labelов за один запуск программы и по возможности чтобы они были систематизированы.

    Ответ:

    Автор ответа: Алексей

    Можно сделать массив элементов:

       for i=0 to x
       load label1(i)
       label1(i).visible=true
       next

       а можно добавлять новый контрол

       Dim rControl As label
       Set rControl = Form1.Controls.Add ("VB.Label", "Labelx")



    Ответ:

    Автор ответа: Anton B. Lozovski

    Ну может быть если у тебя есть какая-то Label1, то нужно создать массив индексов (в свойстве .index поставить '0'), а потом делаешь

    for f=1 to [неограничено :) ]
         load Label1(f)
         with Label1(f)
             .задаешь свойства, типа расположения на форме, текста...
         end with
    next f

    Чтобы убрать их делай так:

    for f=1 to [неограничено :) ]
         unload Label1(f)
    next f



    Ответ:

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

    В том модуле который работает - это нельзя, а в другом - можно (открыть в режиме конструктора и вставить)


    Вопрос:

       Не мог бы мне кто-нибудь подсказать, как работать с числами в двоичной, 16-ричной, 8-ричной системами счисления. Может быть, в бэйсике есть какие-нибудь операции и функции для работы с ними?

    Ответ:

    Автор ответа: Роман

    HEX(число) приводит число в шестнадцатиричный формат,
    OCT(число) в восьмиричный.



    Ответ:

    Автор ответа: Anton B. Lozovski

    Ну для двоичной системы исчисления есть логические функции. Для 16ричных есть по-моему запись типа &H7000




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

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

    наверх


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

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