Страница: 1 |
Страница: 1 |
Вопрос: Скорость счета
Добавлено: 20.12.07 23:36
Автор вопроса: DkBobby
Делаю мелкую програмку, чтобы получить числа (всего должно получиться миллион вариантов):
000000
000001
000002
000003
000004
...(множество чисел)
999996
999997
999998
999999
Построил на основе вот такого кода:
printa - конечное число (с нулями, если надо, типа 000923)
a - просто число (1, 2, 3, 4 и т. д.)
zeros - кол-во нулей которое нужно вставить в начале числа
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
Dim a As String
Dim printa As String
Dim zeros As Integer
a = "999999"
printa = "999999"
Text1.Text = Val(a)
aminus:
If printa = "000000" Then
Else
a = Val(a) - 1
If Len(a) < 6 Then
zeros = 6 - Len(a)
Select Case zeros
Case 5
printa = "00000" & a
Case 4
printa = "0000" & a
Case 3
printa = "000" & a
Case 2
printa = "00" & a
Case 1
printa = "0" & a
End Select
End If
Text1.Text = Text1.Text & vbCrLf & printa
GoTo aminus
End If
End Sub
Но комп зависает! Можно как-нибудь ускорить процесс?
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #1
Добавлено: 21.12.07 00:26
Во-первых, вместо
If printa = "000000" Then
Else
'<...>
End If
надо писать так
If printa <> "000000" Then
'<...>
End If
или так
If Not (printa = "000000" Then
'<...>
End If
Номер ответа: 2
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #2
Добавлено: 21.12.07 00:41
Во-вторых, таймер тут ваще не в тему.
В-третьих, GoTo - НЕ ИСПОЛЬЗОВАТЬ. Если только при обработке ошибок..
В-четвертых, переменную a надо было объявлять As Long
В-пятых, есть чудо-функа Format. Код неимоверно сокращается:
For i = 0 To 999999
Text1 = Text1 & Format(i, "000000" & vbNewLine
Next i
В-щестых, уж лучше в массив записать, например:
For i = 0 To 999999
a(i) = Format(i, "000000"
Next i
В-седьмых, ЗАЧЕМ ЭТО НАДО??? Наверняка можно обойтись без подомных тормозных извращений. Что нужно по сути?
Номер ответа: 3
Автор ответа:
Yanex
ICQ: 387761649
Вопросов: 32
Ответов: 169
Web-сайт:
Профиль | | #3
Добавлено: 21.12.07 08:34
Дайте угадаю. BS Corporation взламывает пароль для какого-нибудь сайта, программы, архива, файла... Вот ему и нужно для готовой проги сделать нужный TXT-файл. Я угадал?
Номер ответа: 4
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #4
Добавлено: 21.12.07 13:31
printf("%06d", n); //
Номер ответа: 5
Автор ответа:
DkBobby
Вопросов: 6
Ответов: 20
Профиль | | #5
Добавлено: 21.12.07 18:39
Не совсем.Нужно одному человечку подобрать пароль, при том что он цифровой. Я так подумал и решил что пароль (цифровой) может быть от 2 до 6 символов...
Номер ответа: 6
Автор ответа:
DkBobby
Вопросов: 6
Ответов: 20
Профиль | | #6
Добавлено: 21.12.07 18:43
как Лонг пробовал, не хватает числового предела.
Комп все равно виснет с кодом
For i = 0 To 999999
a(i) = Format(i, "000000"
Next i
Как все это побыстрее сделать?
Номер ответа: 7
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #7
Добавлено: 21.12.07 21:02
никак. написать на ассемблере
Номер ответа: 8
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #8
Добавлено: 21.12.07 23:46
тупняк
Админ, закрывай тему!
Номер ответа: 9
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #9
Добавлено: 22.12.07 01:13
да блин, а почему бы те не юзать Format(X, "000000" прямо во время подбора пароля тчк
Номер ответа: 10
Автор ответа:
intel-DX
ICQ: 445091742
Вопросов: 4
Ответов: 169
Профиль | | #10
Добавлено: 22.12.07 08:15
Ну так еще чуть быстрее
Dim i As Long, a(0 To 999999) As String *6
Номер ответа: 11
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #11
Добавлено: 22.12.07 12:58
ничуть так не быстрее
Номер ответа: 12
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #12
Добавлено: 22.12.07 17:10
Executioner, разве не быстрей? почему?
Номер ответа: 13
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #13
Добавлено: 22.12.07 17:46
сравни код в отладчике ничуть не быстрее. точно такие же ссылки на строки. оно будет работать чуточку быстрее в IDE, но не в скомпиленном варианте