Отправляет email-рассылки с помощью сервиса Sendsay

Relib.Com - руководство

  Все выпуски  

Он-лайн руководство по VB, ASP, SQL


Служба Рассылок Subscribe.Ru проекта Citycat.Ru

ОН-ЛАЙН РУКОВОДСТВО
31 мая 2001
HTML-ВЕРСИЯ


СОДЕРЖАНИЕ

1. Компьютерные новости
    - Microsoft официально представляет Office XP

2. VB: Советы разработчику
    - В циклах лучше используйте GetInputState

3. Новости Relib.com
    - VB: Темы обсуждения
    - ASP: Темы обсуждения
    - Java: Темы обсуждения
    - БД: Темы обсуждения


С 1 по 30 июня Relib.com и Издательство "Питер" проводят конкурс-викторину для программистов Visual Basic с розыгрышем книг о программировании. Подробнее...

КОМПЬЮТЕРНЫЕ НОВОСТИ

31.05.01 Microsoft официально выпустит очередную версию своего набора офисных программ - Office XP. Презентацию нового продукта своей компании проведёт сам основатель компании Билл Гейтс. Помимо Нью-Йорка, где выступит Гейтс, Microsoft представит Office XP в более чем сотне городов по всему миру.

Новый Office появится в продаже в 15 странах, однако сказать, каковы будут объёмы поставок, пока сложно. Microsoft воздерживается от упоминаний конкретных цифр, не сообщая ни сколько копий продукта выпущено, ни каковы окажутся затраты на рекламную кампанию. Впрочем, можно быть уверенным, что они будут немалыми - ставки довольно высоки.

Подробнее на странице новостей


VB: СОВЕТЫ РАЗРАБОТЧИКУ

В циклах лучше используйте GetInputState

Некоторые разработчики предлагают использовать в циклах функцию DoEvents, чтобы приложение могло реагировать на какие-либо события. Однако это не всегда целесообразно. Так, если цикл короткий, функция DoEvents и не нужна, а если длинный, то использование этой функции может нанести ущерб быстродействию приложения. А что же делать, если необходимо, чтобы пользователь имел возможность щелкнуть мышью на кнопке Cancel (Отмена) или выполнить какое-либо другое действие в процессе выполнения цикла?

Решение этой проблемы возможно путем использования функции Windows API GetInputState, которая возвращает 1, если пользователь щелкает на кнопке мышью или нажимает клавишу на клавиатуре. Применение этой функции требует намного меньше ресурсов, чем при работе с DoEvents, поэтому цикл выполняется быстрее.

Однако если щелчок мыши или нажатие клавиши инициирует выполнение некоторого события, то следует вызывать функцию DoEvents. Другими словами, вызывайте DoEvents только в том случае, если вам действительно необходимо обработать это событие. При этом вы можете уменьшить использование ресурсов, осуществляя проверку каждые x итераций (конкретное число зависит от того, сколько времени занимает выполнение цикла):

Option Explicit
   Private Declare Function GetInputState Lib "user32" () As Long
   Private m_UserCancel As Boolean

   Private Sub cmdCancel_Click()
      m_UserCancel = True
   End Sub

   Private Sub cmdGo_Click()
      Dim lCounter As Long
      m_UserCancel = False
      Me.MousePointer = vbHourglass
      For lCounter = 0 To 10000000
         ' любой длинный цикл,
         ' который необходимо прервать
         If lCounter Mod 100 Then
            If GetInputState <>    0 Then
               ' событие,    инициируемое щелчком мыши
               ' или    нажатием клавиши, находится в
               'очереди    сообщений, поэтому вызываем
               ' функцию    DoEvents,чтобы начать обработку
               ' этого    события
               DoEvents
               If m_UserCancel    Then Exit For
            End If
         End If
      Next lCounter
      Me.MousePointer = vbDefault
   End Sub
Подробнее на сайте


НОВОСТИ RELIB.COM

C++: ТЕМЫ ОБСУЖДЕНИЯ

  • Что такое DSP
  • Работа с динамическими массивами
  • Поиск в двоичном файле
  • Печать в Visual C++
  • Про Microsoft Data Grid Control 6.0

    DELPHI: ТЕМЫ ОБСУЖДЕНИЯ

  • Помогите найти компоненты прямого доступа для MS SQL Server7
  • InterBase ???
  • Что лучше использовать для работы с FTP?
  • Как выполнить набранный код?
  • QReport

    ASP: ТЕМЫ ОБСУЖДЕНИЯ

  • Про интердев и скрипты
  • Подключение к Access в локальной сети
  • Debuging in Interdev неработает
  • CDONTS.NewMail не получаю сообщения
  • ASP Mailer

    VB: ТЕМЫ ОБСУЖДЕНИЯ

  • Как передать сообщение от MS SQL пользователю
  • Как узнать координаты окна ИЕ5?
  • Word VBA
  • Как защитить VBA код в EXCEL?
  • Что значит слово Visual в VC++ или VB?

    JAVA: ТЕМЫ ОБСУЖДЕНИЯ

  • Привести буквы к верхнему регистру?
  • Не работает SQL запрос с русскими буквами
  • Можно ли создать клиента на JDK1.2.2, а сервер БД - будет SQL Server 7.0?
  • Как отсортировать данные без SQLевского ORDER BY?
  • Вопросы клиент-серверных приложений и доступ к БД

    БД: ТЕМЫ ОБСУЖДЕНИЯ

  • Oracle 8.1.7 на Windows 2000 ORA-12560: TNS:protocol adapter errorError
  • Oracle 8.1.7 на Windows 2000 TNS:12560 Adapter Error
  • Как в MS SQL 7 работать с таблицами из разных баз самого же MS SQL7?
  • Ошибка при запуске программы. БД
  • Delphi и Crystal Reports!!! Помогите плиз!

    РАЗНОЕ

    В разделе "Работа" появились вакансии для программистов в Германии. Необходимые знания - Visual Basic и опыт работы.


    Выпуск подготовил Алексей Смирнов

    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться Relayed by Corbina
    Рейтингуется SpyLog

    В избранное