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


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

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

       В этом выпуске небольшое нововведение. Теперь я буду какждую неделю публиковать в рассылке наиболее интересную тему из форума 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

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

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

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

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

    Дата: 08.02.2003 09:58 | Раздел: Примеры кода | Автор: neformat

    Посылалка sms-ок на beeline - Посылает sms-сообщение на мобильные телефоны beeline меняя прокси сервера, тем самым снимает ограничение на 12 сообщений с одного ip адреса. Доставка зависит от того как использовался прокси сервер. Клиентская чать убогая, сделана за 15 минут.

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

    Однорукий Джейк (Black Jack) - Игра-автомат! Немного переработанный Black Jack!

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

    Handle Explorer! - Прога понимает Хэндлы системы - Проводника, DOS, Internet Explorer. Вы можете добавить свои хэндлы!

    Дата: 06.02.2003 08:26 | Раздел: Примеры кода | Автор: Kirus

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

    Дата: 05.02.2003 15:47 | Раздел: Примеры кода | Автор: Kir Alper

    WinExit - Простенькая прога : Выход из Windows (XP) Видно ее работу только в SysTray. Иконка в SysTray "живая".

    Дата: 04.02.2003 15:47 | Раздел: Примеры кода | Автор: Касаткин Николай

    Палитра - Пример показывает как перевести код цвета из десятичного в RGB и Hex. Там можно найти еще кое что. Эта утилита родилась потому, что потребовалось заполнять таблицу, содержащую большое количество кодов цветов из определенного набора. Причем цвета заполнялись десятичными кодами. Цвета в таблице легко заменяются в свойствах PicrureBox. С точки зрения программирования решение самое никудышнее, зато очень простое и быстрое. Я надеюсь вернуться к ней, когда появится время, и сделать все по уму. Заодно надо добавить определение цветов с экрана. Если кто захочет повозится с ней, то рад буду посмотреть на результат.

    Дата: 03.02.2003 15:47 | Раздел: Примеры кода | Автор: Русский Сектор

    Musical Player 1.0 - Скромный пригрыватель, доступный начинающим програмистам.

    Дата: 03.02.2003 10:18 | Раздел: Статьи по VB | Автор: Daniyar Atadjanov

    Глазами Хакера - Статья о том, как узнать пароли, используемые в программе и как защитить EXE от взлома.

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

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



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

    09:55 / 9 фев.  Resurcy... | Хитов: 4 |  Ответов: 0
    08:30 / 9 фев.  Ресурсы и байты | Хитов: 4 |  Ответов: 0
    08:29 / 9 фев.  DoEvents, DoEvents... Как же он работает??? | Хитов: 4 |  Ответов: 0
    00:53 / 9 фев.  выбор папки средствами .net | Хитов: 3 |  Ответов: 0
    00:29 / 9 фев.  телефония | Хитов: 6 |  Ответов: 0
    00:15 / 9 фев.  Kак перетащить файл из Explorer'а в FileListBox | Хитов: 3 |  Ответов: 0
    00:12 / 9 фев.  ЛЮДИ ЗАЧЕМ НАМ ЧАТ ?????? | Хитов: 18 |  Ответов: 1
    00:11 / 9 фев.  Работа с реестров Windows на VB.NET | Хитов: 10 |  Ответов: 0
    19:16 / 8 фев.  TextBox зоблокировать стандартное контекстное м... | Хитов: 10 |  Ответов: 2
    16:55 / 8 фев.  help me | Хитов: 13 |  Ответов: 1
    14:54 / 8 фев.  Использование MAPI | Хитов: 4 |  Ответов: 0
    11:16 / 8 фев.  Редактрование TexBox в DataGrid | Хитов: 9 |  Ответов: 0
    09:25 / 8 фев.  КЛАССный облом | Хитов: 24 |  Ответов: 2
    08:33 / 8 фев.  Thread в линии(to User Unknown and ALL) | Хитов: 11 |  Ответов: 0
    21:55 / 7 фев.  Printer?? | Хитов: 24 |  Ответов: 2
    21:24 / 7 фев.  Подскажите насчет TabStrip... | Хитов: 22 |  Ответов: 2
    18:37 / 7 фев.  Управление COM- и LPT-портами через API из VB | Хитов: 23 |  Ответов: 1
    14:07 / 7 фев.  Ошибка компиляции! | Хитов: 25 |  Ответов: 0
    14:02 / 7 фев.  Остаётся болтаться в памяти MS Word | Хитов: 27 |  Ответов: 4
    12:11 / 7 фев.  Как может прогы посылать сообщения по ICQ | Хитов: 19 |  Ответов: 0


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



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



    наверх


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



    наверх


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



    наверх


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



    наверх


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



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



    наверх


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

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



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



    наверх


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

    Вопрос:
    Автор вопроса: AGR.

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


    Ответы:

    Автор: Tank
       Ну что ето:
    010101010101001001000100000010000101111100010011010110010100
    двоичный код ето понятно, ты напиши поподробнее по какому правилу ето должно превращаться в нормальный текст.

    Автор: Zeus
       цитирую из учебника:

    любое целое неотрицательное число с помощью степеней двойки запсывается так:

    a(n)*2^n+a(n-1)*2^(n-1)++++++++a(1)*2^1+a(0)*2^0

    где

    каждый из коэффициентов a(n), a(n-1)...a(1), a(0) - один из 2-х двоичных цифр 0 или 1, причём a(n)=1

    Надеюсь поймёте....

    Автор: Дeнис
       По 8 бит нарезай, потом по стд. функции переводи в 10ю систему, а затем chr(...)

    Автор: Tank
       Если правильно понял тогда так:

    Private Sub Text1_Change()
    Dim X, I, A As Long
    Dim str As String

    str = Text1.Text
    X = Len(str)

    For I = 0 To X - 1

    A = A + CLng(Left(str, 1)) * 2 ^ I
    str = Right(str, Len(str) - 1)
    Text2.Text = A

    Next I
    End Sub

    Ты попробуй и напиши!

    Автор: AGR
       Мне нужно в ASCII, а не в цифры!

    Автор: Goul
       Тогда так:

    Private Sub Command1_Click()
    Dim sRes As String
    Dim I As Long
    Dim N As Byte
    Dim T As Byte
    Dim lLen As Long
    Dim l2DegT As Long

    N = 0
    sRes = ""
    lLen = Len(Text1.Text)
    T = 0
    l2DegT = 1
    For I = 1 To lLen
    N = N + l2DegT * CLng(Mid(Text1.Text, lLen - I + 1, 1))
    T = T + 1
    l2DegT = l2DegT * 2
    If T = 8 Then
    T = 0
    l2DegT = 1
    s = Chr(N) & s
    N = 0
    End If
    Next I
    Text2.Text = s
    End Sub

    Автор: AGRAGR
       Спасибо! Но как обратно из букв в двоичный код?

    Автор: Goul
       Добавим ещё одну кнопку:

    Private Sub Command2_Click()
    Dim lLen As Long
    Dim I As Long
    Dim N As Byte
    Dim sRes As String
    Dim l2DegT As Byte

    lLen = Len(Text2.Text)
    sRes = ""
    For I = 1 To lLen
    N = Asc(Mid(Text2.Text, I, 1))
    l2DegT = 128
    While l2DegT >= 1
    If N >= l2DegT Then
    sRes = sRes & "1"
    N = N - l2DegT
    Else
    sRes = sRes & "0"
    End If
    l2DegT = l2DegT / 2
    Wend
    Next I
    Text1.Text = sRes
    End Sub

    Можно бы, конечно, и пооптимальнее...



    наверх


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

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

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

    наверх


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

    BalloonMessage for MS Agent

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

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

    наверх

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

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

    Вопросы:


    Автор вопроса: Евгений

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

       У меня один маленький вопрос по объекту ADODB.Recordset. Чем отличаются значения свойства CursorLocation - adUseClient и adUseServer? И почему, если это свойство установлено в adUserServer, то свойство RecordCount воявращает -1 и при попытке связать Recordset с DataGrid вояникает ошибка.


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

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

       Народ, у кого нибудь есть OCX от QuickTime, если он конечно вообще существует? Если есть, то пришлите на мыло.


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

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

       Может быть подскажите, как сделать ScrollBar у MDI-формы определённого цвета? (или у TextBox'a ScrollBar определённого цвета)?
    И ещё, как сделать,чтобы моя MDI-форма была на весь экран, т.е. закрывала бы панель задач?


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

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

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


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

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

       У меня 2 принтера, HP и VentaFax. Из моей проги мне нужно то напечатать заявку, то послать ее по факсу. Эту проблему пока я решаю вызовом окна Windows "Принтеры" и переключением принтера по умолчанию. А вот программно, выбрав сообветствующий переключатель на форме не удается. Если кто решил эту проблему, помогите п-та.


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

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

       Как, если можно, сделать в VB ассемблерные вставки?


    Автор вопроса: Michael Fezulaev

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

       Вот вопрос говарят он тежёлый. Есть обьект DanaGrid в его свойствах есть возможнасть сделать из колонки в ComboBox (как в Access) но я не знаю как. К примеру я делал так

    Private Sub Form_Load()
         Dim Indx As Integer
         DataGrid1.Columns(1).Button = True
    End Sub

    Private Sub DataGrid_ButtonClick(ByVal ColIndex As Integer)
    With DataGrid
         List1.Top = .RowTop(.Row) + .Top + .RowHeight + 10
         List1.Width = .Columns(1).Width + 50
         If Not .Columns(1).Text = "" Then
             For Indx = 0 To List1.ListCount - 1
                 List1.ListIndex = Indx
                 If List1.Text = .Columns(1).Text Then
                     List1.ListIndex = Indx
                     Exit For
                 End If
             Next Indx
         Else
             List1.ListIndex = 0
         End If
    End With
    List1.Visible = True
    List1.SetFocus
    End Sub

    Может есть на много удобный способ, не проста так сделали эту кнопку в DataGrid.


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

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

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


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

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

       Подскажите пожалуйста где можно бесплатно скачать самоучитель для начинающих или может быть есть какие-нибудь рассылеи уроков. Я живу за границей и поэтому имеются сложности с оплатой.


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

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

       Почему у меня 2 проекта не принимают функции Right или Left, создаю новый проект - все нормально, а в этих он просто не принимает их, как-будто их не существует. Эти 2 проекта исп. Winsock, может из-за этого?
    Если пишу так Right$ - Ошибка: Type-declaration character does not match declared date tupe.
    Если пишу так Right - Ошибка: Ожидаемый массив


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

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

       Переделываю программу (была на Access, теперь на VB). Такая трудность: в Access можно назначить колонке тип "логический" и тогда в ней будет отображаться флажок. В VB DataGrid тоже появоляет наяначать колонкам свойство CheckBox, однако в колонке отображаются 0 и 1 (т. е. состояние). Можно ли сделать так, чтобы в колонке отображался CheckBox? DataRepeater не предлагать.


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

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

       Как программно отключится от Интернета в Windows XP?


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

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

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


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

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

       Люди кто ковырялся в памяти игрушки Мафия(Mafia), или есть информация - поделитесь, а я поделюсь тем что сам надыбал. Я сделал трейнер к ней, ноокаяалось что он применим только для одного уровня, т.к. в игрухе на каждый уровень свои адреса памяти(оружие). Чужой трейнер очень корявый но эти адреса находит бея проблем, я пробовал найти но явного укаяания на эти адреса нигде нет.


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

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

       Делаю так (естественно все продекларировав):

    Dim hwnd As Long
    Dim pid As Long
    Dim pHandle As Long
    Dim str As String*20
    hwnd = FindWindow(vbNullString,"яаголовок окна игры")
    If(hwnd=0) Then Exit Sub
    GetWindowThreadProcessld hwnd,pid
    pHandle =OpenProcess(PROCESS_ALL_ACCESS,False,pid)
    If(pHandle=0)Then Exit Sub
    ReadProcessMemory pHandle, &H(adres),str,20,0&
    text1.text=str
    CloseHandle hProcess

    Всё это яамечательно, только мне надо считывать не строку, а число. Если поставить str в Long то воявращается ноль, все остальные типы дают ошибку - несовпадение типов. Скажите как считать число? или придется преобраяовывать строчку по Asc?


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

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

       Как в VB играть MIDI,WAV,MP3и другие файлы?


    Автор вопроса: Blot-G

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

       Скажите, существует ли такая API функция, которая считывает состояние трафика, при соединении с Инетом?


    Автор вопроса: ]CBK[CRaSH

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

       Я создал прогу типа обучающего комплекса(Full ass) но самое главное что я хочу сделать это чтобы все базы были на серванте, а клиен юзал их по сети. НО фишка в том что WinSock едри его растуды связанный по протаколу TCP не разрешает конектится нескольким клиентам к одному порту. Я сделал процедуру автомотического добовления WinSocka и встретил баг. после дабавления около 40 sock`oв всех обрубало или начинало все глючить. Я начил использовать UDP и о чудо в забиндиный порт могут конектится дох..на народу и посылать инфу серванту, а вот наоборот сервер посылает инфу только тому кто первый ему пошлет что-нибудь.


    Автор вопроса: Шакиров Виталий

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

       Как мне создать новый элемент а именно OptionButton в работающей программе на фрейме и определить ему свойства.


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

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

       Подскажите как можно из Vb считать/отследить информацию по COM - порту. Скажем получить код со сканера штрих-кодов (как в супермаркете).


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

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

       Как отправить данные на определённый порт. Т.е. нужно изменить значение второго (...девятого) штырька на LPT. В Qbasic-е это выглядит так:

    OUT &H378, g 'g-число от 0 до 255

    а на VB неизвестно.
    Сколько вольт и ампер должно быть на штырьках, чтоб порт не сгорел.
    Есть ли у кого-нибудь что-нибудь в примерах по этой теме?




    Ответы:


    Вопрос:

       1) Как в Data Bound Grid менять кол-во колонок без заполнения сетки?
    2) Использую базу данных MDB(Acces), элементы Data и Data Bound Grid.
        Как редактировать базу?

    Ответ:

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

    Поставь AllowUpdate и AllowDelete в true.


    Вопрос:

       Как в VBA (Excel) подключить таймер?
    Или есть другие способы работы со временем?

    Ответ:

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

    Не обязательно использовать таймер, можно так:

    Dim I as Long
    Dim S As Long
    For I = 1 To 10000 " 10000 - количество миллисекунд
           S = S + 1
    Next


    Вопрос:

       Как привязать программу к ЭВМ. Только пожалуйста не надо писать всякую бурду про дату биоса т.к она одинакова на половине мам и в 2к эта фигня не работает SOS!!!!!!!

    Ответ:

    Автор ответа: Mind Engine

    A к серийному номеру винта слабо привязать прогу?

    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()
         Dim Serial As Long, VName As String * 255, FSName As String * 255
         GetVolumeInformation "C:\", VName, Len(VName), Serial, 0, 0, FSName, Len(FSName)
         MsgBox "Serial Number: " & Trim(Str$(Serial))
    End Sub

    Правда, eсли винт переставить в другую тачку, прога кнешна тоже будет работать... Можно еще усилить - сделай запись в реестр (какую хошь) и потом при запуске проверяй ее наличие! А я бы еще круче сделал - сгенерил бы GUID, сохранил бы его (само собой encrypted) и в свою прогу и в реестр!

    Private Declare Function CoCreateGuid Lib "ole32" (id As Any) As Long



    Ответ:

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

    А кто тебе мешает привязаться к конкретному жесткому диску. С помощью FSO или API получи его серийник и работай с ним.


    Вопрос:

       Есть несколько MaskEdBox'ов с различными масками.
    Как стереть из них введенную информацию.

    Ответ:

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

    Если я правильно понял твой вопрос, то можно это сделать так:

    К примеру у тебя есть MaskEditBox "mebDate" с маской даты " / / "
    Все что нужно сделать, это mebDate.Text = " / / "
    Т.е. ты присваиваешь ему его же пустую маску.




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

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

    наверх


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

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