251

(6 replies, posted in General)

Почитайте статью
https://k245.ru/wp-content/uploads/2022/09/autentifikatsiya.jpg
https://k245.ru/mvdb/autentifikatsiya.html
о том, как из этого
https://k245.ru/wp-content/uploads/2022/09/standartnaya-forma-logina.png
сделать это (или круче)
https://k245.ru/wp-content/uploads/2022/09/izobrazhenie_2022-09-23_150246342.png
полностью сохранив функциональность оригинала

252

(17 replies, posted in Russian)

Чтобы продвигаться дальше, рекомендую пару небольших статей:
Проектирование
https://k245.ru/bez-rubriki/proektirovanie.html
Реляционные базы данных
https://k245.ru/mvdb/relyatsionnye-bazy-dannyh.html


а лучше прочитать всё:
Non-code приложения MVDB
https://k245.ru/mvdb/non-code-prilozheniya-mvdb.html

k245 wrote:

Competitor Or Partner?
https://k245.ru/wp-content/uploads/2022/09/armresling.jpg


After successfully purchasing the documentation software, Dr.Explain I started creating help files for all my projects, including ClassExplorer – “Developer’s guide”. And then I suddenly thought: did not my new tool replace the program being created for me? Will my new assistant turn into a project killer?


Read: https://k245.ru/en/mvdb-en/competitor-or-partner.html

Thanks to the efforts of the respected Yann Yvnec, this article is now available in French.

https://k245.ru/fr/mvdb-fr/concurrent-o … naire.html

254

(3 replies, posted in General)

This is not the right place to discuss this issue. It is better to ask all questions regarding the MVM project on my blog. https://k245.ru/category/mvm

Роли, права, авторизация и аутентификация - это довольно сложные понятия, даже в самой простой реализации. В My Visual Database они представлены по принципу "необходимо и достаточно": из коробки имеются все элементы и механизмы для создания системы прав, построенной на концепции роли:
- хранение личных данных пользователей в БД
- хранение ролей в проекте
- настройка сценариев поведения компонентов в зависимости от роли пользователя
- форма аутентификации и авторизации
- форма для редактирования учетных данных пользователей (доступна только админу)
- форма смены пароля

256

(5 replies, posted in General)

Strsh wrote:

I thank you.
How can I see the recorded data when the cursor is in a row (not when it is clicked).

You can see it with your own eyes :-)
Maybe you wanted to ask how to retrieve data about a record when you hover over a table row?

257

(8 replies, posted in General)

https://www.google.com/search?q=utc+time+format

258

(5 replies, posted in General)

procedure Form1_OnShow (Sender: TObject; Action: string);
var
  Timer: TTimer;
begin
  Timer := TTimer.Create(Form1);
  Timer.Interval := 1000;
  Timer.onTimer := @OnTime;
  Timer.Enabled := True;
end;

procedure OnTime(Sender :TObject);
begin
  Form1.DateTimePicker1.DateTime := Now();
end;

https://myvisualdatabase.com/forum/misc.php?action=pun_attachment&item=9875&download=0

Да вам не пример тут нужен, а скрипт, который вычисляет итоговую сумму в зависимости от установленных чекеров в таблице.


Вы вручную чекеры что ли ставите и не сохраняете их состояние в базу? Я бы рекомендовал сохранять информацию об оплате в базу, а колонку "Сумма" нужно сделать вычисляемой, в зависимости от оплаты. Тогда и скрипт не понадобится.


P.S. Эффективней спрашивать не  о том, как работает функционал компонентов (это можно прочитать в инструкциях), а о том, как правильно решить бизнес-задачу.

Поиск и фильтрация
https://k245.ru/wp-content/uploads/2023/09/1668318403_3-16.jpg
My Visual Database имеет встроенный механизм организации фильтрации, основанный на модификации SQL-запроса для извлечения данных. Таким образом, фильтрация производится на стороне СУБД. Процесс создания фильтра сводится к настройкам свойств визуальных компонент, параметры фильтрации задаются пользователем через ввод данных в те же компоненты, которые используются для ввода и отображения данных на форме редактирования.
https://k245.ru/mvdb/poisk-i-filtratsiya.html

https://devby.io/storage/images/11/57/49/27/derived/8599fee541ae11fbdc55159adc43a641.jpg

В продолжение темы про даты:


Календарь (TdbCalendar)
https://k245.ru/wp-content/uploads/2023/08/c1.png
Для наглядного отображения и ввода даты используется компонент Calendar.
https://k245.ru/mvdb/kalendar-tdbcalendar.html
Если растянуть размеры календаря, то можно отобразить сразу несколько месяцев или целый год:
https://k245.ru/wp-content/uploads/2023/09/c6.png

sparrow wrote:
k245 wrote:

Дата и время (TdbDateTimePicker)
...
К примеру, если выбранным региональным стандартом не предусмотрено отображение времени в 12-ти часовом формате, то добиться его настройкой свойства “Format” не удастся.
...

Константин,
TdbDateTimePicker - вещь капризная.
Сработате только в режиме Time.
Если задать сначала режим Time а затем задать Format в виде hh:mm:ss ttt то он все же переключится в 12 часовой режим.
Вы забыли упомянуть, что кроме AM/PM может отображаться дп/пп.

