powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Смена паролей...
19 сообщений из 19, страница 1 из 1
Смена паролей...
    #33816097
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хм... Странная вещь... Смена паролей. Не работает в программе тоже. Непонятно почему в изначально разработанной програме. Вся фома выглядит так (см. рисунок)
В программе так же есть команды. (вставлю наиболее важные сюда)
Команда2
SELECT tableparol
IF thisform.text1.Value = thisform.text2.Value
LOCA for parol=thisform.text1.value
IF FOUND()
MESSAGEBOX('Пароль введен правильно!')
thisform.text1.Value =''
thisform.text2.Value =''
thisform.label1.Caption = 'Введите новый пароль'
thisform.label2.Caption = 'Потвердите новый пароль'
thisform.command2.Visible = .F.
thisform.command3.Visible = .T.
thisform.text1.SetFocus
ELSE
MESSAGEBOX('Не правильно введен старый пароль! Попробуйте еще раз.')
ENDIF
ELSE
MESSAGEBOX('Не правильно введен старый пароль! Попробуйте еще раз.')
endif

Команда 3
USE "C:\Documents and Settings\Kseniya\Мои документы\АрхивПГСХА\helloform.scx"
IF thisform.text1.Value = thisform.text2.Value
DELETE ALL
pack
APPEND BLANK
replace parol WITH ALLTRIM(thisform.text1.Value)
MESSAGEBOX('Пароль изменен')
thisform.Visible = .F.
ELSE
MESSAGEBOX('Пароль потвержден не правильно')
Endif

Свойство Show самой формы
LPARAMETERS nStyle
thisform.label1.Caption = 'Введите старый пароль:'
thisform.label2.Caption = 'Потвердите старый пароль:'
thisform.text1.value = ''
thisform.text2.value = ''
thisform.Command2.Caption = 'Проверить пароль'
thisform.Text1.SetFocus
thisform.command2.Visible = .T.
thisform.command3.Visible = .F.

Когда выполняется всё это дело всё идёт нормально до тех пор пока не вводишь новый пароль. В табличке tableparol стоит значение самого пароля в поле parol. Это поле не индексированное. То есть считывается от оттуда нормально. Вводдишь пароль, заходишь в базу, кликаешь смена пароля, подтверждаешь пароль, подтверждение проходит, кликаешь новый пароль, подтверждаешь его и выскакивает "Variable 'PAROL' is not found" . Debugger ссылается на эту строчку команды 3 replace parol WITH ALLTRIM(thisform.text1.Value) . Что нужно сделать чтобы устранить эту ошибку? ;(
...
Рейтинг: 0 / 0
Смена паролей...
    #33816126
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shun

попробуй перед delete all вставить select с именем требуемой таблы
...
Рейтинг: 0 / 0
Смена паролей...
    #33816574
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гыг... Теперь прописалось "Alias 'TABLEPAROL' is not found...
Ну воть. А как создаются псевдонимы таблиц я не знаю. Как из этой ситуации выйти?
...
Рейтинг: 0 / 0
Смена паролей...
    #33816660
Фотография Redrik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
help use...
...
Рейтинг: 0 / 0
Смена паролей...
    #33816714
StasL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Скорее всего у тебя в момент запуска Команды3 твоя таблица закрыта. Открой ее с помощью USE (как советует Redrik).
...
Рейтинг: 0 / 0
Смена паролей...
    #33816750
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Shun
и в конце обязательно напиши in 0
...
Рейтинг: 0 / 0
Смена паролей...
    #33816867
splayn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем?

USE "C:\Documents and Settings\Kseniya\Мои документы\АрхивПГСХА\helloform.scx"
IF thisform.text1.Value = thisform.text2.Value
DELETE ALL
pack
APPEND BLANK
replace parol WITH ALLTRIM(thisform.text1.Value)
MESSAGEBOX('Пароль изменен')
thisform.Visible = .F.
ELSE
MESSAGEBOX('Пароль потвержден не правильно')
Endif

Так проще.... и понятней....

USE "C:\Documents and Settings\Kseniya\Мои документы\АрхивПГСХА\helloform.scx"
IF thisform.text1.Value = thisform.text2.Value
select tableparol
replace tableparol.parol WITH ALLTRIM(thisform.text1.Value)
(здесь если понадобится: tableupdate(.t.,.t.))
MESSAGEBOX('Пароль изменен')
thisform.Visible = .F.
ELSE
MESSAGEBOX('Пароль потвержден не правильно')
Endif
...
Рейтинг: 0 / 0
Смена паролей...
    #33817909
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не выходит. Одно и то же, *Alias 'TABLEPAROL' is not found*... (перепробовала то, что мне советовали)
Я сомневаюсь, может быть я не туда поставила

USE "C:\Documents and Settings\Kseniya\Мои документы\АрхивПГСХА\tableparol.dbf" in 0 (кстати, что такое in 0) ?

Я впервые с паролями работаю. И...кстати, это моя первая база...))
...
Рейтинг: 0 / 0
Смена паролей...
    #33817911
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Куда нужно вписывать этот Use? В отдельную команду или в ту же? Или куда-то в др. место?
...
Рейтинг: 0 / 0
Смена паролей...
    #33817926
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё! Получилось. я вписала USE под первым USEом. Теперь всё нормуль))))
ПАААСИИИБАААА всем огроное) ^________^
...
Рейтинг: 0 / 0
Смена паролей...
    #33817987
