powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пароль
5 сообщений из 5, страница 1 из 1
Пароль
    #34521110
nbv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
nbv
Гость
x = thisform.txtPass_.text
IF x = Thisform.edit1.value AND thisform.combo2.Value='Admin' then
DO c:\1\program1.prg
_screen.Caption='"ПРОГА'
THISFORM.Release
Else и тд

Всё работает как надо но если не вводить нечего в edit1(оставить пустым) то program1.prg запускается
...
Рейтинг: 0 / 0
Пароль
    #34521125
BAtyr Abdikayimov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут думаю надо указать значение по умолчание комбо
...
Рейтинг: 0 / 0
Пароль
    #34521126
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поставь IF x == Thisform.edit1.value
== возвращает .t. только при полном совпадении, а = в зависимости от SET EXACT
...
Рейтинг: 0 / 0
Пароль
    #34521150
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При настройке

SET EXACT OFF

это значение по умолчанию. Сравнение с пустой строкой всегда вернет истину, поскольку сравнение идет до истечения символов в строке, расположенной справа от оператора сравнения. Необходимо либо использовать символ тождественного равенства, либо дополнить сравниваемые величины до одной длины концевыми пробелами, либо изменить настройку SET EXACT (хотя это не есть хорошо)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
clear
SET EXACT OFF  && это настройка по умолчанию
?"================="
?"SET EXACT OFF"
?["admin" = "" = ],"admin" = ""
?["admin" = "adm" = ],"admin" = "adm"
?["adm" = "admin" = ],"adm" = "admin"
?["admin" = "admin" = ],"admin" = "admin"
?"================="
?"дополняю пробелами"
?[PADR("admin", 10 )=PADR("", 10 ) = ],PADR("admin", 10 )=PADR("", 10 )
?[PADR("admin", 10 )=PADR("adm", 10 ) = ],PADR("admin", 10 )=PADR("adm", 10 )
?[PADR("adm", 10 )=PADR("admin", 10 ) = ],PADR("adm", 10 )=PADR("admin", 10 )
?[PADR("admin", 10 )=PADR("admin", 10 ) = ],PADR("admin", 10 )=PADR("admin", 10 )
?"================="
?"тождественное равенство"
?["admin" == "" = ],"admin" == ""
?["admin" == "adm" = ],"admin" == "adm"
?["adm" == "admin" = ],"adm" == "admin"
?["admin" == "admin" = ],"admin" == "admin"
?"================="
SET EXACT ON
?"================="
?"SET EXACT ON"
?["admin" = "" = ],"admin" = ""
?["admin" = "adm" = ],"admin" = "adm"
?["adm" = "admin" = ],"adm" = "admin"
?["admin" = "admin" = ],"admin" = "admin"

Какой способ выбрать зависит от того, откуда берется текст для сравнения. Есть ли концевые пробелы. Возможно, потребуется их отсечение по Alltrim().
...
Рейтинг: 0 / 0
Пароль
    #34521204
nbv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
nbv
Гость
Всем бальшое спасибо
Особенно вам ВладимирМ
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Пароль
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]