Снгласен, капризная ))) но что мне удалось выяснить с вашей помощью: описанные проблемы с включением 12-часового режима у меня наблюдались ровно  до того момента, пока я не полез в региональные настройки и не установил там значения для букв "До полудня" и "После полудня" (почему-то по умолчанию они были пустышками). После этой манипуляции все заработало как часы ))

Редактор текста (TdbRichEdit)
https://k245.ru/wp-content/uploads/2023/09/re1.png
Компонент является продвинутым текстовым редактором (RichEdit) c широкими возможностями по форматированию текста. Он также позволяет вставлять в текст графические файлы, таблицы, ссылки и т.д., а затем выводить на печать.

Формат хранения данных RTF (Rich Text Format). Для хранения в базе данных используется обычное текстовое поле. Сам редактор поддерживает множество текстовых форматов (см. Таблицы 7,8).
https://k245.ru/mvdb/redaktor-teksta-tdbrichedit.html
https://k245.ru/wp-content/uploads/2023/09/re2.png

265

(23 replies, posted in Script)

sparrow wrote:
k245 wrote:

I understand why colleagues are interested this book: such a trick looks like a hack)))


well why at once hack? This is a perfectly legal way to style.
It's just not widely publicized. The description is present in the Embarcadero.
That's just not for all cases and not for all elements.
I remember a post about creating a table dynamically where the style doesn't get there. )))

Be that as it may, your find is very valuable and can significantly diversify the user interface. Combinations of style and color for buttons, images on which are created by UNICODE characters - this is a great solution!

266

(23 replies, posted in Script)

tcoton wrote:

Are you referring to this: => https://k245.ru/mvdb/non-code-prilozheniya-mvdb.html

It's great, lots of missing details from Dmitry's help file but not really easy for non Cyrillic readers as some texts are not translated at all by the auto translate features of our web browser!! wink

Below is copy paste from web browser after auto translate of this page : https://k245.ru/mvdb/otobrazhenie-tabli … annyh.html


WantTabs    Reaction to Tab    Determines the reaction of the component to pressing the <Tai> key. If the property is set to True, tabulation symbols are inserted into the text when the <THAT> key is pressed. By default, the WantTabs property is set to False, and when you press the <Tah> key, the table sends input focus to the next window control.

TabLeaveControl*    Loss of focus with the <Tab key    Determines whether the component will lose input focus when you press Tab

Хотите Возвраты*    Enable line feed with the Enter key    Determines whether multiline text will be allowed when you press Enter

Иинкрем, поиск    "SEARCH" button    A table can act as a filtering management tool if it is specified as a data source when configuring a button with the [SEARCH] action. In order for filtering to change synchronously with moving through the rows of the table, specify the button responsible for searching the data in this property.

Colleagues, please be patient. Once I have completely transferred the contents of the beginner's tutorial to hyperbook format, I will translate it into English. Now there are many clarifications, additions and corrections to these materials, so English-speaking readers will be more lucky - they will immediately receive better information. But a little later.

Дата и время (TdbDateTimePicker)
https://k245.ru/wp-content/uploads/2023/08/i5.png
Для ввода даты или времени используется универсальный компонент DateTimePicker. Начиная с версии 5.3. его можно настроить для одновременного ввода и даты и времени.

Компонент состоит из поля ввода значения и кнопок: кнопки открытия календаря или кнопок изменения значений для времени. При нажатии кнопки открытия календаря отображается форма для выбора даты.
https://k245.ru/mvdb/data-i-vremya.html

vovka3003 wrote:

Меня вот это стебануло))

https://i.imgur.com/sN1ZFPX.png

Бесплатный сыр, мля...

Забавные переводы на русский язык? )))

269

(23 replies, posted in Script)

I understand why colleagues are interested this book: such a trick looks like a hack)))

Выпадающий список (TdbComboBox)
https://k245.ru/wp-content/uploads/2023/08/i5.png
Справочные поля хранят не сами значения, а ссылку на значение в другой таблице. Для редактирования таких полей используется выпадающий список (Combo Box).
https://k245.ru/mvdb/vypadayushhij-spis … bobox.html

Форум про MVDB и его возможности, а вы пытаетесь узнать у нас особенности работы сторонних программ. Формулируйте правильно ваши вопросы.

Насколько я понял, для подключения нужно ручками вбить ID и пароль в одну из форм RustDesk, которая появляется при запуске данной программы. Никаких других способов передать данные в RustDesk я не обнаружил.


В теории, можно передать что-угодно любому оконному элементу запущенной программы, например, полю ввода ID или пароля, но в MVDB нет нужных механизмов. Или о них мне неизвестно.

273

(11 replies, posted in General)

An implementation is missing for an assertion, and a few right key words are missing for a request for help.

StrToDate может выдавать ошибку, если содержимое ячейки по каким-то причинам не является датой. Рекомендую добавить проверку:

...
if ValidDate(MainFrm.tablegrid3.Cells[2, vrow]) and (StrToDate(MainFrm.tablegrid3.Cells[2, vrow]) < Now - 1) then
...

Почитал по ссылке. Не увидел в документации, что RustDesk можно запустить с параметрами, содержащими ID и пароль.