Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.07.2007
Сообщений: 24

Как сделать задержку в модуле VB?

25.09.2007, 15:32. Показов 2640. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, подскажите как на VBA, в модуле, сделать задержку, нк например на 30сек., дело в том что у меня архивируется файл, а след. операцией идет обращение к нему, но ведь архивация занимает время, поэтому происходит ошибка ;-( Спасибо заранее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.09.2007, 15:32
Ответы с готовыми решениями:

Как сделать задержку?
Почему после запуска программа сразу же закрывается? #include <iostream> #include <locale.h> #include <string> ...

Как сделать задержку ?
При наведении на элемент , появляется окно, но как только я отвожу курсор , окно пропадает , как сделать задержку ?Пока курсор находиться в...

Как сделать задержку C++
#include <iostream> #include <math.h> #include <conio.h> using namespace std; double function(double x, double y) { ...

7
0 / 0 / 0
Регистрация: 26.09.2006
Сообщений: 61
25.09.2007, 15:42
буги покупать тесты на беременность!

For intLoop = 1 To 1000000
Next
0
0 / 0 / 1
Регистрация: 28.07.2007
Сообщений: 177
25.09.2007, 16:58
Не надёжно...
Я бы поставил On Error Resume Next после команды архивирования, и пытался в цикле открыть заархивированый файл, пока не получится.
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
25.09.2007, 18:48
Может попробуешь просто подождать пока процесс архивации сам закончит работу. Смотри коды...
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
'waiting
Public Const PROCESS_ALL_ACCESS = &H1F0FFF
Public Const INFINITE = &HFFFFFFFF
Public Const WAIT_FAILED = &HFFFFFFFF
Public Const STILL_ACTIVE = &H103
'
Public Declare Function OpenProcess Lib 'kernel32' (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Public Declare Function WaitForSingleObject Lib 'kernel32' (ByVal hHandle As Long, ByVal dwMilliseconds As Long) As Long
Public Declare Function GetExitCodeProcess Lib 'kernel32' (ByVal hProcess As Long, lpExitCode As Long) As Long
Public Declare Function CloseHandle Lib 'kernel32' (ByVal hObject As Long) As Long
'
public sub ArchiveIt(ArcDir as string, fName as string)
Dim ret
Dim id As Long
Dim iex As Long
ret = PKZIP_Path & ' -a -ex ' & ArcDir & ' ' & aname & ' ' & fName
id = Shell(ret, vbHide)
iex = WaitOnProgram(id, True)
If iex Then
MsgBox 'Failed archiving!', vbCritical
End If
end sub
 
Public Function WaitOnProgram(ByVal idProg As Long, Optional ByVal WaitDead As Boolean) As Long
Dim cRead As Long
Dim iexit As Long
Dim hProg As Long
    
    hProg = OpenProcess(PROCESS_ALL_ACCESS, False, idProg)
    If WaitDead Then
        'waiting
        Dim iResult As Long
        iResult = WaitForSingleObject(hProg, INFINITE)
        If iResult = WAIT_FAILED Then WaitOnProgram = -1: Exit Function
        'return
        GetExitCodeProcess hProg, iexit
    Else
        'return
        GetExitCodeProcess hProg, iexit
        'another process enabled
        Do While iexit = STILL_ACTIVE
            DoEvents
            GetExitCodeProcess hProg, iexit
        Loop
    End If
    CloseHandle hProg
    WaitOnProgram = iexit
    
End Function
0
0 / 1 / 3
Регистрация: 27.03.2012
25.09.2007, 19:01
Visual Basic
1
2
3
Private Declare Sub Sleep Lib 'kernel32' (ByVal dwMilliseconds As Long)
 
Sleep 30000 'Sleep 30 seconds
0
messer
25.09.2007, 19:49
Visual Basic
1
2
3
4
5
Dim Temp
Temp=Time+30
Do While Time<Temp
  DoEvents
Loop
2 / 2 / 1
Регистрация: 30.07.2007
Сообщений: 206
26.09.2007, 10:17
решения в виде функций

ВАРИАНТ 1
Visual Basic
1
2
3
4
5
6
7
Function Delay(Pause As Single)
Dim Start As Single
Start = Timer
Do While Timer < Start + Pause
DoEvents
Loop
End Function
ВАРИАНТ 2
Visual Basic
1
2
3
4
5
6
7
Public Sub Sleeping(NumberOfSecond As Double)
Dim FinishTime As Date
FinishTime = DateAdd('s', NumberOfSecond, Now)
Do Until FinishTime <= Now
DoEvents
Loop
End Sub
ПРОВЕРКА ВЫПОЛНЕНИЯ КОДА
Visual Basic
1
2
3
4
5
6
7
Private Sub Form_Paint()
Print Time
'выберите, какой вариант вам больше по душе
Delay (5) 'или Sleeping (5)
'и в том, и в другом случае указывается время в секундах
Print Time
End Sub
0
YURA
26.09.2007, 10:27
Да наплюй ты на задержку и циклись пока
архиватор работу не закончит...
А эту тему здесь давненько мнут.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.09.2007, 10:27
Помогаю со студенческими работами здесь

Как сделать задержку ?
к примеру вот программа. Что надо дописать и куда для задержки изображения ? /* Дане чотиризначне число. Визначити; а) входять чи...

Как сделать задержку?
package sevak_avet; import java.util.Calendar; import java.util.GregorianCalendar; import javax.swing.JOptionPane; public...

Как в C# сделать задержку
Короче надо чтоб через какое то время сработал код. transform.localScale += new Vector3 (0.0f, 0.5f, 0.0f); Наверно тупой вопрос...

Как сделать задержку 1 ms ?
Частота cpu= 41 780 000 Hz. В сети нашел следующий код: long volatile a=def_msec*ms; while(a!=0) { a--; }

Как сделать задержку на SFML
Подскажите как осуществить задержку спрайта на sfml. Sleep,sf::sleep не работают они просто стопят программу. Получается так я делаю...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru