Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на Basic / VBA


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Basic/VBA

Выпуск № 756
от 16.04.2008, 16:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 285, Экспертов: 39
В номере:Вопросов: 1, Ответов: 3

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 131711: Подскажите код программы, при запуске которой бы запрашивался пароль (цикл с пост условием). И второй вопрос, как сделать так, чтобы при вводе пароля он не был виден (ну как обычно чтобы были ****)....

Вопрос № 131.711
Подскажите код программы, при запуске которой бы запрашивался пароль (цикл с пост условием). И второй вопрос, как сделать так, чтобы при вводе пароля он не был виден (ну как обычно чтобы были ****).
Отправлен: 11.04.2008, 15:57
Вопрос задал: Семин Алексей Юрьевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Черников Игорь Владимирович
Здравствуйте, Семин Алексей Юрьевич!
Можно обойтись и без цикла:
добавьте на форму два TextBox-а и назовите Текст1 и Текст2

Dim login As String
Dim pasw As String

Private Sub Form_Load()
login = "Логин" ' Логин и пароль придумайте свои
pasw = "qwe123"
Текст2.PasswordChar = "*" 'Показывает вместо символов звёздочки, можно указать свой символ
End Sub

Private Sub Текст2_KeyUp(KeyCode As Integer, Shift As Integer)
If Текст1 = "Логин" And Текст2 = "qwe123" Then
MsgBox "Правильно"
End If
If (Len(Текст1) = Len(login) And Len(Текст2) = Len(pasw)) And (Текст1 <> "Логин" Or Текст2 <> "qwe123") Then
MsgBox "НЕ правильно"
'End
End If
End Sub

Удачи!
---------
От каждого по способностям, каждому по труду
Ответ отправил: Черников Игорь Владимирович (статус: 10-ый класс)
Ответ отправлен: 11.04.2008, 16:47

Отвечает: Евгений Владимирович
Здравствуйте, Семин Алексей Юрьевич!
Предыдущий совет в принципе правильный, но если у вас есть необходимость защитить окно со сзвёздочками от взлома (есть такие программы), то вам необходимо будет написать процедуру перехватывания ввода символов в текст бокс ,сохранения данных в переменную и вывода в текст бокс символа звёздочки(либо любого другого). Код не сложный и потому я его приводить не буду. Удачи в экспериментах. :)
Ответ отправил: Евгений Владимирович (статус: 1-ый класс)
Ответ отправлен: 12.04.2008, 10:50

Отвечает: Павленко Александр Геннадьевич
Здравствуйте, Семин Алексей Юрьевич!
У объекта TextBox есть свойство PasswordChar, задаете "*"
Чтоб при запуске, создайте процедуру, щелкнув дважды по самой форме.
Не знаю, что именно вы хотели сделать, поэтому оформите сами.

Кстати, насчет пароля - интересная статейка, всем на заметку.

Есть много программ, снимающих маски с окон с паролями... Все, наверное, видели: наводишь мышку на окно со звёздочками и в окне программы-взломщика появляется текст пароля. Приложения, написанные на Visual Basic не защещены от этого... Другими словами в текстовом окне всё же находится текст, только замаскированный. Я же нашёл как этого избежать: в разделе формы General Declarations объявите переменную, котрая будет содержать код:
Dim pswd As String
в свойствах текстового поля установите в PasswordChar звёздочку "*". Теперь кликните по текстовому полю два раза и выберите событие Text1_KeyPress, впишите:
Private Sub Text1_KeyPress(KeyAscii As Integer)
pswd = pswd + Chr(KeyAscii)
KeyAscii = Asc("*")
End Sub
Теперь нажатия будут отлавливаться, а передоваться будут текстовому полю только звёздочки! И программа-взломщик пароль уже не достанет!!! Если кто-то хочет сделать так, как в Linux'e, т.е. никаких звёздочек нет вообще, то строку KeyAscii = Asc("*") надо заменить на KeyAscii = 0 и всё!

удачи.
Ответ отправил: Павленко Александр Геннадьевич (статус: 2-ой класс)
Ответ отправлен: 13.04.2008, 10:53


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 4.91 pre 5.0 RC1 от 13.04.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное