Я пытаюсь создать экран входа. Он принимает имя пользователя и пароль. Кроме того, я создаю текстовый файл, я ввожу правильные имена пользователей и пароли в текстовый файл.Создание экрана входа в labview
Когда я нажимаю confirm button
(после ввода имени пользователя и пароля на экран входа в систему), программа соответствует имени пользователя и паролю, если они действительны, а затем свет открыт.
Это работает, но когда я пытаюсь нажать confirm button
более 2 раз, он терпит неудачу. На самом деле не дать ошибку, но подтвердить кнопку заблокирована так, я не могу сделать пробную версию более 2. Каковы возможные причины для этого?
Вот мой VI:
Даже для программ, которые не очень важны, вы не должны хранить учетные данные как обычный текст в файле с именем'login.txt '. Это делает процесс входа в систему устаревшим ... –
Если кнопка OK перестает реагировать, это звучит так, как будто внутренний цикл While не выходит. Испытали ли вы, что происходит с помощью зондов и/или подсветки выполнения? Это непонятно из вашего изображения, но похоже, что стоп-терминал этого цикла получит только истинное значение, если имя пользователя и пароль совпадают с значениями в файле, иначе он будет работать бесконечно. Если вы можете опубликовать фрагмент VI вместо простого изображения, мы можем проверить это для вас. – nekomatic
Как упоминалось некоматично, внутренний цикл while не выходит. Это происходит потому, что ваш цикл while только закрывается, когда он находит совпадающее имя пользователя и пароль. Вам нужна дополнительная логика в регулярном выражении, так что если вы прочитаете файл и не нашли его, цикл завершится. Есть много способов сделать это, мой предпочтительный - сменный регистр. Как сказал Каспар, вам нужно хэшировать пароль с чем-то вроде SHA2 или AES, оба из которых имеют библиотеки LV. Убедитесь, что ваш пароль отображается как таковой, щелкнув его правой кнопкой мыши и выбрав режим отображения «Пароль». Также закройте файл. – ijustlovemath