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


VB Студия VB Line
Голосование:

Ваш голос отсылается по E-mail владельцу сайта, после чего голоса анализируются и на отдельной странице выводятся результаты.

Какой версией Visual Basic Вы пользуетесь?
VB 3
VB 4
VB 5
VB 6

Установлен ли у Вас Service Pack? Если да, то какой?
Нет
SP1
SP2
SP3
SP4
SP5


Рассылки Subscribe.Ru
Новости сайта VBline и советы программистам
Содержание выпуска




Новости сайта VB Студия

  • 10 августа 2001 года - Обновление коснулось только статей. Но зато сколько статей! Добавил статьи:
    Visual Basic позволяет использовать Текстовый файл, как база данных.
    Автор: М. Эскин
    SQL - Язык запросов: Простое использование оператора SELECT
    Автор: Сартин Вячеслав
    Введение в ADO+ (FAQ)
    Автор: Сартин Вячеслав
    Использование ADODC совместно с DBGrid
    Автор: Tower


    наверх


    Новости сайта VB Line

       18 августа 2001 г. Ну вот, сегодня очередное обновление сайта. Новые интересные коды в Примерах: часики, которые "заменяют" стандартные часы в Windows, несколько примеров от Михаила Эскина и других авторов. В ActiveX добавил новый OCX типа "украшательства". В разделе Программы новая версия программы Михаила Эскина для регистрации OCX и DLL. В Статьи я добавил собственный вольный перевод статьи Deborah L. Cooper, посвященной созданию подсказки для меню.

    наверх


    Получает из пути к папке (Например C:/Мои документы/Отчёты/) путь к папке верхнего уровня (C:/Мои документы/).

    Option Explicit

    Public Function UpFolder(Folder As String) As String
    Dim tmp As String
    Dim ilgis As Long
    Dim nn As Long
    Dim RezultCurent As String
    tmp = Folder
    ilgis = Len(tmp)
    If Right$(tmp, 1) = "\" Then
    tmp = Mid$(tmp, 1, ilgis - 1)
    End If
    For nn = ilgis To 1 Step -1
    If Mid(tmp, nn, 1) = "\" Then
    RezultCurent = Left(tmp, nn)
    Exit For
    End If
    Next nn
    UpFolder = RezultCurent
    End Function

    наверх


    Запрет перерисовки контрола

    В некоторых случаях необходимо запретить перерисовку контрола, например, при заполнении списка типа ComboBox. Существует три, известных мне, методов, как это сделать. Первый метод заключается в установке на время заполнения списка свойства Visible = False, а после завершения этих операций восстановить свойство в True. Второй способ - вызвать API функцию LockWindowUpdate перед добавлением элементов, а после отключить блокировку. Но самый лучший способ, на мой взгляд это послать контролу сообщение WM_SETREDRAW  с параметром  False, а после добавления элементов послать его с параметром True. В общем посмотрите и сами решите, какой из этих методов Вам подходит. Лично я пользуюсь следующим кодом:

    Sub SetRedraw(ctl As Control, f As Boolean)
        Call SendMessageAsLong (ctl.hWnd, WM_SETREDRAW, f, 0&)
    End Sub


    наверх



    Как сделать TextBox enabled = false, но с текстом нормального цвета

    Этот интересный совет прислал
    Антон Дёмин. Кстати, у него есть свой Web-сайт http://demin.narod.ru/, но сайт не о Visual Basic, кому интересно - посмотрите.

        Если у TEXTBOX'a свойство Enabled = FALSE, то текст в нем блеклый. Это не очень хорошо, а чтоб этого не было разместите текстовое поле на FRAME с установленным Enabled = FALSE (у TextBox'а Enabled = TRUE). Кроме того свойство BorderStyle у FRAME можно установить в 0 - none. Теперь для того, чтобы TEXTBOX стал "недоступным" нужно изменять свойство Enabled у FRAME. В этом случае и поле заблокировано и текст не блеклый.


    наверх


    Как запустить Screen saver?

    Антон Дёмин продолжает радовать нас своими советами. Очередной совет на тему: как запустить Screen saver. Всё очень просто. Объявите функцию SendMessage и две константы: WM_SYSCOMMAND и SC_SCREENSAVE. Вот собственно и всё. Осталось только в нужный момент вызвать эту функцию и заставка запустится!

    Private Declare Function SendMessage Lib "User32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

    Private Const WM_SYSCOMMAND = &H112&

    Private Const SC_SCREENSAVE = &HF140&

    Sub Start()

       Dim Ret As Long

       Ret = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)

    End Sub


    наверх


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

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

    Вопросы:


    Автор вопроса:
    Павел Сурменок

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

       Есть база данных Stat1.mdb . В ней таблица Statistics и в ней 3 поля SpyLogHits (Numeric), SpyLogHosts (Numeric), sDate (Date/Time). На форме стоит MSFlexGrid1. Нужно используя DAO программно запихать информацию из таблицы в MSFlexGrid1. Как это сделать?


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

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


    наверх


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

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