<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[My Visual Database — Отображение активных пользователей - "Кто онлайн"]]></title>
		<link>https://myvisualdatabase.com/forum/viewtopic.php?id=9001</link>
		<atom:link href="https://myvisualdatabase.com/forum/extern.php?action=feed&amp;tid=9001&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in Отображение активных пользователей - "Кто онлайн".]]></description>
		<lastBuildDate>Mon, 22 Jul 2024 06:35:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Отображение активных пользователей - "Кто онлайн"]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=51260#p51260</link>
			<description><![CDATA[<p>1. Чтобы сделать решение независимым от СУБД, придется использовать решение, которое все же будет &quot;напрягать&quot; программу, в некотором смысле.&nbsp; Добавление поля on_line - самое простое решение, но у него есть недостаток: в случае аварийного завершения программы пользователь так и останется отмеченным он-лайн. Если требуется более достоверная информация, то это поле нужно сделать типа DateTime, а приложение должно обновлять его каждую минуту (по таймеру). В этом случае можно определять подключенных пользователей с точностью в одну минуту. Но есть тут подводный камень: для MySQL все будет точно, так как время в базу будет записываться серверное, а вот в SQLite каждый компьютер будет записывать своё локальное время.</p><br /><p>2. Контроль числа запущенных экземпляров правильно бы сделать на мьютексах, но их в MVDB нет, остается вариант с поиском запущенной копии по заголовку окна.</p><div class="codebox"><pre><code>// Не мьютекс, но работает почти всегда)))
// Проверка заголовка главной формы

const
  APP_NAME = &#039;My App Name&#039;;

procedure Form1_OnShow(Sender: string; Action: string);
begin
  Form1.Caption := &#039;&#039;;
  if FindWindow(nil, APP_NAME) &lt;&gt; 0 then
  begin
    ShowMessage(&#039;Application is already launched.&#039;);
    Form1.Close;
  end;
  Form1.Caption := APP_NAME;
end;</code></pre></div><br /><p>Этот пример и другие решения можно найти в &quot;Руководство разработчика&quot; - это база знаний, куда вы сможете добавлять свои собственные находки.<br /><a href="https://k245.ru/software-ru/is-ru/rukovodstvo-razrabotchika.html">https://k245.ru/software-ru/is-ru/rukov … chika.html</a></p>]]></description>
			<author><![CDATA[null@example.com (k245)]]></author>
			<pubDate>Mon, 22 Jul 2024 06:35:06 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=51260#p51260</guid>
		</item>
		<item>
			<title><![CDATA[Re: Отображение активных пользователей - "Кто онлайн"]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=51259#p51259</link>
			<description><![CDATA[<div class="quotebox"><cite>derek wrote:</cite><blockquote><p>Hi,<br />If you want to display who is currently using your program, this implies that your users actually sign-in to your program, possibly using the standard &#039;role based&#039; functionality built in to MVD.<br />Working on this assumption, you could:<br />1.&nbsp; &nbsp;add a new field to the &#039;_user&#039; table (for examle &#039;on_line&#039; - type of boolean) <br />2.&nbsp; &nbsp;in a simple script, set &#039;on_line&#039; to 1 when a user logs in and set &#039;on_line&#039; to 0 when a user logs out.<br />3.&nbsp; use a tool such as DB Browser to interrogate the relevant sqlite.db.(or write another MVD program that shares the sqlite.db to display who is logged on).<br />4.&nbsp; using the &#039;on_line&#039; field in the &#039;_user&#039; table to count how many users are online, you could display a message to show the program is already in use.<br />Derek.</p></blockquote></div><p> Спасибо DEREK<br />А можно предоставить пример, если Вас не затруднит.<br /> И возможно такое что через определенное количество минут обновлялся статус (кто онлайн) у пользователей.</p>]]></description>
			<author><![CDATA[null@example.com (Новичок)]]></author>
			<pubDate>Mon, 22 Jul 2024 01:25:12 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=51259#p51259</guid>
		</item>
		<item>
			<title><![CDATA[Re: Отображение активных пользователей - "Кто онлайн"]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=51257#p51257</link>
			<description><![CDATA[<p>Hi,<br />If you want to display who is currently using your program, this implies that your users actually sign-in to your program, possibly using the standard &#039;role based&#039; functionality built in to MVD.<br />Working on this assumption, you could:<br />1.&nbsp; &nbsp;add a new field to the &#039;_user&#039; table (for examle &#039;on_line&#039; - type of boolean) <br />2.&nbsp; &nbsp;in a simple script, set &#039;on_line&#039; to 1 when a user logs in and set &#039;on_line&#039; to 0 when a user logs out.<br />3.&nbsp; use a tool such as DB Browser to interrogate the relevant sqlite.db.(or write another MVD program that shares the sqlite.db to display who is logged on).<br />4.&nbsp; using the &#039;on_line&#039; field in the &#039;_user&#039; table to count how many users are online, you could display a message to show the program is already in use.<br />Derek.</p>]]></description>
			<author><![CDATA[null@example.com (derek)]]></author>
			<pubDate>Sun, 21 Jul 2024 14:24:16 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=51257#p51257</guid>
		</item>
		<item>
			<title><![CDATA[Отображение активных пользователей - "Кто онлайн"]]></title>
			<link>https://myvisualdatabase.com/forum/viewtopic.php?pid=51256#p51256</link>
			<description><![CDATA[<p>Здравствуйте, может у кого то есть уже такие проекты.</p><p>Каким способом можно отображать активных участников у которых запущена программа и не нагружая саму программу.<br />1. Отображать кто сейчас находится в программе (у кого открыто приложение);<br />2. Запретить запуск более одной программы на компьютере.</p>]]></description>
			<author><![CDATA[null@example.com (Новичок)]]></author>
			<pubDate>Sun, 21 Jul 2024 06:10:37 +0000</pubDate>
			<guid>https://myvisualdatabase.com/forum/viewtopic.php?pid=51256#p51256</guid>
		</item>
	</channel>
</rss>
