<?xml version="1.0" encoding="iso-8859-9" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="https://syndication.webwiz.net/rss_namespace/">
 <channel>
  <title>Clomosy | Forum : metin &quot;10 Kullanci&quot; ve nokta ayni satir degil</title>
  <link>https://forum.clomosy.com.tr/</link>
  <description><![CDATA[XML içerik linki; Clomosy | Forum : Genel &#304;&#351;lemler : metin &quot;10 Kullanci&quot; ve nokta ayni satir degil]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Thu, 16 Jul 2026 19:42:15 +0000</pubDate>
  <lastBuildDate>Thu, 16 Jul 2026 17:10:16 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.07</generator>
  <ttl>30</ttl>
  <WebWizForums:feedURL>https://forum.clomosy.com.tr/RSS_post_feed.asp?TID=1618</WebWizForums:feedURL>
  <image>
   <title><![CDATA[Clomosy | Forum]]></title>
   <url>https://forum.clomosy.com.tr/forum_images/logo.png</url>
   <link>https://forum.clomosy.com.tr/</link>
  </image>
  <item>
   <title><![CDATA[metin &quot;10 Kullanci&quot; ve nokta ayni satir degil : &#304;yi &#231;al&#305;&#351;malar dilerimvar MembersForm...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1618&amp;PID=3740#3740</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=249">kayra12</a><br /><strong>Konu:</strong> 1618<br /><strong>Gönderim Zamaný:</strong> 16&nbsp;Temmuz&nbsp;2026 Saat 17:10<br /><br /><div>&nbsp; Ýyi çalýþmalar dilerim&nbsp;</div><div>var</div><div>&nbsp; MembersForm : TclForm;</div><div>&nbsp; ScrollBox : TCLVertScrollBox;</div><div>&nbsp; ShellContainer : TclLayout;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Layouts de la page (Déclarés dans l'ordre inverse pour le rendu alTop)</div><div>&nbsp; UserListContainer : TclLayout;</div><div>&nbsp; FilterLayout : TclLayout;</div><div>&nbsp; SearchLayout : TclLayout;</div><div>&nbsp; HeaderLayout,HeaderLayoutactif,layout2,layout3,layout4 : TclLayout;</div><div>&nbsp; StatusBarLayout : TclLayout;</div><div><br></div><div>&nbsp; // Éléments du Header</div><div>&nbsp; BtnBack : TclProButton;</div><div>&nbsp; BtnAddUser : TclProButton;</div><div>&nbsp; LblHeaderTitle,label1,label2,label3,label4 : TclProLabel;</div><div>&nbsp; DotCyan, DotGreen, DotOrange : TclProPanel;</div><div>&nbsp; TimerPulsation : TclTimer;</div><div>&nbsp; PulsationState : Boolean; // Variable pour suivre l'état de l'effet de respiration</div><div><br></div><div>&nbsp; // Zone de recherche</div><div>&nbsp; SearchEdit : TclProEdit;</div><div><br></div><div>&nbsp; // Filtres</div><div>&nbsp; BtnFilterAll, BtnFilterAdmin, BtnFilterDepot, BtnFilterSekreter : TclProButton;</div><div><br></div><div>&nbsp; // Cartes Utilisateurs</div><div>&nbsp; UserCard1, UserCard2, UserCard3 : TclProPanel;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Barre de navigation inférieure (Tab Bar)</div><div>&nbsp; TabBarLayout : TclLayout;</div><div>&nbsp; BtnTabDash, BtnTabUsers, BtnTabStock, BtnTabReports, BtnTabSettings : TclProButton;</div><div><br></div><div>// ---------------------------------------------------------</div><div>// COMPOSANT MODULAIRE : GÉNÉRATEUR DE CARTES UTILISATEUR (UserCard)</div><div>// ---------------------------------------------------------</div><div>function CreateUserCard(AParent : TObject; AName, AFullName, ARole, AInitials, AStatusColor, AAvatarBgColor : String) : TclProPanel;</div><div>var</div><div>&nbsp; CardPanel, AvatarPanel, StatusDot : TclProPanel;</div><div>&nbsp; LblInitials, LblName, LblRole : TclProLabel;</div><div>&nbsp; TextLayout : TclLayout;</div><div>&nbsp; BtnDelete : TclProButton;</div><div>{</div><div>&nbsp; CardPanel = MembersForm.AddNewProPanel(AParent, AName);</div><div>&nbsp; CardPanel.Align = alTop;</div><div>&nbsp; CardPanel.Height = 72;</div><div>&nbsp; CardPanel.Margins.Left = 4;</div><div>&nbsp; CardPanel.Margins.Right = 4;</div><div>&nbsp; CardPanel.Margins.Top = 8;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Styles de la carte (Navy dark, bordure acier)</div><div>&nbsp; CardPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; CardPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; CardPanel.clProSettings.BorderWidth = 1;</div><div>&nbsp; CardPanel.clProSettings.RoundWidth = 14;</div><div>&nbsp; CardPanel.clProSettings.RoundHeight = 14;</div><div>&nbsp; CardPanel.SetclProSettings(CardPanel.clProSettings);</div><div><br></div><div>&nbsp; // 1. Avatar de l'utilisateur (Rond à gauche)</div><div>&nbsp; AvatarPanel = MembersForm.AddNewProPanel(CardPanel, AName + '_Avatar');</div><div>&nbsp; AvatarPanel.Align = alLeft;</div><div>&nbsp; AvatarPanel.Width = 44;</div><div>&nbsp; AvatarPanel.Height = 44;</div><div>&nbsp; AvatarPanel.Margins.Left = 12;</div><div>&nbsp; AvatarPanel.Margins.Top = 14;</div><div>&nbsp; AvatarPanel.Margins.Bottom = 14;</div><div>&nbsp; AvatarPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(AAvatarBgColor);</div><div>&nbsp; AvatarPanel.clProSettings.RoundWidth = 22;</div><div>&nbsp; AvatarPanel.clProSettings.RoundHeight = 22;</div><div>&nbsp; AvatarPanel.SetclProSettings(AvatarPanel.clProSettings);</div><div><br></div><div>&nbsp; LblInitials = MembersForm.AddNewProLabel(AvatarPanel, AName + '_Initials', AInitials);</div><div>&nbsp; LblInitials.Align = alCenter;</div><div>&nbsp; LblInitials.Width = 22;</div><div>&nbsp; LblInitials.Height = 20;</div><div>&nbsp; LblInitials.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');</div><div>&nbsp; LblInitials.clProSettings.FontSize = 14;</div><div>&nbsp; LblInitials.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; LblInitials.SetclProSettings(LblInitials.clProSettings);</div><div><br></div><div>&nbsp; // 2. Zone des textes (Nom &amp; Rôle)</div><div>&nbsp; TextLayout = MembersForm.AddNewLayout(CardPanel, AName + '_TextLay');</div><div>&nbsp; TextLayout.Align = alLeft;</div><div>&nbsp; TextLayout.Width = 160;</div><div>&nbsp; TextLayout.Margins.Left = 12;</div><div><br></div><div>&nbsp; LblName = MembersForm.AddNewProLabel(TextLayout, AName + '_Name', AFullName);</div><div>&nbsp; LblName.Align = alTop;</div><div>&nbsp; LblName.Height = 20;</div><div>&nbsp; LblName.Margins.Top = 16;</div><div>&nbsp; LblName.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; LblName.clProSettings.FontSize = 14;</div><div>&nbsp; LblName.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; LblName.SetclProSettings(LblName.clProSettings);</div><div><br></div><div>&nbsp; LblRole = MembersForm.AddNewProLabel(TextLayout, AName + '_Role', ARole);</div><div>&nbsp; LblRole.Align = alTop;</div><div>&nbsp; LblRole.Height = 16;</div><div>&nbsp; LblRole.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; LblRole.clProSettings.FontSize = 11;</div><div>&nbsp; LblRole.SetclProSettings(LblRole.clProSettings);</div><div><br></div><div>&nbsp; // 3. Bouton d'action à droite (Corbeille de suppression)</div><div>&nbsp; BtnDelete = MembersForm.AddNewProButton(CardPanel, AName + '_BtnDel', '');</div><div>&nbsp; BtnDelete.Align = alRight;</div><div>&nbsp; BtnDelete.Width = 30;</div><div>&nbsp; BtnDelete.Height = 30;</div><div>&nbsp; BtnDelete.Margins.Right = 12;</div><div>&nbsp; BtnDelete.Margins.Top = 21;</div><div>&nbsp; BtnDelete.Margins.Bottom = 21;</div><div>&nbsp; BtnDelete.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ff4d6a15'); // Fond rouge transparent</div><div>&nbsp; BtnDelete.clProSettings.RoundWidth = 8;</div><div>&nbsp; BtnDelete.clProSettings.RoundHeight = 8;</div><div>&nbsp; // Icône de suppression blanche/rouge</div><div>&nbsp; MembersForm.SetImage(BtnDelete, '<a href="https://raw.githubuserc&#111;ntent.com/Barthez2023/Artificial_Intelligence/main/clomosyImage/img10.png" target="_blank" rel="nofollow">https://raw.githubusercontent.com/Barthez2023/Artificial_Intelligence/main/clomosyImage/img10.png</a>');</div><div>&nbsp; BtnDelete.SetclProSettings(BtnDelete.clProSettings);</div><div><br></div><div>&nbsp; // 4. Point indicateur de statut en ligne / hors ligne (Glow Dot)</div><div>&nbsp; StatusDot = MembersForm.AddNewProPanel(CardPanel, AName + '_StatusDot');</div><div>&nbsp; StatusDot.Align = alRight;</div><div>&nbsp; StatusDot.Width = 8;</div><div>&nbsp; StatusDot.Height = 8;</div><div>&nbsp; StatusDot.Margins.Right = 16;</div><div>&nbsp; StatusDot.Margins.Top = 32;</div><div>&nbsp; StatusDot.Margins.Bottom = 32;</div><div>&nbsp; StatusDot.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(AStatusColor);</div><div>&nbsp; StatusDot.clProSettings.RoundWidth = 4;</div><div>&nbsp; StatusDot.clProSettings.RoundHeight = 4;</div><div>&nbsp; StatusDot.SetclProSettings(StatusDot.clProSettings);</div><div><br></div><div>&nbsp; Result = CardPanel;</div><div>}</div><div><br></div><div>// ---------------------------------------------------------</div><div>// ACTIONS &amp; ÉVÉNEMENTS</div><div>// ---------------------------------------------------------</div><div>void OnBackClick;</div><div>{</div><div>&nbsp; MembersForm.Close;</div><div>}</div><div><br></div><div>void OnAddUserClick;</div><div>{</div><div>&nbsp; ShowMessage('Ouverture du formulaire d''ajout de membre...');</div><div>}</div><div><br></div><div>void OnTimerRespiration;</div><div>{</div><div>&nbsp; if (PulsationState)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; // Étape basse : On atténue la luminosité en ajoutant de la transparence ('40' à la fin du code Hexa)</div><div>&nbsp; &nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff40');</div><div>&nbsp; &nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade8040');</div><div>&nbsp; &nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c40');</div><div>&nbsp; &nbsp; PulsationState = False;</div><div>&nbsp; }</div><div>&nbsp; else</div><div>&nbsp; {</div><div>&nbsp; &nbsp; // Étape haute : On restaure la pleine opacité d'origine</div><div>&nbsp; &nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff');</div><div>&nbsp; &nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; &nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; &nbsp; PulsationState = True;</div><div>&nbsp; }</div><div><br></div><div>&nbsp; // Mise à jour indispensable du rendu visuel de chaque point</div><div>&nbsp; DotCyan.SetclProSettings(DotCyan.clProSettings);</div><div>&nbsp; DotGreen.SetclProSettings(DotGreen.clProSettings);</div><div>&nbsp; DotOrange.SetclProSettings(DotOrange.clProSettings);</div><div>}</div><div><br></div><div>// ---------------------------------------------------------</div><div>// INITIALISATION DE LA PAGE GESTION DES MEMBRES</div><div>// ---------------------------------------------------------</div><div>{</div><div>&nbsp; MembersForm = TclForm.Create(Self);</div><div>&nbsp; MembersForm.SetFormColor('#080d14', '#080d14', clGVertical);</div><div><br></div><div>&nbsp; ScrollBox = MembersForm.AddNewVertScrollBox(MembersForm, 'ScrollBox');</div><div>&nbsp; ScrollBox.Align = alClient;</div><div><br></div><div>&nbsp; ShellContainer = MembersForm.AddNewLayout(ScrollBox, 'ShellContainer');</div><div>&nbsp; ShellContainer.Align = alTop;</div><div>&nbsp; ShellContainer.Height = 812;</div><div>&nbsp; ShellContainer.Margins.Left = 16;</div><div>&nbsp; ShellContainer.Margins.Right = 16;</div><div>&nbsp; ShellContainer.Margins.Top = 10;</div><div><br></div><div>&nbsp; // =========================================================================</div><div>&nbsp; // ORDRE DE RENDU INVERSÉ ALTOP (Du bas vers le haut)</div><div>&nbsp; // =========================================================================</div><div><br></div><div>&nbsp; // &#091; ÉTAPE 4 : LISTE DES UTILISATEURS (User List Container) &#093;</div><div>&nbsp; UserListContainer = MembersForm.AddNewLayout(ShellContainer, 'UserListContainer');</div><div>&nbsp; UserListContainer.Align = alTop;</div><div>&nbsp; UserListContainer.Height = 400;</div><div>&nbsp; UserListContainer.Margins.Top = 10;</div><div><br></div><div>&nbsp; // Injection des membres avec notre générateur modulaire</div><div>&nbsp; UserCard1 = CreateUserCard(UserListContainer, 'UserAli', 'Ali Yýlmaz', 'Administrateur', 'AY', '#22c55e', '#1d4ed8');</div><div>&nbsp; UserCard2 = CreateUserCard(UserListContainer, 'UserAyse', 'Ayþe Demir', 'Dépôt Sorumlusu', 'AD', '#22c55e', '#a855f7');</div><div>&nbsp; UserCard3 = CreateUserCard(UserListContainer, 'UserMehmet', 'Mehmet Kaya', 'Secrétaire', 'MK', '#ff4d6a', '#dd7b40');</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 3 : BARRE DE FILTRES RAPIDES &#093;</div><div>&nbsp; FilterLayout = MembersForm.AddNewLayout(ShellContainer, 'FilterLayout');</div><div>&nbsp; FilterLayout.Align = alTop;</div><div>&nbsp; FilterLayout.Height = 40;</div><div>&nbsp; FilterLayout.Margins.Top = 12;</div><div><br></div><div>&nbsp; BtnFilterAll = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterAll', 'Tous');</div><div>&nbsp; BtnFilterAll.Align = alLeft; BtnFilterAll.Width = 65; BtnFilterAll.Height = 32;</div><div>&nbsp; BtnFilterAll.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff'); // Filtre Actif</div><div>&nbsp; BtnFilterAll.clProSettings.FontColor = clAlphaColor.clHexToColor('#080d14');</div><div>&nbsp; BtnFilterAll.clProSettings.FontSize = 11; BtnFilterAll.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; BtnFilterAll.clProSettings.RoundWidth = 8; BtnFilterAll.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterAll.SetclProSettings(BtnFilterAll.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterAdmin = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterAdmin', 'Admins');</div><div>&nbsp; BtnFilterAdmin.Align = alLeft; BtnFilterAdmin.Width = 75; BtnFilterAdmin.Height = 32; BtnFilterAdmin.Margins.Left = 6;</div><div>&nbsp; BtnFilterAdmin.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterAdmin.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterAdmin.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterAdmin.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterAdmin.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterAdmin.clProSettings.RoundWidth = 8; BtnFilterAdmin.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterAdmin.SetclProSettings(BtnFilterAdmin.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterDepot = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterDepot', 'Dépôt');</div><div>&nbsp; BtnFilterDepot.Align = alLeft; BtnFilterDepot.Width = 75; BtnFilterDepot.Height = 32; BtnFilterDepot.Margins.Left = 6;</div><div>&nbsp; BtnFilterDepot.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterDepot.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterDepot.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterDepot.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterDepot.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterDepot.clProSettings.RoundWidth = 8; BtnFilterDepot.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterDepot.SetclProSettings(BtnFilterDepot.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterSekreter = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterSekreter', 'Secrétaires');</div><div>&nbsp; BtnFilterSekreter.Align = alClient; BtnFilterSekreter.Height = 32; BtnFilterSekreter.Margins.Left = 6;</div><div>&nbsp; BtnFilterSekreter.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterSekreter.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterSekreter.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterSekreter.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterSekreter.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterSekreter.clProSettings.RoundWidth = 8; BtnFilterSekreter.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterSekreter.SetclProSettings(BtnFilterSekreter.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 2 : BARRE DE RECHERCHE (SearchEdit) &#093;</div><div>&nbsp; SearchLayout = MembersForm.AddNewLayout(ShellContainer, 'SearchLayout');</div><div>&nbsp; SearchLayout.Align = alTop;</div><div>&nbsp; SearchLayout.Height = 46;</div><div>&nbsp; SearchLayout.Margins.Top = 12;</div><div><br></div><div>&nbsp; SearchEdit = MembersForm.AddNewProEdit(SearchLayout, 'SearchEdit', 'Rechercher un membre...');</div><div>&nbsp; SearchEdit.Align = alClient;</div><div>&nbsp; SearchEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; SearchEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; SearchEdit.clProSettings.BorderWidth = 1;</div><div>&nbsp; SearchEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; SearchEdit.clProSettings.FontSize = 12;</div><div>&nbsp; SearchEdit.clProSettings.RoundWidth = 10; SearchEdit.clProSettings.RoundHeight = 10;</div><div>&nbsp; SearchEdit.SetclProSettings(SearchEdit.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 1 : HEADER GESTION DES MEMBRES &#093;</div><div>&nbsp; HeaderLayout = MembersForm.AddNewLayout(ShellContainer, 'HeaderLayout');</div><div>&nbsp; HeaderLayout.Align = alTop;</div><div>&nbsp; HeaderLayout.Height = 55;</div><div><br></div><div>&nbsp; // Bouton Retour (Gauche)</div><div>&nbsp; label1 = MembersForm.AddNewProLabel(HeaderLayout, 'label1', 'GESTIONNAIRES DES UTILISATEURS');</div><div>&nbsp; label1.Align = alTop;</div><div>&nbsp; label1.Margins.Left = 14;&nbsp;</div><div>&nbsp; label1.Margins.Top = 16;</div><div>&nbsp; label1.clProSettings.FontColor = clAlphaColor.clHexToColor('#446580');</div><div>&nbsp; label1.clProSettings.FontSize = 12;</div><div>&nbsp; label1.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label1.SetclProSettings(label1.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // Titre "MEMBRES" (Centre)</div><div>&nbsp; LblHeaderTitle = MembersForm.AddNewProLabel(HeaderLayout, 'LblHeaderTitle', 'Utilisateurs &amp; roles');</div><div>&nbsp; LblHeaderTitle.Align = alTop;</div><div>&nbsp; LblHeaderTitle.Margins.Left = 14;&nbsp;</div><div>&nbsp; LblHeaderTitle.Height = 40;</div><div>&nbsp; LblHeaderTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; LblHeaderTitle.clProSettings.FontSize = 30;</div><div>&nbsp; LblHeaderTitle.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; LblHeaderTitle.SetclProSettings(LblHeaderTitle.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // &#091; ÉTAPE x : HEADER GESTION DES MEMBRES actifs &#093;</div><div>&nbsp; HeaderLayoutactif = MembersForm.AddNewLayout(ShellContainer, 'HeaderLayoutactif');</div><div>&nbsp; HeaderLayoutactif.Align = alTop;</div><div>&nbsp; HeaderLayoutactif.Height = 55;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // ======================================================</div><div>&nbsp; // LAYOUT 2 (Toplam Kullanýcý) - KUSURSUZ HÝZALAMA VE NOKTA</div><div>&nbsp; // ======================================================</div><div>&nbsp; layout2 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout2');</div><div>&nbsp; layout2.Align = alLeft;</div><div>&nbsp; layout2.Height = 55;</div><div>&nbsp; layout2.Width = 120;&nbsp;</div><div>&nbsp; layout2.Margins.Left = 14;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Mavi Nokta</div><div>&nbsp; DotCyan = MembersForm.AddNewProPanel(layout2, 'DotCyan');</div><div>&nbsp; DotCyan.Align = alLeft;&nbsp;</div><div>&nbsp; DotCyan.Width = 8;&nbsp;</div><div>&nbsp; DotCyan.Height = 8;</div><div>&nbsp; DotCyan.Margins.Right = 6;</div><div>&nbsp; DotCyan.Margins.Top = 24; &nbsp; &nbsp; &nbsp;// Dikey ortalama için üst boþluk</div><div>&nbsp; DotCyan.Margins.Bottom = 23; &nbsp; // UZAMAYI ENGELLEYEN ALT BOÞLUK (55-24-23 = 8px yükseklik)</div><div>&nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff');&nbsp;</div><div>&nbsp; DotCyan.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotCyan.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotCyan.SetclProSettings(DotCyan.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp; label2 = MembersForm.AddNewProLabel(layout2, 'label2', '10 Kullanýcý');</div><div>&nbsp; label2.Align = alLeft;&nbsp;</div><div>&nbsp; label2.Width = 90;&nbsp;</div><div>&nbsp; label2.Height = 20;</div><div>&nbsp; label2.Margins.Top = 18; &nbsp; &nbsp; &nbsp; // Metin dikey merkezleme</div><div>&nbsp; label2.Margins.Bottom = 17; &nbsp; &nbsp;// Metin dikey merkezleme alt sýnýr</div><div>&nbsp; label2.clProSettings.FontColor = clAlphaColor.clHexToColor('#00d4ff');</div><div>&nbsp; label2.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label2.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label2.SetclProSettings(label2.clProSettings);</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; // ======================================================</div><div>&nbsp; // LAYOUT 3 (Aktif Kullanýcý) - KUSURSUZ HÝZALAMA VE NOKTA</div><div>&nbsp; // ======================================================</div><div>&nbsp; layout3 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout3');</div><div>&nbsp; layout3.Align = alLeft;</div><div>&nbsp; layout3.Height = 55;</div><div>&nbsp; layout3.Width = 110;&nbsp;</div><div>&nbsp; layout3.Margins.Left = 14;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Yeþil Nokta (Önce nokta, sonra yazý eklendi)</div><div>&nbsp; DotGreen = MembersForm.AddNewProPanel(layout3, 'DotGreen');</div><div>&nbsp; DotGreen.Align = alLeft;&nbsp;</div><div>&nbsp; DotGreen.Width = 8;&nbsp;</div><div>&nbsp; DotGreen.Height = 8;</div><div>&nbsp; DotGreen.Margins.Right = 6;</div><div>&nbsp; DotGreen.Margins.Top = 24; &nbsp; &nbsp; &nbsp;// Dikey ortalama için üst boþluk</div><div>&nbsp; DotGreen.Margins.Bottom = 23; &nbsp; // UZAMAYI ENGELLEYEN ALT BOÞLUK (55-24-23 = 8px yükseklik)</div><div>&nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; DotGreen.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotGreen.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotGreen.SetclProSettings(DotGreen.clProSettings);</div><div><br></div><div>&nbsp; label3 = MembersForm.AddNewProLabel(layout3, 'label3', '5 Aktif');</div><div>&nbsp; label3.Align = alLeft;&nbsp;</div><div>&nbsp; label3.Width = 80;&nbsp;</div><div>&nbsp; label3.Height = 20;</div><div>&nbsp; label3.Margins.Top = 18; &nbsp; &nbsp; &nbsp; // Metin dikey merkezleme</div><div>&nbsp; label3.Margins.Bottom = 17; &nbsp; &nbsp;// Metin dikey merkezleme alt sýnýr</div><div>&nbsp; label3.clProSettings.FontColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; label3.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label3.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label3.SetclProSettings(label3.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // ======================================================</div><div>&nbsp; // LAYOUT 4 (Ýnaktif Kullanýcý) - KUSURSUZ HÝZALAMA VE NOKTA</div><div>&nbsp; // ======================================================</div><div>&nbsp; layout4 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout4');</div><div>&nbsp; layout4.Align = alLeft;</div><div>&nbsp; layout4.Height = 55;</div><div>&nbsp; layout4.Width = 110;&nbsp;</div><div>&nbsp; layout4.Margins.Left = 14;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Turuncu Nokta (Önce nokta, sonra yazý eklendi)</div><div>&nbsp; DotOrange = MembersForm.AddNewProPanel(layout4, 'DotOrange');</div><div>&nbsp; DotOrange.Align = alLeft;&nbsp;</div><div>&nbsp; DotOrange.Width = 8;&nbsp;</div><div>&nbsp; DotOrange.Height = 8;</div><div>&nbsp; DotOrange.Margins.Right = 6;</div><div>&nbsp; DotOrange.Margins.Top = 24; &nbsp; &nbsp; &nbsp;// Dikey ortalama için üst boþluk</div><div>&nbsp; DotOrange.Margins.Bottom = 23; &nbsp; // UZAMAYI ENGELLEYEN ALT BOÞLUK (55-24-23 = 8px yükseklik)</div><div>&nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; DotOrange.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotOrange.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotOrange.SetclProSettings(DotOrange.clProSettings);</div><div><br></div><div>&nbsp; label4 = MembersForm.AddNewProLabel(layout4, 'label4', '5 Ýnaktif');</div><div>&nbsp; label4.Align = alLeft;&nbsp;</div><div>&nbsp; label4.Width = 80;&nbsp;</div><div>&nbsp; label4.Height = 20;</div><div>&nbsp; label4.Margins.Top = 18; &nbsp; &nbsp; &nbsp; // Metin dikey merkezleme</div><div>&nbsp; label4.Margins.Bottom = 17; &nbsp; &nbsp;// Metin dikey merkezleme alt sýnýr</div><div>&nbsp; label4.clProSettings.FontColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; label4.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label4.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label4.SetclProSettings(label4.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // --- CONFIGURATION DU TIMER DE RESPIRATION ---</div><div>&nbsp; PulsationState = True;</div><div>&nbsp; TimerPulsation = MembersForm.AddNewTimer(MembersForm, 'TimerPulsation', 750); // Toutes les 750ms pour une transition douce</div><div>&nbsp; TimerPulsation.Enabled = True;</div><div>&nbsp; MembersForm.AddNewEvent(TimerPulsation, tbeOnTimer, 'OnTimerRespiration');</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; // &#091; ÉTAPE 0 : BARRE D'ÉTAT SYSTÈME (Status Bar) &#093;</div><div>&nbsp; StatusBarLayout = MembersForm.AddNewLayout(ShellContainer, 'StatusBarLayout');</div><div>&nbsp; StatusBarLayout.Align = alTop;</div><div>&nbsp; StatusBarLayout.Height = 35;</div><div><br></div><div><br></div><div>&nbsp; // =========================================================================</div><div>&nbsp; // BARRE DE NAVIGATION INFÉRIEURE (Tab Bar Active sur "Users")</div><div>&nbsp; // =========================================================================</div><div>&nbsp; TabBarLayout = MembersForm.AddNewLayout(MembersForm, 'TabBarLayout');</div><div>&nbsp; TabBarLayout.Align = alBottom; TabBarLayout.Height = 58;</div><div>&nbsp;&nbsp;</div><div>&nbsp; BtnTabDash = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabDash', 'Dashboard');</div><div>&nbsp; BtnTabDash.Align = alLeft; BtnTabDash.Width = 74;</div><div>&nbsp; BtnTabDash.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabDash.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabDash.clProSettings.FontSize = 9;</div><div>&nbsp; BtnTabDash.SetclProSettings(BtnTabDash.clProSettings);</div><div><br></div><div>&nbsp; BtnTabUsers = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabUsers', 'Membres');</div><div>&nbsp; BtnTabUsers.Align = alLeft; BtnTabUsers.Width = 74;</div><div>&nbsp; BtnTabUsers.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabUsers.clProSettings.FontColor = clAlphaColor.clHexToColor('#00d4ff'); // Actif (Bleu Glowing)</div><div>&nbsp; BtnTabUsers.clProSettings.FontSize = 9;&nbsp;</div><div>&nbsp; BtnTabUsers.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; BtnTabUsers.SetclProSettings(BtnTabUsers.clProSettings);</div><div><br></div><div>&nbsp; BtnTabStock = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabStock', 'Stock');</div><div>&nbsp; BtnTabStock.Align = alLeft; BtnTabStock.Width = 74;</div><div>&nbsp; BtnTabStock.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabStock.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabStock.clProSettings.FontSize = 9; BtnTabStock.SetclProSettings(BtnTabStock.clProSettings);</div><div><br></div><div>&nbsp; BtnTabReports = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabReports', 'Reports');</div><div>&nbsp; BtnTabReports.Align = alLeft; BtnTabReports.Width = 74;</div><div>&nbsp; BtnTabReports.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabReports.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabReports.clProSettings.FontSize = 9; BtnTabReports.SetclProSettings(BtnTabReports.clProSettings);</div><div><br></div><div>&nbsp; BtnTabSettings = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabSettings', 'Settings');</div><div>&nbsp; BtnTabSettings.Align = alClient;</div><div>&nbsp; BtnTabSettings.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabSettings.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabSettings.clProSettings.FontSize = 9;&nbsp;</div><div>&nbsp; BtnTabSettings.SetclProSettings(BtnTabSettings.clProSettings);</div><div><br></div><div>&nbsp; MembersForm.Run;&nbsp;</div><div>&nbsp;&nbsp;</div><div>}</div><div><br></div><a href="https://static.cloudflareinsights.com/beac&#111;n.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" target="_blank" rel="nofollow">https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496"</a> integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;439455f3e46c40b98dbd42a2f1a954d8&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous">]]>
   </description>
   <pubDate>Thu, 16 Jul 2026 17:10:16 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1618&amp;PID=3740#3740</guid>
  </item> 
  <item>
   <title><![CDATA[metin &quot;10 Kullanci&quot; ve nokta ayni satir degil : var MembersForm : TclForm; ScrollBox...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1618&amp;PID=3739#3739</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=476">Barthe_dev</a><br /><strong>Konu:</strong> 1618<br /><strong>Gönderim Zamaný:</strong> 16&nbsp;Temmuz&nbsp;2026 Saat 16:57<br /><br /><div>var</div><div>&nbsp; MembersForm : TclForm;</div><div>&nbsp; ScrollBox : TCLVertScrollBox;</div><div>&nbsp; ShellContainer : TclLayout;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Layouts de la page (Déclarés dans l'ordre inverse pour le rendu alTop)</div><div>&nbsp; UserListContainer : TclLayout;</div><div>&nbsp; FilterLayout : TclLayout;</div><div>&nbsp; SearchLayout : TclLayout;</div><div>&nbsp; HeaderLayout,HeaderLayoutactif,layout2,layout3,layout4 : TclLayout;</div><div>&nbsp; StatusBarLayout : TclLayout;</div><div><br></div><div>&nbsp; // Éléments du Header</div><div>&nbsp; BtnBack : TclProButton;</div><div>&nbsp; BtnAddUser : TclProButton;</div><div>&nbsp; LblHeaderTitle,label1,label2,label3,label4 : TclProLabel;</div><div>&nbsp; DotCyan, DotGreen, DotOrange : TclProPanel;</div><div>&nbsp; TimerPulsation : TclTimer;</div><div>&nbsp; PulsationState : Boolean; // Variable pour suivre l'état de l'effet de respiration</div><div><br></div><div>&nbsp; // Zone de recherche</div><div>&nbsp; SearchEdit : TclProEdit;</div><div><br></div><div>&nbsp; // Filtres</div><div>&nbsp; BtnFilterAll, BtnFilterAdmin, BtnFilterDepot, BtnFilterSekreter : TclProButton;</div><div><br></div><div>&nbsp; // Cartes Utilisateurs</div><div>&nbsp; UserCard1, UserCard2, UserCard3 : TclProPanel;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Barre de navigation inférieure (Tab Bar)</div><div>&nbsp; TabBarLayout : TclLayout;</div><div>&nbsp; BtnTabDash, BtnTabUsers, BtnTabStock, BtnTabReports, BtnTabSettings : TclProButton;</div><div><br></div><div>// ---------------------------------------------------------</div><div>// COMPOSANT MODULAIRE : GÉNÉRATEUR DE CARTES UTILISATEUR (UserCard)</div><div>// ---------------------------------------------------------</div><div>function CreateUserCard(AParent : TObject; AName, AFullName, ARole, AInitials, AStatusColor, AAvatarBgColor : String) : TclProPanel;</div><div>var</div><div>&nbsp; CardPanel, AvatarPanel, StatusDot : TclProPanel;</div><div>&nbsp; LblInitials, LblName, LblRole : TclProLabel;</div><div>&nbsp; TextLayout : TclLayout;</div><div>&nbsp; BtnDelete : TclProButton;</div><div>{</div><div>&nbsp; CardPanel = MembersForm.AddNewProPanel(AParent, AName);</div><div>&nbsp; CardPanel.Align = alTop;</div><div>&nbsp; CardPanel.Height = 72;</div><div>&nbsp; CardPanel.Margins.Left = 4;</div><div>&nbsp; CardPanel.Margins.Right = 4;</div><div>&nbsp; CardPanel.Margins.Top = 8;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Styles de la carte (Navy dark, bordure acier)</div><div>&nbsp; CardPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; CardPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; CardPanel.clProSettings.BorderWidth = 1;</div><div>&nbsp; CardPanel.clProSettings.RoundWidth = 14;</div><div>&nbsp; CardPanel.clProSettings.RoundHeight = 14;</div><div>&nbsp; CardPanel.SetclProSettings(CardPanel.clProSettings);</div><div><br></div><div>&nbsp; // 1. Avatar de l'utilisateur (Rond à gauche)</div><div>&nbsp; AvatarPanel = MembersForm.AddNewProPanel(CardPanel, AName + '_Avatar');</div><div>&nbsp; AvatarPanel.Align = alLeft;</div><div>&nbsp; AvatarPanel.Width = 44;</div><div>&nbsp; AvatarPanel.Height = 44;</div><div>&nbsp; AvatarPanel.Margins.Left = 12;</div><div>&nbsp; AvatarPanel.Margins.Top = 14;</div><div>&nbsp; AvatarPanel.Margins.Bottom = 14;</div><div>&nbsp; AvatarPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(AAvatarBgColor);</div><div>&nbsp; AvatarPanel.clProSettings.RoundWidth = 22;</div><div>&nbsp; AvatarPanel.clProSettings.RoundHeight = 22;</div><div>&nbsp; AvatarPanel.SetclProSettings(AvatarPanel.clProSettings);</div><div><br></div><div>&nbsp; LblInitials = MembersForm.AddNewProLabel(AvatarPanel, AName + '_Initials', AInitials);</div><div>&nbsp; LblInitials.Align = alCenter;</div><div>&nbsp; LblInitials.Width = 22;</div><div>&nbsp; LblInitials.Height = 20;</div><div>&nbsp; LblInitials.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');</div><div>&nbsp; LblInitials.clProSettings.FontSize = 14;</div><div>&nbsp; LblInitials.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; //LblInitials.clProSettings.TextSettings.HorzAlign = clTextAlignCenter;</div><div>&nbsp; LblInitials.SetclProSettings(LblInitials.clProSettings);</div><div><br></div><div>&nbsp; // 2. Zone des textes (Nom &amp; Rôle)</div><div>&nbsp; TextLayout = MembersForm.AddNewLayout(CardPanel, AName + '_TextLay');</div><div>&nbsp; TextLayout.Align = alLeft;</div><div>&nbsp; TextLayout.Width = 160;</div><div>&nbsp; TextLayout.Margins.Left = 12;</div><div><br></div><div>&nbsp; LblName = MembersForm.AddNewProLabel(TextLayout, AName + '_Name', AFullName);</div><div>&nbsp; LblName.Align = alTop;</div><div>&nbsp; LblName.Height = 20;</div><div>&nbsp; LblName.Margins.Top = 16;</div><div>&nbsp; LblName.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; LblName.clProSettings.FontSize = 14;</div><div>&nbsp; LblName.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; LblName.SetclProSettings(LblName.clProSettings);</div><div><br></div><div>&nbsp; LblRole = MembersForm.AddNewProLabel(TextLayout, AName + '_Role', ARole);</div><div>&nbsp; LblRole.Align = alTop;</div><div>&nbsp; LblRole.Height = 16;</div><div>&nbsp; LblRole.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; LblRole.clProSettings.FontSize = 11;</div><div>&nbsp; LblRole.SetclProSettings(LblRole.clProSettings);</div><div><br></div><div>&nbsp; // 3. Bouton d'action à droite (Corbeille de suppression)</div><div>&nbsp; BtnDelete = MembersForm.AddNewProButton(CardPanel, AName + '_BtnDel', '');</div><div>&nbsp; BtnDelete.Align = alRight;</div><div>&nbsp; BtnDelete.Width = 30;</div><div>&nbsp; BtnDelete.Height = 30;</div><div>&nbsp; BtnDelete.Margins.Right = 12;</div><div>&nbsp; BtnDelete.Margins.Top = 21;</div><div>&nbsp; BtnDelete.Margins.Bottom = 21;</div><div>&nbsp; BtnDelete.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ff4d6a15'); // Fond rouge transparent</div><div>&nbsp; BtnDelete.clProSettings.RoundWidth = 8;</div><div>&nbsp; BtnDelete.clProSettings.RoundHeight = 8;</div><div>&nbsp; // Icône de suppression blanche/rouge</div><div>&nbsp; MembersForm.SetImage(BtnDelete, '<a href="https://raw.githubuserc&#111;ntent.com/Barthez2023/Artificial_Intelligence/main/clomosyImage/img10.png" target="_blank" rel="nofollow">https://raw.githubusercontent.com/Barthez2023/Artificial_Intelligence/main/clomosyImage/img10.png</a>');</div><div>&nbsp; BtnDelete.SetclProSettings(BtnDelete.clProSettings);</div><div><br></div><div>&nbsp; // 4. Point indicateur de statut en ligne / hors ligne (Glow Dot)</div><div>&nbsp; StatusDot = MembersForm.AddNewProPanel(CardPanel, AName + '_StatusDot');</div><div>&nbsp; StatusDot.Align = alRight;</div><div>&nbsp; StatusDot.Width = 8;</div><div>&nbsp; StatusDot.Height = 8;</div><div>&nbsp; StatusDot.Margins.Right = 16;</div><div>&nbsp; StatusDot.Margins.Top = 32;</div><div>&nbsp; StatusDot.Margins.Bottom = 32;</div><div>&nbsp; StatusDot.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(AStatusColor);</div><div>&nbsp; StatusDot.clProSettings.RoundWidth = 4;</div><div>&nbsp; StatusDot.clProSettings.RoundHeight = 4;</div><div>&nbsp; StatusDot.SetclProSettings(StatusDot.clProSettings);</div><div><br></div><div>&nbsp; Result = CardPanel;</div><div>}</div><div><br></div><div>// ---------------------------------------------------------</div><div>// ACTIONS &amp; ÉVÉNEMENTS</div><div>// ---------------------------------------------------------</div><div>void OnBackClick;</div><div>{</div><div>&nbsp; MembersForm.Close;</div><div>}</div><div><br></div><div>void OnAddUserClick;</div><div>{</div><div>&nbsp; ShowMessage('Ouverture du formulaire d''ajout de membre...');</div><div>}</div><div><br></div><div>void OnTimerRespiration;</div><div>{</div><div>&nbsp; if (PulsationState)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; // Étape basse : On atténue la luminosité en ajoutant de la transparence ('40' à la fin du code Hexa)</div><div>&nbsp; &nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff40');</div><div>&nbsp; &nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade8040');</div><div>&nbsp; &nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c40');</div><div>&nbsp; &nbsp; PulsationState = False;</div><div>&nbsp; }</div><div>&nbsp; else</div><div>&nbsp; &nbsp;{</div><div>&nbsp; &nbsp; // Étape haute : On restaure la pleine opacité d'origine</div><div>&nbsp; &nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff');</div><div>&nbsp; &nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; &nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; &nbsp; PulsationState = True;</div><div>&nbsp; }</div><div><br></div><div>&nbsp; // Mise à jour indispensable du rendu visuel de chaque point</div><div>&nbsp; DotCyan.SetclProSettings(DotCyan.clProSettings);</div><div>&nbsp; DotGreen.SetclProSettings(DotGreen.clProSettings);</div><div>&nbsp; DotOrange.SetclProSettings(DotOrange.clProSettings);</div><div>}</div><div><br></div><div>// ---------------------------------------------------------</div><div>// INITIALISATION DE LA PAGE GESTION DES MEMBRES</div><div>// ---------------------------------------------------------</div><div>{</div><div>&nbsp; MembersForm = TclForm.Create(Self);</div><div>&nbsp; MembersForm.SetFormColor('#080d14', '#080d14', clGVertical);</div><div><br></div><div>&nbsp; ScrollBox = MembersForm.AddNewVertScrollBox(MembersForm, 'ScrollBox');</div><div>&nbsp; ScrollBox.Align = alClient;</div><div><br></div><div>&nbsp; ShellContainer = MembersForm.AddNewLayout(ScrollBox, 'ShellContainer');</div><div>&nbsp; ShellContainer.Align = alTop;</div><div>&nbsp; ShellContainer.Height = 812;</div><div>&nbsp; ShellContainer.Margins.Left = 16;</div><div>&nbsp; ShellContainer.Margins.Right = 16;</div><div>&nbsp; ShellContainer.Margins.Top = 10;</div><div><br></div><div>&nbsp; // =========================================================================</div><div>&nbsp; // ORDRE DE RENDU INVERSÉ ALTOP (Du bas vers le haut)</div><div>&nbsp; // =========================================================================</div><div><br></div><div>&nbsp; // &#091; ÉTAPE 4 : LISTE DES UTILISATEURS (User List Container) &#093;</div><div>&nbsp; UserListContainer = MembersForm.AddNewLayout(ShellContainer, 'UserListContainer');</div><div>&nbsp; UserListContainer.Align = alTop;</div><div>&nbsp; UserListContainer.Height = 400;</div><div>&nbsp; UserListContainer.Margins.Top = 10;</div><div><br></div><div>&nbsp; // Injection des membres avec notre générateur modulaire</div><div>&nbsp; UserCard1 = CreateUserCard(UserListContainer, 'UserAli', 'Ali Yýlmaz', 'Administrateur', 'AY', '#22c55e', '#1d4ed8');</div><div>&nbsp; UserCard2 = CreateUserCard(UserListContainer, 'UserAyse', 'Ayþe Demir', 'Dépôt Sorumlusu', 'AD', '#22c55e', '#a855f7');</div><div>&nbsp; UserCard3 = CreateUserCard(UserListContainer, 'UserMehmet', 'Mehmet Kaya', 'Secrétaire', 'MK', '#ff4d6a', '#dd7b40');</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 3 : BARRE DE FILTRES RAPIDES &#093;</div><div>&nbsp; FilterLayout = MembersForm.AddNewLayout(ShellContainer, 'FilterLayout');</div><div>&nbsp; FilterLayout.Align = alTop;</div><div>&nbsp; FilterLayout.Height = 40;</div><div>&nbsp; FilterLayout.Margins.Top = 12;</div><div><br></div><div>&nbsp; BtnFilterAll = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterAll', 'Tous');</div><div>&nbsp; BtnFilterAll.Align = alLeft; BtnFilterAll.Width = 65; BtnFilterAll.Height = 32;</div><div>&nbsp; BtnFilterAll.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff'); // Filtre Actif</div><div>&nbsp; BtnFilterAll.clProSettings.FontColor = clAlphaColor.clHexToColor('#080d14');</div><div>&nbsp; BtnFilterAll.clProSettings.FontSize = 11; BtnFilterAll.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; BtnFilterAll.clProSettings.RoundWidth = 8; BtnFilterAll.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterAll.SetclProSettings(BtnFilterAll.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterAdmin = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterAdmin', 'Admins');</div><div>&nbsp; BtnFilterAdmin.Align = alLeft; BtnFilterAdmin.Width = 75; BtnFilterAdmin.Height = 32; BtnFilterAdmin.Margins.Left = 6;</div><div>&nbsp; BtnFilterAdmin.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterAdmin.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterAdmin.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterAdmin.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterAdmin.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterAdmin.clProSettings.RoundWidth = 8; BtnFilterAdmin.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterAdmin.SetclProSettings(BtnFilterAdmin.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterDepot = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterDepot', 'Dépôt');</div><div>&nbsp; BtnFilterDepot.Align = alLeft; BtnFilterDepot.Width = 75; BtnFilterDepot.Height = 32; BtnFilterDepot.Margins.Left = 6;</div><div>&nbsp; BtnFilterDepot.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterDepot.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterDepot.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterDepot.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterDepot.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterDepot.clProSettings.RoundWidth = 8; BtnFilterDepot.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterDepot.SetclProSettings(BtnFilterDepot.clProSettings);</div><div><br></div><div>&nbsp; BtnFilterSekreter = MembersForm.AddNewProButton(FilterLayout, 'BtnFilterSekreter', 'Secrétaires');</div><div>&nbsp; BtnFilterSekreter.Align = alClient; BtnFilterSekreter.Height = 32; BtnFilterSekreter.Margins.Left = 6;</div><div>&nbsp; BtnFilterSekreter.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnFilterSekreter.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; BtnFilterSekreter.clProSettings.BorderWidth = 1;</div><div>&nbsp; BtnFilterSekreter.clProSettings.FontColor = clAlphaColor.clHexToColor('#6b8aaa');</div><div>&nbsp; BtnFilterSekreter.clProSettings.FontSize = 11;</div><div>&nbsp; BtnFilterSekreter.clProSettings.RoundWidth = 8; BtnFilterSekreter.clProSettings.RoundHeight = 8;</div><div>&nbsp; BtnFilterSekreter.SetclProSettings(BtnFilterSekreter.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 2 : BARRE DE RECHERCHE (SearchEdit) &#093;</div><div>&nbsp; SearchLayout = MembersForm.AddNewLayout(ShellContainer, 'SearchLayout');</div><div>&nbsp; SearchLayout.Align = alTop;</div><div>&nbsp; SearchLayout.Height = 46;</div><div>&nbsp; SearchLayout.Margins.Top = 12;</div><div><br></div><div>&nbsp; SearchEdit = MembersForm.AddNewProEdit(SearchLayout, 'SearchEdit', 'Rechercher un membre...');</div><div>&nbsp; SearchEdit.Align = alClient;</div><div>&nbsp; SearchEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; SearchEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#1a2d42');</div><div>&nbsp; SearchEdit.clProSettings.BorderWidth = 1;</div><div>&nbsp; SearchEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; SearchEdit.clProSettings.FontSize = 12;</div><div>&nbsp; SearchEdit.clProSettings.RoundWidth = 10; SearchEdit.clProSettings.RoundHeight = 10;</div><div>&nbsp; SearchEdit.SetclProSettings(SearchEdit.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // &#091; ÉTAPE 1 : HEADER GESTION DES MEMBRES &#093;</div><div>&nbsp; HeaderLayout = MembersForm.AddNewLayout(ShellContainer, 'HeaderLayout');</div><div>&nbsp; HeaderLayout.Align = alTop;</div><div>&nbsp; HeaderLayout.Height = 55;</div><div><br></div><div>&nbsp; // Bouton Retour (Gauche)</div><div>&nbsp; label1 = MembersForm.AddNewProLabel(HeaderLayout, 'label1', 'GESTIONNAIRES DES UTILISATEURS');</div><div>&nbsp; label1.Align = alTop;</div><div>&nbsp; label1.Margins.Left = 14;&nbsp;</div><div>&nbsp; label1.Margins.Top = 16;</div><div>&nbsp; label1.clProSettings.FontColor = clAlphaColor.clHexToColor('#446580');</div><div>&nbsp; label1.clProSettings.FontSize = 12;</div><div>&nbsp; label1.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label1.SetclProSettings(label1.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; // Titre "MEMBRES" (Centre)</div><div>&nbsp; LblHeaderTitle = MembersForm.AddNewProLabel(HeaderLayout, 'LblHeaderTitle', 'Utilisateurs &amp; roles');</div><div>&nbsp; LblHeaderTitle.Align = alTop;</div><div>&nbsp; LblHeaderTitle.Margins.Left = 14;&nbsp;</div><div>&nbsp; LblHeaderTitle.Height = 40;</div><div>&nbsp; LblHeaderTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#e8eef5');</div><div>&nbsp; LblHeaderTitle.clProSettings.FontSize = 30;</div><div>&nbsp; LblHeaderTitle.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; LblHeaderTitle.SetclProSettings(LblHeaderTitle.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // &#091; ÉTAPE x : HEADER GESTION DES MEMBRES actifs &#093;</div><div>&nbsp; HeaderLayoutactif = MembersForm.AddNewLayout(ShellContainer, 'HeaderLayoutactif');</div><div>&nbsp; HeaderLayoutactif.Align = alTop;</div><div>&nbsp; HeaderLayoutactif.Height = 55;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; //creation du layout2</div><div>&nbsp; layout2 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout2');</div><div>&nbsp; layout2.Align = alLeft;</div><div>&nbsp; layout2.Height = 55;</div><div>&nbsp; layout2.Width = 120;&nbsp;</div><div>&nbsp; layout2.Margins.Left = 14;&nbsp;</div><div>&nbsp; layout2.Margins.Top = 10;</div><div>&nbsp;&nbsp;</div><div>&nbsp; //creation du Dot</div><div>&nbsp; DotCyan = MembersForm.AddNewProPanel(layout2, 'DotCyan');</div><div>&nbsp; DotCyan.Align = alLeft;&nbsp;</div><div>&nbsp; DotCyan.Width = 8;&nbsp;</div><div>&nbsp; DotCyan.Height = 8;</div><div>&nbsp; DotCyan.Margins.Right =6;</div><div>&nbsp; DotCyan.Margins.Bottom = 35;</div><div>&nbsp; DotCyan.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#00d4ff'); // Opaque au départ</div><div>&nbsp; DotCyan.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotCyan.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotCyan.SetclProSettings(DotCyan.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp; label2 = MembersForm.AddNewProLabel(layout2, 'label2', '10 Membres');</div><div>&nbsp; label2.Align = alLeft;&nbsp;</div><div>&nbsp; label2.Width = 90;&nbsp;</div><div>&nbsp; label2.clProSettings.FontColor = clAlphaColor.clHexToColor('#00d4ff');</div><div>&nbsp; label2.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label2.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label2.SetclProSettings(label2.clProSettings);</div><div><br></div><div>&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; //creation du layout3</div><div>&nbsp; layout3 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout3');</div><div>&nbsp; layout3.Align = alLeft;</div><div>&nbsp; layout3.Height = 55;</div><div>&nbsp; layout3.Width = 110;&nbsp;</div><div>&nbsp; layout3.Margins.Left = 14;&nbsp;</div><div>&nbsp; layout3.Margins.Top = 10;</div><div>&nbsp; // --- 2. GROUPE ACTIFS (VERT) ---</div><div>&nbsp; label3 = MembersForm.AddNewProLabel(layout3, 'label3', '5 Actifs');</div><div>&nbsp; label3.Align = alLeft;&nbsp;</div><div>&nbsp; label3.Width = 80;&nbsp;</div><div>&nbsp; label3.Margins.Left = 10;&nbsp;</div><div>&nbsp; label3.clProSettings.FontColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; label3.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label3.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label3.SetclProSettings(label3.clProSettings);</div><div><br></div><div>&nbsp; DotGreen = MembersForm.AddNewProPanel(layout3, 'DotGreen');</div><div>&nbsp; DotGreen.Align = alLeft;&nbsp;</div><div>&nbsp; DotGreen.Width = 8;&nbsp;</div><div>&nbsp; DotGreen.Height = 8;</div><div>&nbsp; DotGreen.Margins.Right =10;</div><div>&nbsp; DotGreen.Margins.Bottom =35;</div><div>&nbsp; DotGreen.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4ade80');</div><div>&nbsp; DotGreen.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotGreen.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotGreen.SetclProSettings(DotGreen.clProSettings);</div><div><br></div><div><br></div><div>&nbsp; //creation du layout4</div><div>&nbsp; layout4 = MembersForm.AddNewLayout(HeaderLayoutactif, 'layout4');</div><div>&nbsp; layout4.Align = alLeft;</div><div>&nbsp; layout4.Height = 55;</div><div>&nbsp; layout4.Width = 100;&nbsp;</div><div>&nbsp; layout4.Margins.Left = 14;&nbsp;</div><div>&nbsp; layout4.Margins.Top = 10;</div><div>&nbsp; // --- 3. GROUPE INACTIFS (ORANGE) ---</div><div>&nbsp; label4 = MembersForm.AddNewProLabel(layout4, 'label4', '5 Inactifs');</div><div>&nbsp; label4.Align = alLeft;&nbsp;</div><div>&nbsp; label4.Width = 80;&nbsp;</div><div>&nbsp; label4.Margins.Left = 10;&nbsp;</div><div>&nbsp; //label4.Margins.Top = 16;</div><div>&nbsp; label4.clProSettings.FontColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; label4.clProSettings.FontSize = 14;&nbsp;</div><div>&nbsp; label4.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; label4.SetclProSettings(label4.clProSettings);</div><div><br></div><div>&nbsp; DotOrange = MembersForm.AddNewProPanel(layout4, 'DotOrange');</div><div>&nbsp; DotOrange.Align = alLeft;&nbsp;</div><div>&nbsp; DotOrange.Width = 8;&nbsp;</div><div>&nbsp; DotOrange.Height = 8;</div><div>&nbsp; DotOrange.Margins.Right =10;</div><div>&nbsp; DotOrange.Margins.Bottom = 35;</div><div>&nbsp; DotOrange.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fb923c');</div><div>&nbsp; DotOrange.clProSettings.RoundWidth = 4;&nbsp;</div><div>&nbsp; DotOrange.clProSettings.RoundHeight = 4;</div><div>&nbsp; DotOrange.SetclProSettings(DotOrange.clProSettings);</div><div><br></div><div><br></div><div><br></div><div><br></div><div>&nbsp; // --- CONFIGURATION DU TIMER DE RESPIRATION ---</div><div>&nbsp; PulsationState = True;</div><div>&nbsp; TimerPulsation = MembersForm.AddNewTimer(MembersForm, 'TimerPulsation', 750); // Toutes les 750ms pour une transition douce</div><div>&nbsp; TimerPulsation.Enabled = True;</div><div>&nbsp; MembersForm.AddNewEvent(TimerPulsation, tbeOnTimer, 'OnTimerRespiration');</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div><br></div><div>&nbsp; // &#091; ÉTAPE 0 : BARRE D'ÉTAT SYSTÈME (Status Bar) &#093;</div><div>&nbsp; StatusBarLayout = MembersForm.AddNewLayout(ShellContainer, 'StatusBarLayout');</div><div>&nbsp; StatusBarLayout.Align = alTop;</div><div>&nbsp; StatusBarLayout.Height = 35;</div><div><br></div><div><br></div><div>&nbsp; // =========================================================================</div><div>&nbsp; // BARRE DE NAVIGATION INFÉRIEURE (Tab Bar Active sur "Users")</div><div>&nbsp; // =========================================================================</div><div>&nbsp; TabBarLayout = MembersForm.AddNewLayout(MembersForm, 'TabBarLayout');</div><div>&nbsp; TabBarLayout.Align = alBottom; TabBarLayout.Height = 58;</div><div>&nbsp;&nbsp;</div><div>&nbsp; BtnTabDash = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabDash', 'Dashboard');</div><div>&nbsp; BtnTabDash.Align = alLeft; BtnTabDash.Width = 74;</div><div>&nbsp; BtnTabDash.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabDash.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabDash.clProSettings.FontSize = 9;</div><div>&nbsp; BtnTabDash.SetclProSettings(BtnTabDash.clProSettings);</div><div><br></div><div>&nbsp; BtnTabUsers = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabUsers', 'Membres');</div><div>&nbsp; BtnTabUsers.Align = alLeft; BtnTabUsers.Width = 74;</div><div>&nbsp; BtnTabUsers.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabUsers.clProSettings.FontColor = clAlphaColor.clHexToColor('#00d4ff'); // Actif (Bleu Glowing)</div><div>&nbsp; BtnTabUsers.clProSettings.FontSize = 9;&nbsp;</div><div>&nbsp; BtnTabUsers.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; BtnTabUsers.SetclProSettings(BtnTabUsers.clProSettings);</div><div><br></div><div>&nbsp; BtnTabStock = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabStock', 'Stock');</div><div>&nbsp; BtnTabStock.Align = alLeft; BtnTabStock.Width = 74;</div><div>&nbsp; BtnTabStock.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabStock.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabStock.clProSettings.FontSize = 9; BtnTabStock.SetclProSettings(BtnTabStock.clProSettings);</div><div><br></div><div>&nbsp; BtnTabReports = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabReports', 'Reports');</div><div>&nbsp; BtnTabReports.Align = alLeft; BtnTabReports.Width = 74;</div><div>&nbsp; BtnTabReports.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabReports.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabReports.clProSettings.FontSize = 9; BtnTabReports.SetclProSettings(BtnTabReports.clProSettings);</div><div><br></div><div>&nbsp; BtnTabSettings = MembersForm.AddNewProButton(TabBarLayout, 'BtnTabSettings', 'Settings');</div><div>&nbsp; BtnTabSettings.Align = alClient;</div><div>&nbsp; BtnTabSettings.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0d1520');</div><div>&nbsp; BtnTabSettings.clProSettings.FontColor = clAlphaColor.clHexToColor('#3d5a7a');</div><div>&nbsp; BtnTabSettings.clProSettings.FontSize = 9;&nbsp;</div><div>&nbsp; BtnTabSettings.SetclProSettings(BtnTabSettings.clProSettings);</div><div><br></div><div>&nbsp; MembersForm.Run;</div><div>&nbsp;&nbsp;</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><a href="https://static.cloudflareinsights.com/beac&#111;n.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" target="_blank" rel="nofollow">https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496"</a> integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{&quot;version&quot;:&quot;2024.11.0&quot;,&quot;token&quot;:&quot;439455f3e46c40b98dbd42a2f1a954d8&quot;,&quot;r&quot;:1,&quot;server_timing&quot;:{&quot;name&quot;:{&quot;cfCacheStatus&quot;:true,&quot;cfEdge&quot;:true,&quot;cfExtPri&quot;:true,&quot;cfL4&quot;:true,&quot;cfOrigin&quot;:true,&quot;cfSpeedBrain&quot;:true},&quot;location_startswith&quot;:null}}" crossorigin="anonymous">]]>
   </description>
   <pubDate>Thu, 16 Jul 2026 16:57:49 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1618&amp;PID=3739#3739</guid>
  </item> 
 </channel>
</rss>