Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
it.egor
-
- Начинающий

-
-
- Сообщения: 16
- Зарегистрирован: 29.07.2008 (Вт) 13:51
-
it.egor » 30.07.2008 (Ср) 9:58
в поиске уже бывал многократно... ничего не помогло.
есть код, который выполняется очень долго, исп. цикл! не получается сделать расчет времени чтобы прога писала типа: осталось стока-то времени, прошло стока-то, закончится во стока-то...
операции могут длиться неделями!!!!
дайте пож. код для любого цикла.
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.07.2008 (Ср) 10:13
А что сложного? Не можешь два числа умножить?
Lasciate ogni speranza, voi ch'entrate.
-
it.egor
-
- Начинающий

-
-
- Сообщения: 16
- Зарегистрирован: 29.07.2008 (Вт) 13:51
-
it.egor » 30.07.2008 (Ср) 10:45
причем тут умножить??!?!? топик создан в форуме для новичков.
-
Viper
-
- Артефакт VBStreets

-

-
- Сообщения: 4394
- Зарегистрирован: 12.04.2005 (Вт) 17:50
- Откуда: Н.Новгород
-
Viper » 30.07.2008 (Ср) 10:50
Ну подели для разнообразия.

В чем сложность то? Что конкретно не получилось с расчетом времени?
Последний раз редактировалось
Viper 30.07.2008 (Ср) 11:02, всего редактировалось 1 раз.
Весь мир матрица, а мы в нем потоки байтов!
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.07.2008 (Ср) 10:57
В том, чтобы думать логически, ты тоже новичок?
- Код: Выделить всё
TimeStart = Timer
For I = 1 To 1000
Percent = (I/1000)
TimeElapsed = Timer-TimeStart
TimeTotal = TimeElapsed/Percent
TimeEstimated = TimeTotal-TimeElapsed
'long operations
Next I
Для начала хватит.
А потом советую прогнозировать изменение времени, а не время (чтобы скачков не было)
Lasciate ogni speranza, voi ch'entrate.
-
it.egor
-
- Начинающий

-
-
- Сообщения: 16
- Зарегистрирован: 29.07.2008 (Вт) 13:51
-
it.egor » 30.07.2008 (Ср) 10:57
ладно! топик подниму когда будет хоть какай-то наброска... ожидайте
-
Alprog
-
- Продвинутый пользователь

-

-
- Сообщения: 127
- Зарегистрирован: 15.05.2008 (Чт) 14:21
- Откуда: Владивосток
-
Alprog » 30.07.2008 (Ср) 11:01
Кинь на форму два лейбла и вставь этот код:
- Код: Выделить всё
Dim Start As Single
Dim A As Single
Dim CurTime As Single
Private Sub Form_Load()
Me.Show
Start = Timer
Do
A = A + 1
CurTime = Timer - Start
Label1.Caption = "Время прошло: " & CurTime
Label2.Caption = "Время осталось: " & CurTime / A * 50000 - CurTime
DoEvents
Loop Until A = 50000
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
End
End Sub
Правда сейчас лейбл мерцает, но если операция в цикле будет сложнее, чем A = A + 1, то обновление лейблов станет реже и мерцание исчезнет. Другой способ избавится от мерцания вынести этот код в таймер:
- Код: Выделить всё
CurTime = Timer - Start
Label1.Caption = "Время прошло: " & CurTime
Label2.Caption = "Время осталось: " & CurTime / A * 50000 - CurTime
Последний раз редактировалось
Alprog 30.07.2008 (Ср) 11:07, всего редактировалось 1 раз.
-
it.egor
-
- Начинающий

-
-
- Сообщения: 16
- Зарегистрирован: 29.07.2008 (Вт) 13:51
-
it.egor » 30.07.2008 (Ср) 11:05
вот! вот это дело! наконец-то я дождался!!!! СПАСИБО буду пробовать!!!
помогите пож сразу с форматом времени:
осталось __ дней __ часов __ минут __ секунд
оч буду признателен
-
Viper
-
- Артефакт VBStreets

-

-
- Сообщения: 4394
- Зарегистрирован: 12.04.2005 (Вт) 17:50
- Откуда: Н.Новгород
-
Viper » 30.07.2008 (Ср) 11:09
Функция Format поможет тебе вывести время в любом формате, хоть с цветочками по бокам.
Весь мир матрица, а мы в нем потоки байтов!
-
alibek
-
- Большой Человек

-
-
- Сообщения: 14205
- Зарегистрирован: 19.04.2002 (Пт) 11:40
- Откуда: Russia
alibek » 30.07.2008 (Ср) 11:16
А отправлю-ка я тебя в поиск, там все есть.
А тему закрою.
Lasciate ogni speranza, voi ch'entrate.
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: AhrefsBot, Google-бот, SemrushBot, Yandex-бот и гости: 6