Страница: 1 |
Есть условие: If KeyAscii <> Asc(0) And KeyAscii <> Asc(1) And KeyAscii <> Asc(2) And KeyAscii <> Asc(3) And KeyAscii <> Asc(4) And KeyAscii <> Asc(5) And KeyAscii <> Asc(6) And KeyAscii <> Asc(7) And KeyAscii <> Asc(8) And KeyAscii <> Asc(9) And KeyAscii <> Asc("-") And KeyAscii <> Asc(UCase(Chr(8))) Then Хотелось бы упростить...
Страница: 1 |
Вопрос: Нужно упростить
Добавлено: 08.06.04 12:53
Автор вопроса: Atlant
Ответы
Всего ответов: 13
Номер ответа: 1
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #1
Добавлено: 08.06.04 13:18
IF ((KeyAscii>57) AND (KeyAscii <> Asc(UCase(Chr(8)))) then
+) очень упрощено можно будет ввести всё кроме циф и нескольких знаков что ниже их по таблице символов а всё остальное можно...
Номер ответа: 2
Автор ответа:
Atlant
Вопросов: 1
Ответов: 1
Профиль | | #2
Добавлено: 08.06.04 13:48
Спасибо.
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 08.06.04 17:31
Во-первых, asc принимает аргументом строку, но никак не число, во-вторых, ucase(chr(8)) и есть chr(8), потому как верхнего регистра у tab нет и никогда не было. Поэтому asc(ucase(chr(8)))=8
Номер ответа: 4
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #4
Добавлено: 08.06.04 19:15
+) Ну я понял что он хотел
asc(ucase(chr(8))) угу .. да получается то же самое что и прсото 8... но малоли в этом есть глубокий смысл которого никому не понять ? +)
Номер ответа: 5
Автор ответа:
Fallout
Вопросов: 10
Ответов: 387
Web-сайт:
Профиль | | #5
Добавлено: 08.06.04 19:16
IF (KeyAscii>57) THEN
+))) дальеш больше...
Номер ответа: 6
Автор ответа:
TERMIT
ICQ: 5297101
Вопросов: 16
Ответов: 93
Web-сайт:
Профиль | | #6
Добавлено: 08.06.04 21:17
а можно попроюовать так:
for x = 0 to 9
IF ((KeyAscii<>x) AND (KeyAscii <> Asc(UCase(Chr(8)))) then
next
это я просто так...
но работать должно!
Номер ответа: 7
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #7
Добавлено: 08.06.04 22:13
А если так:
Select Case KeyAscii
Case ASC("0" to ASC("9", ASC("-", 8
msgbox"Key is Numeric or '-' or <TAB>"
Case Else
Msgbox"Another key",,Str$(KeyAscii)
End Select
Номер ответа: 8
Автор ответа:
TERMIT
ICQ: 5297101
Вопросов: 16
Ответов: 93
Web-сайт:
Профиль | | #8
Добавлено: 08.06.04 22:39
@CyRax PTR
ну ты как всегда оригенален....
Номер ответа: 9
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #9
Добавлено: 08.06.04 22:40
Раз тема расползлась сказану еще один неплохой способ ))
Private Sub Form_KeyPress(KeyAscii As Integer)
If VBA.IsNumeric(Chr$(KeyAscii)) Or KeyAscii = Asc("-" Or KeyAscii = vbKeyTab Then
Call MsgBox("a"
Else
Call MsgBox("b"
End If
End Sub
Номер ответа: 10
Автор ответа:
TERMIT
ICQ: 5297101
Вопросов: 16
Ответов: 93
Web-сайт:
Профиль | | #10
Добавлено: 08.06.04 22:59
ну все начинаеться!!!!
Номер ответа: 11
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #11
Добавлено: 08.06.04 23:26
TERMIT, не печатай ты со скоротью 195 знаков/сек... лучше печатай хоть 160, но без ошибок ))
начинаетЬся
оригЕнален
И не флэйм без причины... а то мне это боком выходит... трафик нонче дорогой ))
Номер ответа: 12
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #12
Добавлено: 09.06.04 03:09
TERMIT,
Я в 15 лет програмил примерно как и ты. Хотя термин "оригинален" скорее подходит тебе. Зачем ты ВСЕ задачи решаешь через цикл? Тем более работу со строками и файлами.
Я тебя немножко просвещу. VB6 - это ОЧЕНЬ медленный язык программирования. Скорость выполняемой программы вся ушла в удобство.
Закон сохранения энергии знаешь? Ну там "...сколько от одного отъединится, столько и присовокупится к другому.". Он тут чётко срабатывает.
А ты ассемблерные алгоритмы пытаешся применить в этой черепахе. Лучше чаще читай хелпы. Скорее всёго найдёшь тот же код что ты пишешь, но уже скомпилированный на АСМ в виде VB-шной команды или оператора.
Номер ответа: 13
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #13
Добавлено: 10.06.04 20:49
Если к мелкомягким программерам присоединиться много денег и приказ от Билли сделать продукт максимально медленным, чтобы следующая версия показалась всем совершенной, то от производительности программ отсоединиться примерно 99,5%.