-)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
-)
Гость
Shun
…в ту же? Или куда-то в др. место?

В анекдоте, дальше следует фраза – “Поручик, Ржевский! Молчать!!!”

По команде USE <имя файла.dbf> открывается таблица в текущей рабочей области, при этом, закрывая ту - которая в ней была открыта.
Кстати, если отрывается именно таблица, то расширение dbf можно не указывать.

По команде USE <имя файла.dbf> IN 0 – тоже открывается таблица, но не в текущей, а другой свободной области, при этом не закрывается таблица текущей области.

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

Если в разных областях открыто несколько таблиц, то для того чтобы сделать активной какую-либо из них, используется следующий синтаксис команды – SELECT <имя рабочей области> (а как мы помним – это имя совпадает с именем таблицы в ней открытой)

Команда USE без ничего – закрывает таблицу, которая находится в текущей рабочей области.

Команда USE IN <имя рабочей области> – закрывает таблицу, которая находится в указанной рабочей области.

Далее, если ты используешь для формы - Data Environment, то тебе не нужно вообще ничего открывать и закрывать. Fox сам откроет и закроет все нужные таблицы при загрузке/ выгрузке формы. А вот команду SELECT <имя рабочей области> , то возможно и прийдется использовать для переключения между областями.
...
Рейтинг: 0 / 0
Смена паролей...
    #33818784
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Смена паролей...
    #33825681
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите плиз, что сделать чтобы этот пароль менялся и на другом компьютере. Там же пути к файлам другие будут. Работать смена пароля перестанет.
...
Рейтинг: 0 / 0
Смена паролей...
    #33825696
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тем более даже у меня пересатёт работать именно смена паролей когда перемещаю базу в др. катлог... Что сделать с этим?
...
Рейтинг: 0 / 0
Смена паролей...
    #33825700
AlikWishin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хранить путь к таблице с паролями, относительно текущего каталога в котором работает Ехе-шник

CurDir() - возвращает текущий каталог!!!!
А там уже дело техники
...
Рейтинг: 0 / 0
Смена паролей...
    #33826287
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я просто...хм...такой ламер в командах и программах....((( Куда эту комманду нужно вставить, после чего и с какими параметрами?
...
Рейтинг: 0 / 0
Смена паролей...
    #33834923
chamber1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вставь где угодно ,лучше в начале
pth=CURDIR()

и в переменной pth у тебя будет храниться путь откуда запускался ЕХЕ шник.
ТО есть папка проекта , а от этой pth пляшешь как угодно
...
Рейтинг: 0 / 0
Смена паролей...
    #33837058
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi chamber1!

> Вставь где угодно ,лучше в начале

Ну ясное дело что ДО команд меняющих текущий каталог :)

> pth=CURDIR()

Без буквы диска будет...

> и в переменной pth у тебя будет храниться путь откуда запускался ЕХЕ шник.

Именно так.

> ТО есть папка проекта

А вот это вовсе не так!!! Папка запуска и папка в которой расположен exe -
это 2 большие разницы - и это нужно обязательно учитывать, чтобы не попасть
впросак.

> а от этой pth пляшешь как угодно

угу - главное взять "правильный" путь - а возможно что и их оба - и папку
запуска и папку размещения exe...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Смена паролей...
    #33840071
Shun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С паролями я разобралась вроде бы. Если программку переместить в другй каталог то в приложении начинаются глюки и выдаётся "должна быть ссылка на переменную" и поиск не выполняется. Вохможно это из-за отсутствия путей в главной программе. То есть это наверное нужно вставлять именно туда. Но... я пыталась вставить - выдаются ошибки.

Главная программа проекта выглядит так.



DO FORM parol1.scx
SET PATH TO DATA;INCLUDE;FORMS;HELP;LIBS;MENUS;PROGS;REPORTS
*_screen.WindowState= 2
*_screen.BackColor=42525
*_Screen.LockScreen=.F.
_Screen.Visible =.f.
*_screen.caption = "Пермская Государственная Академия им.Прянишникова"
read events
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Смена паролей...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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