А можно ли это реализовать через форму frmUsers, чтобы не трогать скрипт при добавлении нового пользователя? Т.е. в таблице users помимо колонок login и password иметь колонку GetUserName, в которую при добавлении нового пользователя записывать его GetUserName. При запуске проекта сравниваются актуальный GetUserName со всеми значениями, записанными в таблице. Если совпадения нет, то доступ запрещается. Если совпадение найдено, то любой из зарегистрированных пользователей может войти в проект под своим логином.
Попробовал так:
var
sUser: string = ''; sGetUserName: string = ''; sBlock: string = '';
idUser: integer;
procedure frmLogin_ComboBox1_OnChange (Sender: string);
var
s: string;
begin
frmLogin.Edit1.Text := frmLogin.ComboBox1.Text; // запись выбранного в комбобоксе логина в текстбокс
//проверка прав работы с программой
s := VarToStr( SQLExecute('SELECT GetUserName FROM users WHERE (GetUserName = ''' + sGetUserName + ''');') );
if s<>'1' then
begin
MessageDlg(('ВАМ ОТКАЗАНО В ДОСТУПЕ'),mtError, mbOK, 0);
//frmLogin.Close;
end;
end;
но кроме выскакивания MessageDlg это ничего не даёт, что свидетельствует о том, что s := VarToStr( SQLExecute('SELECT GetUserName FROM users WHERE (GetUserName = ''' + sGetUserName + ''');') ); не работает.
Не боги горшки лепят!