Jump to content

Dmitriy

uniGUI Subscriber
  • Posts

    17
  • Joined

  • Last visited

Everything posted by Dmitriy

  1. Хотя если ставлю точку останова на if (timetostr(now) = '09:05:00') then то она срабатывает, возможно время не удается уловить точное до секунды, не понимаю в общем )
  2. Все равно не работает. public { Public declarations } property ConnString : string read FConnString; Procedure Get_data_new(tm:tdatetime); Procedure TUniServerModule.Get_data_new(tm:tdatetime) ; begin // код end;; procedure TUniServerModule.UniThreadTimer1Timer(Sender: TObject); begin if (timetostr(now) = '08:38:00') then Get_data_new(now); if (timetostr(now) = '20:01:00') then Get_data_new(now); end; Все нужные компоненты на этом же модуле, но события по времени на длинную дистанцию все равно не работают ((
  3. его использовать в Unimainmodule правильно?
  4. Всем добрый день! Есть проблемка - не могу понять как правильно организовать вызов процедуры строго по времени (в 8:01 и 20:01). Сделал по старинке: procedure TReport_proizvodstvo.UniTimer1Timer(Sender: TObject); begin if (timetostr(now) = '08:01:00') then Get_data_new(now); if (timetostr(now) = '20:01:00') then Get_data_new(now); end; Но опять же - это же должна быть открыта сессия в браузере, проблема в том, что иногда она срабатывает - иногда нет. Пробовал добавлять второй таймер чтобы пинал сессию Но результат такой же. Как вообще в принципе, правильно организовать вызов какой то процедуры, и чтобы она не зависела от сессии - а только от запущенного сервера. В процедуре происходят всякие выборки из удаленной базы данных FiREBird, кладутся в MS SQL и отправляются кое какие данные в телеграмм бот и в эксель в папку определенную. Заранее благодарю.
  5. up, тоже интересна данная тема. Только задача проще, обновлять клиентский датасет с сервера, при определенных условиях, начал копать в сторону вэбсокетов, но пока не сильно продвинулся )
  6. Всем доброго здравия! Столкнулся с такой задачкой, имеется 10 компонентов UniEdit и необходимо чтобы после введения числового значения в UniEdit и нажатию Enter, фокус присваивался бы следующему элементу Edit (или указанному). Как это реализовать? function keypress(sender, e, eOpts) { if (e.getKey() == 13 ) { ?? }
  7. Добрый день! Очень понравился скин uni_mac_yosemite, он прям соответствует нашим корпоративным цветам, но есть одна неприятная особенность, все компоненты memo и другие текстовые редакторы, имеют 1 строку, и небольшой скрол, в общем все как на картинке. Может это можно каким- то скриптом пофиксить.? Заранее благодарен. версия 1.90.0.1530 complete.
  8. Oh, sorry, Thank you for explain )
  9. Hello, no i use standalone server and last version of Unigui Complete.
  10. Возможно надо вызывать beforelogin и обнулять все переменные и все запросы в sql подчищать, может есть какие - то примеры реализации разграничения прав доступа к тем или иным элементам mainform в зависимости от пользователя? Я только начал изучать Unigui, возможно не все нюансы еще постиг, приведу пример как я разграничиваю (пытаюсь) права: UnimainModule var LoggedUser,Otdel,filename : string; adminmode: boolean; ----------------------------------------------------- UniloginModule procedure TUniLoginForm1.UniBitBtn1Click(Sender: TObject); var hash: string; begin UniMainModule.q_pass.SQL.Clear; UniMainModule.Q_pass.SQL.Add('select * from users where fio ='''+unicombobox1.Text+''''); UniMainModule.Q_pass.Active:=true; adminmode:=false; // режим входа для журнала заявок // hash := THashSHA2.GetHashString(UniEdit1.Text,THashSHA2.TSHA2Version.SHA256); if UniMainModule.q_pass.FieldByName('pass').Value = UniEdit1.Text then begin if (UniMainModule.q_pass.FieldByName('Zayavki_org_adm').AsBoolean = true) then adminmode:=true; Otdel:= UniMainModule.q_pass.FieldByName('otdel').AsString; LoggedUser := UniComboBox1.Text; if UniCheckBox1.Checked then begin UniApplication.Cookies.SetCookie('_loginname', UniComboBox1.Text, Date + 30.0); // Expires 30 days from now UniApplication.Cookies.SetCookie('_pwd', UniEdit1.Text, Date + 30.0); end; ModalResult := mrOK; end else ShowMessage('Введен неверный пароль'); Main - главная форма procedure TMainForm.UniFormCreate(Sender: TObject); begin UniLabel1.Caption := LoggedUser; if adminmode=true then begin admin.Visible:=true; // Пункты в UniMenuItems1 biot.visible:=true;// end else admin.Visible:=false; ---------------------------------------------------------------- Так же у меня есть PageControl в котором я создаю фремы, правильно - ли там проверять переменные из MainModule для активации\деактивации тех или иных контролов либо это все надо делать в другом месте?
  11. Такая же проблема сейчас, начинается новая сессия с другой машины под другим пользователем, но в итоге мы видим все доступные меню для первого пользователя (админа). Если завершить сервер, зайти пользователем, то все прекрасно, все админки скрыты, но после этого и админ заходит как пользователь. Не могу никак понять в чем проблема. получается что MainModule не уникален для каждой сессии ?
  12. Hi, sorry if my question looks like noob) but i setup my dbgrid on export (see fotos) and i have 7 pages in my grid, after export i see that exported only 1 page. I dont want to change grid option on not paged. How can i solve this case? )
×
×
  • Create New...