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


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.

    наверх


    MSAgent CD

       VBNet.Ru представляет новый компакт-диск!
       Этот CD полностью посвящён технологии Microsoft Agent.
       На диске Вы сможете найти:

    • Статьи - Статьи о применении технологии MS Agent в Visual Basic.
    • Софт - Программное обеспечение, дополняющее MS Agent. Здесь Вы найдёте ядро MS Agent, движки воспроизведения и распознавания речи, программу создания персонажей, программу для просмотра действий персонажей, Speech API, русификатор MS Agent и т.д.
    • Персонажи - Более 100 персонажей для MS Agent!
    • Примеры - Несколько примеров использования технологии MS Agent в Visual Basic и .NET.
    • Справочники - Справочники о MS Agent - справочник от "Русского Проекта" на русском языке, а также полная документация от Microsoft.
    • Сайт VBNet.Ru - Также на диске находится полная свежая копия этого сайта (VBNet.Ru).
    • BalloonMessage for Microsoft Agent - Ну и небольшой подарок... Компонент BalloonMessage for Microsoft Agent с бесплатной лицензией!

       Полное содержание диска можно скачать здесь.
       Обращаю Ваше внимание на то, что в магазин CD сайта VBNet.Ru действует система скидок. Если Вы уже приобрели у нас один компакт-диск, то на последующие заказы действует скидка 5%. Если же Вы купили 3 или более CD, то скидка - 10%.
       Компакт-диск распространяется по почте наложенным платежом.
       Стоимость компакт-диска с учётом почтовых расходов - 100 рублей.
       Чтобы заказать диск, зайдите сюда: http://vbnet.ru/vbshop/order.asp?id=3.

    наверх


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

    Дата: 16.02.2003 10:45 | Раздел: Примеры кода | Автор: Millenium

    Millenium Flash Player 3.x Source Code - Исходник Millenium Flash Player 3x. Большая возможность работы с медиа файдами типа SWF (ShockWave Flash) и FMF (Flash Media File)...

    Дата: 14.02.2003 08:38 | Раздел: Примеры кода | Автор: Zuf

    Zuf's MSG shell - Пример является оболочкой команды WinNT/2000/XP "NET SEND" Позволяет отсылать "админские" сообщения в локальной сети с большим удобством. Пример умеет прятаться в трей и подниматься поверх всех окон. Также использованы нестандартные кнопки на основе Label ;)

    Дата: 13.02.2003 08:38 | Раздел: Примеры кода | Автор: Stas

    Пример игры Пятнашки - Это простой пример наиболее популярной игры пятнашки. В архиве есть исходники по которым можно посмотреть принцип работы игры.

    Дата: 12.02.2003 08:38 | Раздел: Примеры кода | Автор: Замашной Вадим

    Блокировка CD - Программа блокирует CD диски от просмотра. Работает в WIN XP. Управление CTRL+P

    Дата: 11.02.2003 08:37 | Раздел: ActiveX контролы | Автор: Воронков Василий

    Office XP Button - Кнопка в стиле Office XP. В сущности - не что иное как пример использования пары API-функций.

    Дата: 09.02.2003 13:27 | Раздел: Примеры кода | Автор: Sheff

    Article Writer 1.25 - Эта программа предназначена для написания статей в формате HTML. Особенности програмы: -Вставка и выделение исходного кода -Возможность подсветки синтаксиса VB, VC++ -Подсветка синтаксиса, определённого пользователем -Выбор типа генерации HTML'а -Возможность сохранения проекта и др.

    Дата: 09.02.2003 09:58 | Раздел: Примеры кода | Автор: Виталиум!

    Многоканальный Winsock - Как один винсок может принимать сразу несколько соединений? А вот так... Посмотрите сами. :-)))

    Дата: 09.02.2003 08:25 | Раздел: Примеры кода | Автор: Daniyar Atadjanov

    DoNotPressPrintScreen - Прога показывает как сделать так, чтобы нельзя было снять скриншот с вашей программы! Отличный пример!



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

    08:18 / 16 фев.  Post Script формат | Хитов: 2 |  Ответов: 0
    03:10 / 16 фев.  Помогите.. Как создать ЯРЛЫК на рабочем столе ? | Хитов: 7 |  Ответов: 1
    22:17 / 15 фев.  Люди, у меня трабл | Хитов: 13 |  Ответов: 1
    20:29 / 15 фев.  Eject 2 CD??? | Хитов: 13 |  Ответов: 1
    17:09 / 15 фев.  многострочные данные в ListBox | Хитов: 10 |  Ответов: 0
    17:01 / 15 фев.  Поля в RichTextBox? | Хитов: 14 |  Ответов: 1
    14:42 / 15 фев.  Три звезды | Хитов: 26 |  Ответов: 2
    14:36 / 15 фев.  Узнать точку пересечения срединных перпендикуля... | Хитов: 18 |  Ответов: 4
    13:30 / 15 фев.  Печать данных из базы | Хитов: 6 |  Ответов: 0
    12:04 / 15 фев.  Архивация mdb-базы | Хитов: 12 |  Ответов: 1
    10:56 / 15 фев.  WinInet | Хитов: 12 |  Ответов: 0
    22:56 / 14 фев.  Что за число - 13... | Хитов: 37 |  Ответов: 3
    20:01 / 14 фев.  Регистрация.... | Хитов: 29 |  Ответов: 2
    19:43 / 14 фев.  Сортировка данных | Хитов: 22 |  Ответов: 1
    17:25 / 14 фев.  Чат на АСП | Хитов: 26 |  Ответов: 1
    17:16 / 14 фев.  Защита поцесса от уничтожения | Хитов: 24 |  Ответов: 2
    17:09 / 14 фев.  ИЩЕМ ПРОГРАММИСТА НА VB | Хитов: 44 |  Ответов: 1
    16:02 / 14 фев.  Windows Explorer | Хитов: 30 |  Ответов: 3
    13:23 / 14 фев.  материнская плата | Хитов: 23 |  Ответов: 1
    12:53 / 14 фев.  Размывка курсора - круто... | Хитов: 53 |  Ответов: 9


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



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

    21:09 / 11 фев Иван сообщает: Представительство Microsoft в России и СНГ, Федеральное государственное унитарное предприятие "Научно-технический центр "Атлас" (НТЦ "Атлас") и Главное управление информационных ресурсов органов государственной власти Российской Федерации Федерального агентства правительственной связи и информации при Президенте Российской Федерации (ГУИР ФАПСИ) объявляют о том, что по согласованию с ФАПСИ НТЦ "Атлас" подписал Соглашение с корпорацией Microsoft об использовании исходного кода в интересах повышения доверия к программным продуктам корпорации Microsoft, применяемым в органах государственной власти Российской Федерации. Договоренности, достигнутые корпорацией Microsoft, НТЦ "Атлас" и ГУИР ФАПСИ в рамках данного Соглашения, создают уникальные предпосылки для долговременного сотрудничества и использования современных технологий Microsoft в защищенных информационных системах органов государственной власти России. Более подробную информацию можно получить по адресу http://www.microsoft.com/rus/news/issue.asp?15-01-2003-windows_source_open.xml



    наверх


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



    наверх


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



    наверх


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



    наверх


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

    • 12.02.2003 - Скидка 15% на услуги хостинга PARKING.RU для посетителей GOTDOTNET.RU
      PARKING.RU - специализированный провайдер виртуального и выделенного хостинга на платформе Windows® предлагает посетителям сайта GOTDOTNET.RU получить скидку 15% при заказе услуг коммерческого лицензионного виртуального хостинга на Windows®-платформе.


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



    наверх


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

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



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



    наверх


    Один момент из жизни форума: Индексирование Access базы данных по полю типа MEMO

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

       Мое приложение использует Access БД. Одно из ключевых полей таблицы имеет тип MEMO, оно используется для хранения больших текстов, заранее неизвестного размера.
    О   бъем базы порядка 10000 записей.
       При оранизации поиска c помощью VB я использую SQL запрос на поиск некого текста во всех записях (по полям типа MEMO).
       Поиск получился жутко долгим. На каждый запрос уходит порядка 20-и секунд, а Access не позволяет индексировать по этому полю.
       Что делать? Как ускорить поиск? Есть в Access что-нибудь типа FULLTEXT KEY?


    Ответы:

    Автор: BIV
       Поля типа MEMO не делают не то, что ключевыми, но и индексированными то же. Слово "ключевых", видимо ты употребил вместо "важных".
       Видимо, придется, выбирать из MEMO - поля ключевые слова и хранить их в индексированном поле, лучше в другой связанной таблице, где и осуществлять поиск. Примерно как в поисковиках.

    Автор: AlexSid
       Конечно, имелось в виду "важных" полей. Неоднозначно выразился, прошу прощения.
       Если не сложно, опишите, пожалуйста, немного подробнее процесс выборки ключевых слов и способ их хранения и связывания с данным полем в другой таблице. Как примерно должна выглядеть эта доп. таблица? Что в тексте должно называться ключевым словом?

    Автор: BIV
       Отправил тебе пример

    Автор: AlexSid
       Посмотрел...
    Ты предлагаешь создать вторую таблицу с записями типа (Id, Words), где Id в "индексной" таблице будет соответствовать Id в индексируемой таблице с MEMO полем...
       Но вот вопрос, а какой мне толк от текстового поля Words, если я индексирую большие тексты в поле MEMO? У меня же количество ключевых слов будет достаточно большим чтобы уместится в поле длиной 255 символов. Можно, конечно, выбрать набор слов из MEMO, не превышающий 255 символов, но тогда падает эффективность поиска!
       А нельзя ли созать "индексную" таблицу (Word, MEMO_Ids), где в поле Word будет какое-либо одно ключевое слово, а в поле MEMO_Ids все номера Id полей MEMO, в которых встречается данное ключевое слово? Не знаю, правда, какого типа должно быть поле MEMO_Ids... (Да тот же MEMO, хотя бы, если через запятую перечислять. Все равно же не поэтому полю индексировать)

    Автор: ericsson
       Для связи с Acces БД ты используешь компонент Data ?
       Или какой?
    Если Data, то подскажи пожалуйста какой файл нужен чтобы прога работала на других компах, а то у меня после перетаскивания проги на другой комп где нет VB60 вадает ошибку "Object class not registred"

    Автор: AlexSid
       To ericsson:
       Для связи я использую DAO, для которого соответственно нужен файл dao350.dll или dao360.dll. Почитай еще сообщения этого форума, здесь часто касались этой темы!
       Похоже, вопрос с индексированием замялся. А жаль, интересная, по-моему, тема!

    Автор: BIV
       Индексы, как сказал один умный человек, - это алфавитный указатель по краю телефонной книжки. Ты берешь букву "А" и смотришь телефоны на эту букву. Из этого следует, что, как минимум, индекс должен быть небольшим (он к тому же занимает место на диске), а лучше уникальным - свойственным только одной записи в таблице. Последнее далеко не всегда возможно.

    Автор: AlexSid
       To BIV:
       "как минимум, индекс должен быть небольшим"...
       А как же тогда создавать этот индекс? Ась? Автоматизация?
       Не руками же из 10000 статей ключевые слова вычленять! А программным путем, найти самые главные слова статьи и присвоить именно им статус КЛЮЧЕВЫХ, это, знаете, Artificial Intelligence...



    наверх


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

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

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

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх

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

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

    Вопросы:


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

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

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


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

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

       Можно ли привяяать координаты дочерней формы (свойства Top и Left) к координатам кнопки, по нажатию на котррую эта форма выяывается. Например, чтобы дочерняя форма появлялась строго под кнопкой неяависимо от положения самой кнопки на родительской форме?
    В приведенном ниже примере привяяка почему-то не работает:

    Form1.Left = MainForm.cmdButton.Left + 100
    Form1.Top = MainForm.cmdButton.Top + 50


    Автор вопроса: Галина

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

       Есть ComboBox со значениями, в зависимости от выбираемого значения появляетяс Lebel. При задании

    Private Sub Combo1_Change()
    Select Case Combo1.Value
    Case "СУГ"
    Form.Label2.Visible = True
    Case "Нефть"
    Form.Label2.Visible = False
    End Sub

    В результате Label2 - не исчезает


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

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

       Пишу программу на VBA в Excel, вешаю мою процедуру на DBClick, как сделать так, что бы после выполнения моей процедуры DBClick не отрабатывался.


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

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

       Как отследить нажатие клавиши, которая "нажимает" на кнопку ПУСК (со значком Windows) и сочетание клавиш Alt+F4 (нужно чтобы до определ?нного события нельзя было закрыть форму)?


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

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

       В VB я не мастер! Пожалуйста, расскажите, как сделать следующее:
    На экранной форме есть командная кнопка. Как, нажав на неё, загрузить и просмотреть файл на MS Word, а затем выгрузить и его, и MS Word.


    Автор вопроса: Laguna Ukraine

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

       Как получить в List адреса всех веб-страниц, которые расположены на текущем сервере? Т.е., например, мне надо получить полный список всех страниц, которые находятся на http://www.hostname.com/ и внести все полученные URL в ListBox. Если кто-то может помочь, напишите как.
    Буду благодарен, также, если приведете пример.


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

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

       Есть код на с++ который получает пароли Outlook Express из Protected Storage, но я не могу его перевести на VB.
    Может кто знает с++ и сможет перевести на Visual Basic.

    #import "c:\windows\system32\pstorec.dll"
    using namespace PSTORECLib;
    #include
    #include

    typedef HRESULT (WINAPI *PStoreCreateInstancePtr)(IPStore **, DWORD, DWORD, DWORD);

    int checkunicode(unsigned char *data, unsigned long length){
         for(unsigned int i=0; i                  if(data[i] == 0) return 1;
             return 0;
    }

    int main(int argc, char **argv){
        HRESULT hRes;

        HMODULE hPstoreDLL = LoadLibrary("pstorec.dll");
        PStoreCreateInstancePtr PStoreCreateInstance = (PStoreCreateInstancePtr)GetProcAddress(hPstoreDLL, "PStoreCreateInstance");

        IPStorePtr spPStore;
        hRes = PStoreCreateInstance(&spPStore, 0, 0, 0);

        IEnumPStoreTypesPtr spEnumTypes;
        hRes = spPStore->EnumTypes(0, 0, &spEnumTypes);
        
        GUID typeGUID;
        while(spEnumTypes->raw_Next(1,&typeGUID,0) == S_OK){
               printf("typeGUID = %.8x\n",typeGUID);

               IEnumPStoreTypesPtr spEnumSubTypes;
           hRes = spPStore->EnumSubtypes(0, &typeGUID, 0, &spEnumSubTypes);
               
               GUID subtypeGUID;
               while(spEnumSubTypes->raw_Next(1,&subtypeGUID,0) == S_OK){

                       printf("\tsubtypeGUID = %.8x\n",subtypeGUID);

                       IEnumPStoreItemsPtr spEnumItems;
                       HRESULT hRes = spPStore->EnumItems(0, &typeGUID, &subtypeGUID, 0, &spEnumItems);

                       LPWSTR itemName;
                       while(spEnumItems->raw_Next(1,&itemName,0) == S_OK){
                   printf("\t\titemName = %ws\n",itemName);

                               unsigned long pcbData = 0;
                   unsigned char *ppbData = NULL;
                   _PST_PROMPTINFO *pi = NULL;
                               hRes = spPStore->ReadItem(0,&typeGUID,&subtypeGUID,itemName,&pcbData,&ppbData,pi,0);
                               if(checkunicode(ppbData,pcbData))
                                       printf("\t\titemData = %ws\n",ppbData);
                               else
                                       printf("\t\titemData = %s\n",ppbData);
                       }
               }
        }

        return 0;
    }




    Ответы:


    Вопрос:

       У меня VB6 не хочет работать с базами Access2000, примеры из Access97 берет, а для 2000 пишет - нераспознанный формат данных, когда выбираю RecordSource. Помогите, что я делаю не так?

    Ответ:

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

    Скорее всего ты при подключении используешь провайдер Jet 3.51. а Access 2000 требует Jet 4.0.


    Вопрос:

       Подскажите, как сделать форму проярачной? С SetWindowLong что-то не получается

    Ответ:

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

    Declare Function SetAlfaWindowEffect Lib "user32" Alias "SetLayeredWindowAttributes" (ByVal hWnd As Long, ByVal crey As Byte, ByVal bAlpha As Byte, ByVal dwFlags As Long) As Long

    Подробнее описание смотри в MSDN. Работает лишь в W2k и XP.


    Вопрос:

       Можно ли сделать Рабочий стол = Enebled или сделать форму прозрачного цвета?
    Нужно чтобы до определённого события нельзя было польяоваться ни рабочим столом, ни панелью (там где кнопка Пуск)

    Ответ:

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

    А не проще Form1 > Visible > False, а после определенного события
    Me.Visible.True


    Вопрос:

       Есть ли такой грид который мог бы отображать данные различными цветами в зависимости от условий,скажем если значение поля меньше 10 тогда чёрным, больше - красным?

    Ответ:

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

    TBGrid


    Вопрос:

       Подскажите, плиз, как сделать прогу на VB, чтобы она запускалась только с CD (т.е.ссылалась на серийный номер CD-диска). Приведите пример кода, если не трудно.

    Ответ:

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

    Ты можеш привизать свою прогу к метки тома CD. Загружаясь она получает имя диска на котором работает, а потом с помощью dir получаеш метку и смотришь
    Пример

    if Dir(Mid(App.Path, 1, 3), vbVolume)<>"Супер_CD2000" then Msgbox"Ты куды мою прогу скопировал":end


    Вопрос:

       Подскажите как из программы открыть сидюк? И кто нибудь знает где можно достать инфу по работе с Swiftsoft Multimedia Tools OCX

    Ответ:

    Автор ответа: Славик

    Открыть/закрыть CD-ROM

    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



    Ответ:

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

    Инфа по Swiftsoft Multimedia на www.rouch.mailru.com
    Этот код откроет лоток CD-ROM:

    Option Explicit
    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()
       mciSendString "Set CDAudio Door Open Wait", 0, 0, 0
    End Sub

    Для закрытия же CD-ROM используем эту же функцию, но с другим первым параметром:

       mciSendString "Set CDAudio Door Closed Wait", 0, 0, 0



    Ответ:

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

    Это делается следующим образом:

    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 result As Long

    Private Sub cmdOpen_Click()
         result = mciSendString("set CDAudio door open", returnstring, 127, 0)
    End Sub

    Private Sub cmdClose_Click()
         result = mciSendString("set CDAudio door closed", returnstring, 127, 0)
    End Sub




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

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

    наверх


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

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