Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Программа 16.9. Синхронизация записи изменений в источнике данных
' Послать сообщение подключенному игроку Public Sub SendMessage(message As String, playerName As String). ' Объявления локальных объектных переменных: Dim db As Database Dim rs As Recordset Dim counter As Integer ' Определяем собственную обработку ошибок: On Error GoTo errHandler Set db = CurrentDb ' Открываем таблицу сообщений для игрока: Set rs = db.OpenRecordset("Сообщения", dbOpenDynaset) On Error GoTo 0 ' Добавляем сообщение в таблицу сообщений клиента: rs.AddNew rs!ИмяИгрока = playerName rs!Сообщение = message ' Обработка ошибок, возникающих при совместном доступе ' к источнику данных: On Error GoTo tryAgain rs.Update On Error GoTo 0 rs.Bookmark = rs.LastModified ' Закрываем открытые объекты: closeAHHandler: rs.Close endHandler: ' Очищаем объектные переменные, т. к. они больше не используются: Set rs = Nothing Set db = Nothing ' Завершаем работу: Exit Sub ' Синхронизация: tryAgain: counter = counter + 1 If counter < 400 Then doPause 5 Resume End If Обработка ошибок: errHandler: Dim errMsg As String errMsg = "Ошибка: " & Err.Number & vbCrLf & _ "Источник: " & Err.Source & vbCrLf & _ vbCrLf & Err.Description MsgBox errMsg, vbCritical, ERR_TITLE Resume endHandler End Sub Программа 16.10. Сделать паузу на заданное количество секунд в работе приложения Public Sub doPause(seconds As Integer) Dim var_timeStart, var_timeCurrent Dim ftimeOut As Boolean var_timeStart = Time() ' Время начала паузы Do ' Передать управление другим процессам операционной системы DoEvents var_timeCurrent = Time() ' Текущее системное время ftimeOut = _ CDate(var timeCurrent - var timeStart) >= CDate(TimeSerial(0, 0, seconds)) Loop Until ftimeOut End Sub Date: 2015-09-17; view: 359; Нарушение авторских прав |