<?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 : SQLite</title>
  <link>https://forum.clomosy.com.tr/</link>
  <description><![CDATA[XML içerik linki; Clomosy | Forum : Genel &#304;&#351;lemler : SQLite]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Mon, 04 May 2026 14:37:27 +0000</pubDate>
  <lastBuildDate>Wed, 30 Jul 2025 16:22:46 +0000</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 12.07</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>https://forum.clomosy.com.tr/RSS_post_feed.asp?TID=1152</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[SQLite : var  MyForm: TclForm; MainPnl,...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2415#2415</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=257">Emr.Erkmn</a><br /><strong>Konu:</strong> 1152<br /><strong>Gönderim Zamanı:</strong> 30&nbsp;Temmuz&nbsp;2025 Saat 16:22<br /><br /><div><div>var&nbsp; &nbsp;</div><div>&nbsp; MyForm: TclForm;</div><div>&nbsp; MainPnl, habit1pnl, ustPanel,baslik1pnl,secimPanel,mypanel: TclProPanel;</div><div>&nbsp; butonlar: array&#091;0..31&#093; of TClProButton;</div><div>&nbsp; i, j: Integer;</div><div>&nbsp; baslik1btn:TClProButton;</div><div>&nbsp; gunSayisi, ilkGun, haftalikIndex: Integer;</div><div>&nbsp; hedefSatir: TclProPanel;</div><div>&nbsp; gunler: array&#091;0..6&#093; of String;</div><div>&nbsp; gunEtiketleri: array&#091;0..6&#093; of TclProLabel;</div><div>&nbsp; vScroll: TClVertScrollBox;</div><div>&nbsp; aylar: array&#091;0..11&#093; of String;</div><div>&nbsp; ayLabel: TClProLabel;</div><div>&nbsp; satir1Label, satir1, satir2, satir3, satir4, satir5, satir6: TclProPanel;</div><div>&nbsp; yilbaslik:tclprolabel;</div><div>&nbsp; elimage:tclproimage;</div><div>&nbsp; secimaliskanlikbtn1,secimaliskanlikbtn2,secimaliskanlikbtn3,secimaliskanlikbtn4:TClProButton;</div><div>&nbsp; Imagecircle,Imagecircle2,Imagecircle3,Imagecircle4:tclproimage;</div><div>&nbsp; secimkapatbtn:TClProButton;</div><div>&nbsp; mybuton1,mybuton2,mybuton3,mybuton4:TClProButton;</div><div>&nbsp; gunIndex, satirIndex: Integer;</div><div>&nbsp; bosLabel: TclProLabel;</div><div>&nbsp; habitbaslik:tclprolabel;</div><div>&nbsp; habitQuery: TClSQLiteQuery;</div><div>&nbsp; gelenHabitAdi: String;</div><div>&nbsp; habitId: Integer;</div><div>&nbsp; habitname:String;</div><div>&nbsp; habitListQuery:TClSQLiteQuery;</div><div>&nbsp; secilenHabitId: Integer; // Seçilen alışkanlık ID'si</div><div>&nbsp; secilenHabitName: String; // Seçilen alışkanlık adı</div><div>&nbsp; secilenHabitColor: String; // Seçilen alışkanlık rengi</div><div><br></div><div>void CreateTableHabitskayit;</div><div>{</div><div>&nbsp; try</div><div>&nbsp; {</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabitDays.db3', '');</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'CREATE TABLE IF NOT EXISTS HabitDays (' +</div><div>&nbsp; &nbsp; &nbsp; 'ID INTEGER PRIMARY KEY AUTOINCREMENT,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'habitId INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'year INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'month INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'day INTEGER '+')';</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div>&nbsp; }</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void CreateTableHabits;</div><div>{</div><div>&nbsp; try</div><div>&nbsp; {</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'CREATE TABLE IF NOT EXISTS Habits (' +</div><div>&nbsp; &nbsp; &nbsp; 'habitId INTEGER PRIMARY KEY AUTOINCREMENT,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'habitName TEXT,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'habitColor TEXT '+')';</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; // Örnek alışkanlıkları ekle</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'INSERT OR IGNORE INTO Habits (habitId, habitName, habitColor) VALUES ' +</div><div>&nbsp; &nbsp; &nbsp; '(1, ''Spor Yapmak'', ''#FF6B6B''),' +&nbsp; // Kırmızı</div><div>&nbsp; &nbsp; &nbsp; '(2, ''İngilizce Çalışmak'', ''#4ECDC4''),' +&nbsp; // Yeşil</div><div>&nbsp; &nbsp; &nbsp; '(3, ''Kitap Okumak'', ''#45B7D1''),' +&nbsp; // Mavi</div><div>&nbsp; &nbsp; &nbsp; '(4, ''Meditasyon'', ''#96CEB4''),' +&nbsp; // Açık yeşil</div><div>&nbsp; &nbsp; &nbsp; '(5, ''Su İçmek'', ''#FFEAA7''),' +&nbsp; // Sarı</div><div>&nbsp; &nbsp; &nbsp; '(6, ''Kod Yazmak'', ''#DDA0DD'')';&nbsp; // Mor</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div>&nbsp; }</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div><br></div><div>void OnTakvimButonClick</div><div>var</div><div>&nbsp; tiklananBtn: TClProButton;</div><div>&nbsp; hintStr: String;</div><div>&nbsp; habitIdStr, ayStr, gunStr: String;</div><div>&nbsp; secilenAy, secilenGun, secilenYil: Integer;</div><div>&nbsp; i, altCizgiSayisi: Integer;</div><div>&nbsp; parca: String;</div><div>{</div><div>&nbsp; // Eğer henüz alışkanlık seçilmemişse uyarı ver</div><div>&nbsp; if (secilenHabitId == 0) {</div><div>&nbsp; &nbsp; ShowMessage('Önce bir alışkanlık seçin!');</div><div>&nbsp; }</div><div><br></div><div>&nbsp; tiklananBtn = TClProButton(MyForm.clSender);</div><div>&nbsp; hintStr = tiklananBtn.Hint;&nbsp; // Örnek: "3_15" (ay_gün)</div><div><br></div><div>&nbsp; ayStr = '';</div><div>&nbsp; gunStr = '';</div><div>&nbsp; parca = '';</div><div>&nbsp; altCizgiSayisi = 0;</div><div><br></div><div>&nbsp; for (i = 1 to Length(hintStr)) {</div><div>&nbsp; &nbsp; if (hintStr<em> == '_') {</div><div>&nbsp; &nbsp; &nbsp; ayStr = parca;</div><div>&nbsp; &nbsp; &nbsp; parca = '';</div><div>&nbsp; &nbsp; &nbsp; altCizgiSayisi = altCizgiSayisi + 1;</div><div>&nbsp; &nbsp; } else {</div><div>&nbsp; &nbsp; &nbsp; parca = parca + hintStr<em>;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; gunStr = parca;</div><div><br></div><div>&nbsp; if ((ayStr &lt;&gt; '') &amp;&amp; (gunStr &lt;&gt; '')) {</div><div>&nbsp; &nbsp; secilenAy = StrToInt(ayStr);</div><div>&nbsp; &nbsp; secilenGun = StrToInt(gunStr);</div><div>&nbsp; &nbsp; secilenYil = 2026;</div><div><br></div><div>&nbsp; &nbsp; try {</div><div>&nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabitDays.db3', '');</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; // Önce bu tarihte bu alışkanlık için kayıt var mı kontrol et</div><div>&nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 'SELECT COUNT(*) as kayitSayisi FROM HabitDays WHERE ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 'habitId = ' + IntToStr(secilenHabitId) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 'year = ' + IntToStr(secilenYil) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 'month = ' + IntToStr(secilenAy) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; 'day = ' + IntToStr(secilenGun);</div><div>&nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; if (Clomosy.DBSQLiteQuery.FieldByName('kayitSayisi').AsInteger == 0) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; // Kayıt yoksa ekle</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'INSERT INTO HabitDays (habitId, year, month, day) VALUES (' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(secilenHabitId) + ',' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(secilenYil) + ',' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(secilenAy) + ',' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; IntToStr(secilenGun) + ')';</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; // Butonun rengini seçilen alışkanlık rengine değiştir</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(secilenHabitColor);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.SetclProSettings(tiklananBtn.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage(secilenHabitName + ' alışkanlığı için ' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IntToStr(secilenGun) + '.' + IntToStr(secilenAy) + ' tarihi kaydedildi!');</div><div>&nbsp; &nbsp; &nbsp; } else {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; // Kayıt varsa sil</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'DELETE FROM HabitDays WHERE ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'habitId = ' + IntToStr(secilenHabitId) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'year = ' + IntToStr(secilenYil) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'month = ' + IntToStr(secilenAy) + ' AND ' +</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 'day = ' + IntToStr(secilenGun);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; // Butonun rengini geri al</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF'); // Beyaz</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.SetclProSettings(tiklananBtn.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; ShowMessage(secilenHabitName + ' alışkanlığı için ' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;IntToStr(secilenGun) + '.' + IntToStr(secilenAy) + ' tarihi silindi!');</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; }</div><div>&nbsp; &nbsp; except {</div><div>&nbsp; &nbsp; &nbsp; ShowMessage('Hata oluştu: ' + LastExceptionMessage);</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }&nbsp;</div><div>}</div><div>}</div><div>void AliskanlikButonlariOlustur</div><div>var</div><div>&nbsp; habitName: String;</div><div>&nbsp; habitId: Integer;</div><div>&nbsp; habitColor: String;</div><div>&nbsp; habitQuery: TClSQLiteQuery;</div><div>&nbsp; yeniBtn: TClProButton;</div><div>&nbsp; habitIndex: Integer;</div><div>{</div><div>&nbsp; try {</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');</div><div><br></div><div>&nbsp; &nbsp; habitQuery = Clomosy.DBSQLiteQueryWith('SELECT habitId, habitName, habitColor FROM Habits ORDER BY habitId');</div><div>&nbsp; &nbsp; habitQuery.OpenOrExecute;</div><div><br></div><div>&nbsp; &nbsp; habitIndex = 1;</div><div>&nbsp; &nbsp; while (not habitQuery.Eof) {</div><div>&nbsp; &nbsp; &nbsp; habitId = habitQuery.FieldByName('habitId').AsInteger;</div><div>&nbsp; &nbsp; &nbsp; habitName = habitQuery.FieldByName('habitName').AsString;</div><div>&nbsp; &nbsp; &nbsp; habitColor = habitQuery.FieldByName('habitColor').AsString;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; // Yeni alışkanlık butonu oluştur</div><div>&nbsp; &nbsp; &nbsp; yeniBtn = MyForm.AddNewProButton(secimPanel, 'habitBtn_' + IntToStr(habitId), habitName);</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Align = alTop;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Margins.Top = 5;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Width = 100;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Height = 50;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.IsRound = True;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.FontSize = 14;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.BorderColor = clAlphaColor.clHexToColor(habitColor);</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.BorderWidth = 3;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(habitColor);</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Hint = IntToStr(habitId) + '|' + habitColor; // Habit ID ve rengi Hint'e sakla</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.SetclProSettings(yeniBtn.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; &nbsp; MyForm.AddNewEvent(yeniBtn, tbeOnClick, 'OnHabitButtonClick');</div><div><br></div><div>&nbsp; &nbsp; &nbsp; habitIndex = habitIndex + 1;</div><div>&nbsp; &nbsp; &nbsp; habitQuery.Next;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; except {</div><div>&nbsp; &nbsp; ShowMessage('Butonlar oluşturulurken hata: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div>&nbsp; }</div><div>void KayitliGunleriIsaretle</div><div>var</div><div>&nbsp; kayitQuery: TClSQLiteQuery;</div><div>&nbsp; kayitAy, kayitGun: Integer;</div><div>&nbsp; butonAdi: String;</div><div>&nbsp; hedefButon: TClProButton;</div><div>{</div><div>&nbsp; try {</div><div>&nbsp; &nbsp; if (secilenHabitId == 0)&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabitDays.db3', '');</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; kayitQuery = Clomosy.DBSQLiteQueryWith(</div><div>&nbsp; &nbsp; &nbsp; 'SELECT month, day FROM HabitDays WHERE habitId = ' + IntToStr(secilenHabitId) +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; ' AND year = 2026 ORDER BY month, day'</div><div>&nbsp; &nbsp; );</div><div>&nbsp; &nbsp; kayitQuery.OpenOrExecute;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; while (not kayitQuery.Eof) {</div><div>&nbsp; &nbsp; &nbsp; kayitAy = kayitQuery.FieldByName('month').AsInteger;</div><div>&nbsp; &nbsp; &nbsp; kayitGun = kayitQuery.FieldByName('day').AsInteger;</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; // Buton adını oluştur (ay-1 çünkü array 0'dan başlar)</div><div>&nbsp; &nbsp; &nbsp; butonAdi = 'btn' + IntToStr(kayitAy - 1) + '_' + IntToStr(kayitGun - 1);</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; // Butonu bul ve rengini değiştir</div><div>&nbsp; &nbsp; &nbsp; hedefButon = TClProButton(MyForm.FindComponent(butonAdi));</div><div>&nbsp; &nbsp; &nbsp; if (hedefButon &lt;&gt; nil) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; hedefButon.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(secilenHabitColor);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; hedefButon.SetclProSettings(hedefButon.clProSettings);</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; kayitQuery.Next;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; except {</div><div>&nbsp; &nbsp; ShowMessage('Kayıtlı günler işaretlenirken hata: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div>&nbsp; }</div><div>void OnHabitButtonClick</div><div>var</div><div>&nbsp; tiklananBtn: TClProButton;</div><div>&nbsp; tiklananHabitName: String;</div><div>&nbsp; tiklananHabitId: String;</div><div>&nbsp; tiklananHabitColor: String;</div><div>&nbsp; hintStr: String;</div><div>&nbsp; i, pipeIndex: Integer;</div><div>{</div><div>&nbsp; tiklananBtn = TClProButton(MyForm.clSender);</div><div>&nbsp; tiklananHabitName = tiklananBtn.Text;</div><div>&nbsp; hintStr = tiklananBtn.Hint;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Hint'ten ID ve rengi al (manuel parsing)</div><div>&nbsp; pipeIndex = 0;</div><div>&nbsp; for (i = 1 to Length(hintStr)) {</div><div>&nbsp; &nbsp; if (hintStr<em> == '|') {</div><div>&nbsp; &nbsp; &nbsp; pipeIndex = i;</div><div>&nbsp; &nbsp; &nbsp; break;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; if (pipeIndex &gt; 0) {</div><div>&nbsp; &nbsp; tiklananHabitId = Copy(hintStr, 1, pipeIndex - 1);</div><div>&nbsp; &nbsp; tiklananHabitColor = Copy(hintStr, pipeIndex + 1, Length(hintStr) - pipeIndex);</div><div>&nbsp; } else {</div><div>&nbsp; &nbsp; tiklananHabitId = hintStr;</div><div>&nbsp; &nbsp; tiklananHabitColor = '#90EE90'; // Varsayılan yeşil</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Seçilen alışkanlık bilgilerini sakla</div><div>&nbsp; secilenHabitId = StrToInt(tiklananHabitId);</div><div>&nbsp; secilenHabitName = tiklananHabitName;</div><div>&nbsp; secilenHabitColor = tiklananHabitColor;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Başlığı güncelle</div><div>&nbsp; habitbaslik.Text = 'ALIŞKANLIK: ' + tiklananHabitName;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Seçim panelini gizle</div><div>&nbsp; secimPanel.Visible = false;</div><div>&nbsp;&nbsp;</div><div>&nbsp; // Kayıtlı günleri işaretle</div><div>&nbsp; KayitliGunleriIsaretle();</div><div>&nbsp;&nbsp;</div><div>&nbsp; ShowMessage(tiklananHabitName + ' alışkanlığı seçildi! Artık takvimde günlere tıklayabilirsiniz.');</div><div>}</div><div><br></div><div><br></div><div>void aliskanlikclick</div><div>{</div><div>&nbsp; secimpanel.Visible = not secimpanel.Visible;</div><div>}</div><div>&nbsp;&nbsp;</div><div>function GunSayisi(ay: Integer; yil: Integer): Integer</div><div>{</div><div>&nbsp; if ((ay == 1) || (ay == 3) || (ay == 5) || (ay == 7) || (ay == 8) || (ay == 10) || (ay == 12))</div><div>&nbsp; &nbsp; Result = 31</div><div>&nbsp; else if ((ay == 4) || (ay == 6) || (ay == 9) || (ay == 11))</div><div>&nbsp; &nbsp; Result = 30</div><div>&nbsp; else if (ay == 2)</div><div>&nbsp; {</div><div>&nbsp; &nbsp; if ((yil mod 4 == 0) &amp;&amp; ((yil mod 100 &lt;&gt; 0) || (yil mod 400 == 0)))</div><div>&nbsp; &nbsp; &nbsp; Result = 29</div><div>&nbsp; &nbsp; else</div><div>&nbsp; &nbsp; &nbsp; Result = 28</div><div>&nbsp; }</div><div>&nbsp; else</div><div>&nbsp; &nbsp; Result = 0&nbsp;</div><div>}</div><div>&nbsp;&nbsp;</div><div>function AyIlkGunuHaftaninKaci(ay: Integer; yil: Integer): Integer</div><div>&nbsp; var&nbsp;</div><div>&nbsp; d, m, y, k, j, h,gun: Integer</div><div>{</div><div>&nbsp; d = 1</div><div>&nbsp; if ay &lt; 3</div><div>&nbsp; {</div><div>&nbsp; &nbsp; ay = ay + 12</div><div>&nbsp; &nbsp; yil = yil - 1</div><div>&nbsp; }</div><div><br></div><div>&nbsp; m = ay</div><div>&nbsp; y = yil mod 100</div><div>&nbsp; j = yil div 100</div><div><br></div><div>&nbsp; h = (d + (13*(m + 1)) div 5 + y + (y div 4) + (j div 4) + 5*j) mod 7</div><div>&nbsp; gun = (h + 5) mod 7 //</div><div>&nbsp; Result = gun</div><div>}</div><div><br></div><div>void TakvimCiz(ay,yil: Integer)</div><div>var</div><div>&nbsp; gunSayisi, ilkGun, i, haftalikIndex: Integer;</div><div>&nbsp; hedefSatir: TclProPanel;</div><div>&nbsp; gunEtiketi: TclProLabel;</div><div>{</div><div>&nbsp; gunSayisi = GunSayisi(ay, yil)</div><div>&nbsp; ilkGun = AyIlkGunuHaftaninKaci(ay, yil)</div><div><br></div><div>&nbsp; for i = 0 to gunSayisi - 1</div><div>&nbsp; {</div><div>&nbsp; &nbsp; haftalikIndex = i + ilkGun - 1</div><div><br></div><div>&nbsp; &nbsp; if (haftalikIndex &lt; 7)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp;hedefSatir = satir1</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 14)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir2</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 21)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir3</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 28)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir4</div><div>&nbsp; &nbsp; else&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir5</div><div><br></div><div>&nbsp; &nbsp; gunEtiketi = MyForm.AddNewProLabel(</div><div>&nbsp; &nbsp; &nbsp; hedefSatir,</div><div>&nbsp; &nbsp; &nbsp; 'lblGun_' + IntToStr(ay) + '_' + IntToStr(i + 1),</div><div>&nbsp; &nbsp; &nbsp; IntToStr(i + 1)</div><div>&nbsp; &nbsp; )</div><div><br></div><div>&nbsp; &nbsp; gunEtiketi.Align = alRight</div><div>&nbsp; &nbsp; gunEtiketi.Margins.Right = 18</div><div>&nbsp; &nbsp; gunEtiketi.Margins.Left = 3</div><div>&nbsp; &nbsp; gunEtiketi.Width = 30</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontSize = 14</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000')</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontVertAlign = palLeading</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontHorzAlign = palcenter</div><div>&nbsp; &nbsp; gunEtiketi.SetclProSettings(gunEtiketi.clProSettings)</div><div>&nbsp; }</div><div>}</div><div><br></div><div>{</div><div>&nbsp; MyForm = TclForm.Create(Self);</div><div><br></div><div>&nbsp; MainPnl = myForm.AddNewProPanel(myForm, 'MainPnl');</div><div>&nbsp; MainPnl.Align = alClient;</div><div>&nbsp;&nbsp;</div><div>&nbsp; MainPnl.Align=alCenter;</div><div>&nbsp; MainPnl.Height=630;</div><div>&nbsp; MainPnl.Width=400;</div><div>&nbsp; MainPnl.clProSettings.RoundHeight=40;</div><div>&nbsp; MainPnl.clProSettings.Roundwidth=40;</div><div>&nbsp; MainPnl.clProSettings.IsTransparent =False;</div><div>&nbsp; MainPnl.SetclProSettings(MainPnl.clProSettings);&nbsp;</div><div>&nbsp;&nbsp;</div><div><br></div><div>&nbsp; habit1pnl = MyForm.AddNewProPanel(MainPnl, 'habit1pnl');</div><div>&nbsp; habit1pnl.Align = alClient;</div><div>&nbsp; habit1pnl.SetclProSettings(habit1pnl.clProSettings);</div><div>&nbsp; &nbsp;</div><div>&nbsp; baslik1pnl = MyForm.AddNewProPanel(habit1pnl, 'baslik1pnl');</div><div>&nbsp; baslik1pnl.Align = alTop;</div><div>&nbsp; baslik1pnl.Margins.left=11;</div><div>&nbsp; baslik1pnl.Height = 100;</div><div>&nbsp; baslik1pnl.width = 200;</div><div>&nbsp; baslik1pnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#cccccc');</div><div>&nbsp; baslik1pnl.clProSettings.BorderWidth = 1;</div><div>&nbsp; baslik1pnl.SetclProSettings(baslik1pnl.clProSettings);</div><div>&nbsp; &nbsp;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; yilbaslik = myform.AddNewProLabel(baslik1pnl,'yilbaslik','YILLIK ALIŞKANLIK TAKİBİ');</div><div>&nbsp; yilbaslik.Align = altop;</div><div>&nbsp; yilbaslik.margins.left=60;</div><div>&nbsp; yilbaslik.Width = 300;</div><div>&nbsp; yilbaslik.Height = 30;</div><div>&nbsp; yilbaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; yilbaslik.clProSettings.FontSize = 20;</div><div>&nbsp; yilbaslik.clProSettings.FontVertAlign = palcenter;</div><div>&nbsp; yilbaslik.clProSettings.FontHorzAlign = palLeading;</div><div>&nbsp; yilbaslik.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; yilbaslik.clProSettings.IsFill = True;&nbsp;</div><div>&nbsp; yilbaslik.clProSettings.IsRound = True;</div><div>&nbsp;yilbaslik.SetclProSettings(yilbaslik.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp; habitbaslik = myform.AddNewProLabel(baslik1pnl,'habitbaslik','ALIŞKANLIK:');</div><div>&nbsp; habitbaslik.Align = alcenter;</div><div>&nbsp; habitbaslik.margins.left=210;</div><div>&nbsp; habitbaslik.margins.right=30;</div><div>&nbsp; habitbaslik.Width = 300;</div><div>&nbsp; habitbaslik.Height = 30;</div><div>&nbsp; habitbaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; habitbaslik.clProSettings.FontSize = 15;</div><div>&nbsp; habitbaslik.clProSettings.FontVertAlign = palcenter;</div><div>&nbsp; habitbaslik.clProSettings.FontHorzAlign = palLeading;</div><div>&nbsp; habitbaslik.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; habitbaslik.clProSettings.IsFill = True;&nbsp;</div><div>&nbsp; habitbaslik.clProSettings.IsRound = True;</div><div>&nbsp;habitbaslik.SetclProSettings(habitbaslik.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; baslik1btn = MyForm.AddNewProButton(baslik1pnl, 'baslik1btn', 'Alışkanlıklar');</div><div>&nbsp; baslik1btn.Align = alcenter;</div><div>&nbsp; baslik1btn.Width = 100;</div><div>&nbsp; baslik1btn.Height = 50;</div><div>&nbsp; baslik1btn.Margins.Right = 240;</div><div>&nbsp; baslik1btn.clProSettings.IsRound = True;</div><div>&nbsp; baslik1btn.clProSettings.FontSize = 14;</div><div>&nbsp; baslik1btn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ea9eff');</div><div>&nbsp; baslik1btn.clProSettings.BorderWidth = 2;</div><div>&nbsp; baslik1btn.SetclProSettings(baslik1btn.clProSettings);</div><div>&nbsp; MyForm.AddNewEvent(baslik1btn, tbeOnClick, 'aliskanlikclick');</div><div>&nbsp;////////////////////////////////////////////////////////////////////////////////</div><div>&nbsp; secimPanel=MyForm.AddNewProPanel(MainPnl,'secimPanel');</div><div>&nbsp; secimPanel.Align = AlCenter;</div><div>&nbsp; secimpanel.margins.right=170;</div><div>&nbsp; secimpanel.margins.bottom=200;</div><div>&nbsp; secimPanel.Width = 200;</div><div>&nbsp; secimPanel.Height =250;</div><div>&nbsp; secimPanel.clProSettings.IsRound = True;</div><div>&nbsp;secimPanel.visible=false;</div><div>&nbsp;secimPanel.SetclProSettings(secimPanel.clProSettings);</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div><br></div><div>&nbsp;</div><div><br></div><div>&nbsp;///////////////////////////////////////////////////////////////////////////////7</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp; elImage = myForm.AddNewProImage(baslik1pnl, 'elImage');</div><div>&nbsp; elImage.Align = alcenter;</div><div>&nbsp; elimage.margins.right=140;</div><div>&nbsp; elImage.margins.top=25;</div><div>&nbsp; elImage.Width = 22;</div><div>&nbsp; elImage.Height = 24;</div><div>&nbsp; myForm.SetImage(elImage, '<a href="https://i.imgur.com/4bxFXAo.png" target="_blank" rel="nofollow">https://i.imgur.com/4bxFXAo.png</a>');</div><div>&nbsp;&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp;//////////////////////////////////////////////////////////////////////////////////////7</div><div>&nbsp; vScroll = MyForm.AddNewVertScrollBox(habit1pnl, 'vScroll');</div><div>&nbsp; vScroll.Align = alClient;</div><div><br></div><div>&nbsp;</div><div>&nbsp; aylar = &#091;'Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'&#093;;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; for (j = 0 to 11) {</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; ustPanel = MyForm.AddNewProPanel(vScroll, 'ustPanel' + IntToStr(j));</div><div>&nbsp; &nbsp; ustPanel.Align = alTop;</div><div>&nbsp; &nbsp; ustPanel.Width = vScroll.Width;</div><div>&nbsp; &nbsp; ustPanel.Margins.Left = 0;</div><div>&nbsp; &nbsp; ustPanel.Margins.Right = 0;</div><div>&nbsp; &nbsp; ustPanel.Height = 400;</div><div>&nbsp; &nbsp; ustPanel.Margins.Top = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.RoundHeight = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.RoundWidth = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#cccccc');</div><div>&nbsp; &nbsp; ustPanel.clProSettings.BorderWidth = 2;</div><div>&nbsp; &nbsp; ustPanel.SetclProSettings(ustPanel.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; ayLabel = MyForm.AddNewProLabel(ustPanel, 'ayLabel' + IntToStr(j), aylar&#091;j&#093; + ', 2026');</div><div>&nbsp; &nbsp; ayLabel.Align = alTop;</div><div>&nbsp; &nbsp; aylabel.Margins.left=20;</div><div>&nbsp; &nbsp; ayLabel.Height = 50;</div><div>&nbsp; &nbsp; ayLabel.clProSettings.FontSize = 18;</div><div>&nbsp; &nbsp; ayLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; ayLabel.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; &nbsp; ayLabel.SetclProSettings(ayLabel.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; satir1Label = MyForm.AddNewProPanel(ustPanel, 'satir1Label' + IntToStr(j));</div><div>&nbsp; &nbsp; satir1Label.Align = alTop;</div><div>&nbsp; &nbsp; satir1Label.Height = 24;</div><div><br></div><div>&nbsp; &nbsp; gunler = &#091;'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'&#093;;</div><div>&nbsp; &nbsp; for (i = 0 to 6) {</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri = MyForm.AddNewProLabel(satir1Label, 'lblGun' + IntToStr(j) + '_' + IntToStr(i), gunler<em>);</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Margins.left = 18;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Margins.right= 3;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Width = 30;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontSize = 14;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontVertAlign = palLeading;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontHorzAlign = palcenter;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.SetclProSettings(gunEtiketleri.clProSettings);</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; satir1 = MyForm.AddNewProPanel(ustPanel, 'satir1' + IntToStr(j)); satir1.Align = alTop; satir1.margins.left = 12; satir1.Height = 40;</div><div>&nbsp; &nbsp; satir2 = MyForm.AddNewProPanel(ustPanel, 'satir2' + IntToStr(j)); satir2.Align = alTop; satir2.margins.left = 12; satir2.Height = 40;</div><div>&nbsp; &nbsp; satir3 = MyForm.AddNewProPanel(ustPanel, 'satir3' + IntToStr(j)); satir3.Align = alTop; satir3.margins.left = 12; satir3.Height = 40;</div><div>&nbsp; &nbsp; satir4 = MyForm.AddNewProPanel(ustPanel, 'satir4' + IntToStr(j)); satir4.Align = alTop; satir4.margins.left = 12; satir4.Height = 40;</div><div>&nbsp; &nbsp; satir5 = MyForm.AddNewProPanel(ustPanel, 'satir5' + IntToStr(j)); satir5.Align = alTop; satir5.margins.left = 12; satir5.Height = 40;</div><div>&nbsp; &nbsp; satir6 = MyForm.AddNewProPanel(ustPanel, 'satir6' + IntToStr(j)); satir6.Align = alTop; satir6.margins.left = 12; satir6.Height = 40;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp; gunSayisi = GunSayisi(j + 1, 2026);</div><div>&nbsp; &nbsp; ilkGun = AyIlkGunuHaftaninKaci(j + 1, 2026); // 0: Pazartesi, 6: Pazar</div><div><br></div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; for (i = 0 to ilkGun - 1) {</div><div>&nbsp; &nbsp; &nbsp; bosLabel = MyForm.AddNewProLabel(satir1, 'lblBos' + IntToStr(j) + '_' + IntToStr(i), '');</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Width = 45;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Height = 32;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Right = 2;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Top = 4;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Left = 4;</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp; for (i = 0 to gunSayisi - 1) {</div><div>&nbsp; &nbsp; &nbsp; gunIndex = (i + ilkGun) mod 7; // 0: Pazartesi, 6: Pazar</div><div>&nbsp; &nbsp; &nbsp; satirIndex = (i + ilkGun) div 7; // 0: ilk satır, 1: ikinci satır, ...</div><div><br></div><div>&nbsp; &nbsp; &nbsp; if (satirIndex == 0) hedefSatir = satir1;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 1) hedefSatir = satir2;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 2) hedefSatir = satir3;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 3) hedefSatir = satir4;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 4) hedefSatir = satir5;</div><div>&nbsp; &nbsp; &nbsp; else hedefSatir = satir6;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; butonlar = MyForm.AddNewProButton(hedefSatir, 'btn' + IntToStr(j) + '_' + IntToStr(i), IntToStr(i + 1));</div><div>&nbsp; &nbsp; &nbsp; butonlar.Hint = IntToStr(j + 1) + '_' + IntToStr(i + 1);</div><div>&nbsp; &nbsp; &nbsp; butonlar.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Right = 2;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Top = 4;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Left = 4;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Width = 45;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Height = 32;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.PictureSource = '<a href="https://i.imgur.com/exBB3ZA.png" target="_blank" rel="nofollow">https://i.imgur.com/exBB3ZA.png</a>';</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.PictureAutoFit = true;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.IsRound = true;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.FontSize = 9;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; &nbsp; butonlar.SetclProSettings(butonlar.clProSettings);</div><div>&nbsp; &nbsp; &nbsp; MyForm.AddNewEvent(butonlar, tbeOnClick, 'OnTakvimButonClick');</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; &nbsp;</div><div>&nbsp; mypanel=myForm.AddNewProPanel(MainPnl,'mypanel');</div><div>&nbsp; mypanel.Align=alMostBottom;</div><div>&nbsp; mypanel.Align=alHorizontal;</div><div>&nbsp; mypanel.Height=200;</div><div>&nbsp; mypanel.Width=300;</div><div>&nbsp; mypanel.clProSettings.RoundHeight=20;</div><div>&nbsp; mypanel.clProSettings.Roundwidth=20;</div><div>&nbsp; mypanel.clProSettings.IsTransparent =False;</div><div>&nbsp; mypanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff');</div><div>&nbsp; mypanel.clProSettings.BorderWidth = 2;</div><div>&nbsp; mypanel.SetclProSettings(mypanel.clProSettings);&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; mybuton1=myForm.AddNewProButton(mypanel, 'mybuton1', '');</div><div>&nbsp; mybuton1.Align = alLeft;</div><div>&nbsp; mybuton1.margins.left=50;</div><div>&nbsp; mybuton1.margins.bottom=130;</div><div>&nbsp; mybuton1.Width = 40;</div><div>&nbsp; mybuton1.Height = 40;</div><div>&nbsp; mybuton1.clProSettings.IsRound = True;</div><div>&nbsp; mybuton1.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton1.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton1.SetclProSettings(mybuton1.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton1,'<a href="https://i.imgur.com/KcmLm4h.png" target="_blank" rel="nofollow">https://i.imgur.com/KcmLm4h.png</a>');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; mybuton2=myForm.AddNewProButton(mypanel, 'mybuton2', '');</div><div>&nbsp; mybuton2.Align = alLeft;</div><div>&nbsp; mybuton2.margins.left=45;</div><div>&nbsp; mybuton2.margins.bottom=130;</div><div>&nbsp; mybuton2.Width = 40;</div><div>&nbsp; mybuton2.Height = 40;</div><div>&nbsp; mybuton2.clProSettings.IsRound = True;</div><div>&nbsp; mybuton2.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton2.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton2.SetclProSettings(mybuton2.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton2,'<a href="https://i.imgur.com/mcpG1Ot.png" target="_blank" rel="nofollow">https://i.imgur.com/mcpG1Ot.png</a>');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; mybuton3=myForm.AddNewProButton(mypanel, 'mybuton3', '');</div><div>&nbsp; mybuton3.Align = alLeft;</div><div>&nbsp; mybuton3.margins.left=45;</div><div>&nbsp; mybuton3.margins.bottom=130;</div><div>&nbsp; mybuton3.Width = 40;</div><div>&nbsp; mybuton3.Height = 40;</div><div>&nbsp; mybuton3.clProSettings.IsRound = True;</div><div>&nbsp; mybuton3.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton3.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton3.SetclProSettings(mybuton3.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton3,'<a href="https://i.imgur.com/yOGrUe4.png" target="_blank" rel="nofollow">https://i.imgur.com/yOGrUe4.png</a>');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; mybuton4=myForm.AddNewProButton(mypanel, 'mybuton4', '');</div><div>&nbsp; mybuton4.Align = alMostRight;</div><div>&nbsp; mybuton4.margins.right=50;</div><div>&nbsp; mybuton4.margins.bottom=130;</div><div>&nbsp; mybuton4.Width = 40;</div><div>&nbsp; mybuton4.Height = 40;</div><div>&nbsp; mybuton4.clProSettings.IsRound = True;</div><div>&nbsp; mybuton4.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton4.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton4.SetclProSettings(mybuton4.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton4,'<a href="https://i.imgur.com/dKnXBVF.png" target="_blank" rel="nofollow">https://i.imgur.com/dKnXBVF.png</a>');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; CreateTableHabitskayit;</div><div>&nbsp; CreateTableHabits;</div><div>&nbsp; AliskanlikButonlariOlustur;</div><div>&nbsp; MyForm.Run;</div><div>}<br><br>Kodu kendin de çalıştırır mısın?&nbsp;</div></div>]]>
   </description>
   <pubDate>Wed, 30 Jul 2025 16:22:46 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2415#2415</guid>
  </item> 
  <item>
   <title><![CDATA[SQLite : kodun yap&#305;s&#305;nda clomosy&amp;#039;nin...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2414#2414</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=321">goksuselvi</a><br /><strong>Konu:</strong> 1152<br /><strong>Gönderim Zamanı:</strong> 30&nbsp;Temmuz&nbsp;2025 Saat 15:05<br /><br />kodun yapısında clomosy'nin desteklemediği metotlar var tekrar soruna bakabilir misin?< id="BFI_" style="width: 1px; height: 1px; display: n&#111;ne;"><title> </title><div id="WidgeterPanels" translate="no" style="display: n&#111;ne; text-align: left; directi&#111;n: ltr; visibility: ;" ="LTRStyle"> <div id="Widgeter" style="display: n&#111;ne" ="Microsoft.Translator.er" ="Microsoft.Translator.er"> <div id="WidgetLogoPanel"> <span id="WidgetTranslateWithSpan"><span>TRANSLATE with </span></span> <span id="Widget" title="Exit Translati&#111;n" ="Microsoft.Translator.er&#079;n">x</span></div> <div id="MenuPanel"> <div ="DDStyle_outer">< name="Menu_svid" ="text" id="Menu_svid" style="display:n&#111;ne;" autocomplete="&#111;n" value="en" ="."> < name="Menu_textid" ="text" id="Menu_textid" style="display:n&#111;ne;" autocomplete="&#111;n" ="."> <span ="return false" ="0" ="DDStyle" id="__Menu_er" ="return Menu &amp;&amp; !Menu.Show'__Menu_popup', ;" ="return Menu &amp;&amp; !Menu.Show'__Menu_popup', ;">English</span> <div style=":relative;text-align:left;left:0;"><div style=":;width:;left:0px;"><div ="DDStyle" style="display:n&#111;ne;" id="__Menu_popup"> <table id="Menu" border="0"> <t><tr> <td><a href="#ar" target="_blank" rel="nofollow">Arabic</a></td><td><a href="#he" target="_blank" rel="nofollow">Hebrew</a></td><td><a href="#pl" target="_blank" rel="nofollow">Polish</a></td> </tr><tr> <td><a href="#bg" target="_blank" rel="nofollow">Bulgarian</a></td><td><a href="#hi" target="_blank" rel="nofollow">Hindi</a></td><td><a href="#pt" target="_blank" rel="nofollow">Portuguese</a></td> </tr><tr> <td><a href="#ca" target="_blank" rel="nofollow">Catalan</a></td><td><a href="#mww" target="_blank" rel="nofollow">Hmong Daw</a></td><td><a href="#ro" target="_blank" rel="nofollow">Romanian</a></td> </tr><tr> <td><a href="#zh-CHS" target="_blank" rel="nofollow">Chinese Simplified</a></td><td><a href="#hu" target="_blank" rel="nofollow">Hungarian</a></td><td><a href="#ru" target="_blank" rel="nofollow">Russian</a></td> </tr><tr> <td><a href="#zh-CHT" target="_blank" rel="nofollow">Chinese Traditional</a></td><td><a href="#id" target="_blank" rel="nofollow">Indonesian</a></td><td><a href="#sk" target="_blank" rel="nofollow">Slovak</a></td> </tr><tr> <td><a href="#cs" target="_blank" rel="nofollow">Czech</a></td><td><a href="#it" target="_blank" rel="nofollow">Italian</a></td><td><a href="#sl" target="_blank" rel="nofollow">Slovenian</a></td> </tr><tr> <td><a href="#da" target="_blank" rel="nofollow">Danish</a></td><td><a href="#ja" target="_blank" rel="nofollow">Japanese</a></td><td><a href="#es" target="_blank" rel="nofollow">Spanish</a></td> </tr><tr> <td><a href="#nl" target="_blank" rel="nofollow">Dutch</a></td><td><a href="#tlh" target="_blank" rel="nofollow">Klingon</a></td><td><a href="#sv" target="_blank" rel="nofollow">Swedish</a></td> </tr><tr> <td><a href="#en" target="_blank" rel="nofollow">English</a></td><td><a href="#ko" target="_blank" rel="nofollow">Korean</a></td><td><a href="#th" target="_blank" rel="nofollow">Thai</a></td> </tr><tr> <td><a href="#et" target="_blank" rel="nofollow">Estonian</a></td><td><a href="#lv" target="_blank" rel="nofollow">Latvian</a></td><td><a href="#tr" target="_blank" rel="nofollow">Turkish</a></td> </tr><tr> <td><a href="#fi" target="_blank" rel="nofollow">Finnish</a></td><td><a href="#lt" target="_blank" rel="nofollow">Lithuanian</a></td><td><a href="#uk" target="_blank" rel="nofollow">Ukrainian</a></td> </tr><tr> <td><a href="#fr" target="_blank" rel="nofollow">French</a></td><td><a href="#ms" target="_blank" rel="nofollow">Malay</a></td><td><a href="#ur" target="_blank" rel="nofollow">Urdu</a></td> </tr><tr> <td><a href="#de" target="_blank" rel="nofollow">German</a></td><td><a href="#mt" target="_blank" rel="nofollow">Maltese</a></td><td><a href="#vi" target="_blank" rel="nofollow">Vietnamese</a></td> </tr><tr> <td><a href="#el" target="_blank" rel="nofollow">Greek</a></td><td><a href="#no" target="_blank" rel="nofollow">Norwegian</a></td><td><a href="#cy" target="_blank" rel="nofollow">Welsh</a></td> </tr><tr> <td><a href="#ht" target="_blank" rel="nofollow">Haitian Creole</a></td><td><a href="#fa" target="_blank" rel="nofollow">Persian</a></td><td></td> </tr> </t></table>  </div></div></div></div>  var LanguageMenu; var LanguageMenu_keys=&#091;"ar","bg","ca","zh-CHS","zh-CHT","cs","da","nl","en","et","fi","fr","de","el","ht","he","hi","mww","hu","id","it","ja","tlh","ko","lv","lt","ms","mt","no","fa","pl","pt","ro","ru","sk","sl","es","sv","th","tr","uk","ur","vi","cy"&#093;; var LanguageMenu_values=&#091;"Arabic","Bulgarian","Catalan","Chinese Simplified","Chinese Traditional","Czech","Danish","Dutch","English","Estonian","Finnish","French","German","Greek","Haitian Creole","Hebrew","Hindi","Hmong Daw","Hungarian","Indonesian","Italian","Japanese","Klingon","Korean","Latvian","Lithuanian","Malay","Maltese","Norwegian","Persian","Polish","Portuguese","Romanian","Russian","Slovak","Slovenian","Spanish","Swedish","Thai","Turkish","Ukrainian","Urdu","Vietnamese","Welsh"&#093;; var LanguageMenu_callback=function(){ }; var LanguageMenu_popupid='__LanguageMenu_popup';  </div> <div id="CTFsPanel"> <span id="ExternalsPanel"><a href="https://go.microsoft.com/?linkid=9722454" target="_blank" rel="nofollow"> </a> <a href="java&#115;cript:Microsoft.Translator.FloaterShow&#069;mbed%28%29" target="_blank" rel="nofollow"> </a> <a href="java&#115;cript:Microsoft.Translator.FloaterShowSharePanel%28%29" target="_blank" rel="nofollow"> </a> </span> </div> <div id="erProgressBar"> <span id="ProgressFill"></span> </div> </div> <div id="WidgeterCollapsed" style="display: n&#111;ne" ="Microsoft.Translator.er"> <span>TRANSLATE with </span></div> <div id="erSharePanel" style="display: n&#111;ne"> <div id="ShareTextDiv"> <span id="ShareTextSpan"> COPY THE URL BELOW </span> </div> <div id="ShareTextDiv"> < name="ShareText" ="text" id="ShareText" read&#111;nly="read&#111;nly" ="."> <!--a id="Twitter" title="Share &#111;n Twitter"> </a> <a-- id="Facebook" title="Share &#111;n Facebook"> </a--> <a id="Email" title="Email  translati&#111;n"> </a> </div> <div id="ShareFooter"> <span id="ShareHelpSpan"><a id="ShareHelp"> </a></span> <span id="ShareBackSpan"><a href="java&#115;cript:Microsoft.Translator.Floater&#079;nShareBackClick%28%29" target="_blank" rel="nofollow"> Back</a></span> </div> < name="EmailSubject" ="" id="EmailSubject" value="Check out  page in 0 translated from 1"> < name="Email" ="" id="Email" value="Translated: 0%0d%0aOriginal: 1%0d%0a%0d%0aAutomatic translati&#111;n powered by Microsoft® Translator%0d%0ahttp://www.bing.com/translator?ref=MSTWidget"> < ="" id="ShareHelpText" value="  allows visitors to launch  page and automatically translate it to 0."> </div> <div id="er" style="display: n&#111;ne"> <div id="TextDiv"> <span id="TextSpan">EMBED THE SNIPPET BELOW IN YOUR SITE</span> <a id="Help" title="Copy  code and place it into your ."> </a> </div> <div id="TextDiv"> < name="SnippetText" ="text" id="SnippetText" read&#111;nly="read&#111;nly" value="<div id='MicrosoftTranslatorWidget' ='Dark' style='color:white;:#555555'></div>< ='text/'>setTimeout(function(){var s=document.createElement('script');s.type='text/javascript';s.charset='UTF-8';s.src=((location &amp;&amp; location.href &amp;&amp; location.href.indexOf('https') == 0)?'https://ssl.microsofttranslator.com':'http://www.microsofttranslator.com')+'/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**&amp;ctf=true&amp;ui=true&amp;settings=manual&amp;from=en';var p=document.getElementsByTagName('head')&#091;0&#093;||document.documentElement;p.insertBefore(s,p.firstChild); },0);" onclick="this.select()"> </div> <div id="NoticeDiv"><span id="NoticeSpan">Enable collaborative features and customize widget: <a href="http://www.bing.com/widget/translator" target="_blank" rel="nofollow">Bing Webmaster Portal</a></span></div> <div id="FooterDiv"><span id="BackSpan"><a href="java&#115;cript:Microsoft.Translator.Floater&#079;n&#069;mbedBackClick%28%29" target="_blank" rel="nofollow">Back</a></span></div> </div>  var intervalId = setInterval(function () { if (MtPopUpList) { LanguageMenu = new MtPopUpList(); var langMenu = document.getElementById(LanguageMenu_popupid); var origLangDiv = document.createElement("div"); origLangDiv.id = "OriginalLanguageDiv"; origLangDiv.innerHTML = "<span id='OriginalTextSpan'>ORIGINAL: </span><span id='OriginalSpan'></span>"; langMenu.appendChild(origLangDiv); LanguageMenu.Init('LanguageMenu', LanguageMenu_keys, LanguageMenu_values, LanguageMenu_callback, LanguageMenu_popupid); window&#091;"LanguageMenu"&#093; = LanguageMenu; clearInterval(intervalId); } }, 1);  </div>]]>
   </description>
   <pubDate>Wed, 30 Jul 2025 15:05:26 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2414#2414</guid>
  </item> 
  <item>
   <title><![CDATA[SQLite : Merhaba G&#246;ksu,senin eksik olan...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2412#2412</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=324">CelalTugay</a><br /><strong>Konu:</strong> 1152<br /><strong>Gönderim Zamanı:</strong> 30&nbsp;Temmuz&nbsp;2025 Saat 14:03<br /><br />Merhaba Göksu,<br>senin eksik olan void OnHabitButtonClick kısmına&nbsp;<br><div>void OnHabitButtonClick</div><div>var</div><div>&nbsp; tiklananBtn: TClProButton;</div><div>&nbsp; tiklananHabitName: String;</div><div>&nbsp; panelName: String;</div><div>&nbsp; selectedHabitId: Integer;</div><div>&nbsp; daysQuery: TClSQLiteQuery;</div><div>&nbsp; yil, ay, gun: Integer;</div><div>{</div><div>&nbsp; try {</div><div>&nbsp; &nbsp; tiklananBtn = TClProButton(MyForm.clSender);</div><div>&nbsp; &nbsp; tiklananHabitName = tiklananBtn.Text;</div><div><br></div><div>&nbsp; &nbsp; // Başlığı güncelle</div><div>&nbsp; &nbsp; habitbaslik.Text = 'ALIŞKANLIK: ' + tiklananHabitName;</div><div><br></div><div>&nbsp; &nbsp; // Seçilen alışkanlığın ID'sini buton adından çek</div><div>&nbsp; &nbsp; // Örnek: habitBtn_3 =&gt; ID: 3</div><div>&nbsp; &nbsp; selectedHabitId = StrToInt(tiklananBtn.Name.Replace('habitBtn_', ''));</div><div><br></div><div>&nbsp; &nbsp; // Veritabanına bağlan</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabitDays.db3', '');</div><div><br></div><div>&nbsp; &nbsp; // 2026 yılındaki verileri çek (istenirse yıl dinamik yapılabilir)</div><div>&nbsp; &nbsp; daysQuery = Clomosy.DBSQLiteQueryWith(</div><div>&nbsp; &nbsp; &nbsp; 'SELECT year, month, day FROM HabitDays WHERE habitId = :id AND year = :yil'</div><div>&nbsp; &nbsp; );</div><div>&nbsp; &nbsp; daysQuery.Params.ParamByName('id').AsInteger = selectedHabitId;</div><div>&nbsp; &nbsp; daysQuery.Params.ParamByName('yil').AsInteger = 2026;</div><div>&nbsp; &nbsp; daysQuery.OpenOrExecute;</div><div><br></div><div>&nbsp; &nbsp; // Takvimdeki tüm gün butonlarını resetle (varsa renk/ikon)</div><div>&nbsp; &nbsp; for (i = 0 to 11) {</div><div>&nbsp; &nbsp; &nbsp; for (j = 0 to 31) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; if (Assigned(butonlar&#091;j&#093;)) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; butonlar&#091;j&#093;.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; butonlar&#091;j&#093;.clProSettings.PictureSource = '';</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; butonlar&#091;j&#093;.SetclProSettings(butonlar&#091;j&#093;.clProSettings);</div><div>&nbsp; &nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; &nbsp; }</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp; // Günleri işaretle</div><div>&nbsp; &nbsp; while (not daysQuery.Eof) {</div><div>&nbsp; &nbsp; &nbsp; ay = daysQuery.FieldByName('month').AsInteger;</div><div>&nbsp; &nbsp; &nbsp; gun = daysQuery.FieldByName('day').AsInteger;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; // Örnek buton adı: btn3_14 (Mart ayının 15. günü)</div><div>&nbsp; &nbsp; &nbsp; panelName = 'btn' + IntToStr(ay - 1) + '_' + IntToStr(gun - 1);</div><div>&nbsp; &nbsp; &nbsp; if (MyForm.ControlExists(panelName)) {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn = TClProButton(MyForm.FindComponent(panelName));</div><div><br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; // Arka planı yeşil yap veya ikon koy</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#00aa00');</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.clProSettings.PictureSource = '<a href="https://i.imgur.com/QAvBAvU.png" target="_blank" rel="nofollow">https://i.imgur.com/QAvBAvU.png</a>'; // Örnek tik ikonu</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.clProSettings.PictureAutoFit = true;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; tiklananBtn.SetclProSettings(tiklananBtn.clProSettings);</div><div>&nbsp; &nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp; &nbsp; daysQuery.Next;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; except {</div><div>&nbsp; &nbsp; ShowMessage('Hata oluştu: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div>&nbsp;<br>şeklinde yazıp butonların tanımlarını da yaptıysan çalışır diye umuyorum.<br>iyi çalışmalar.</div>]]>
   </description>
   <pubDate>Wed, 30 Jul 2025 14:03:57 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2412#2412</guid>
  </item> 
  <item>
   <title><![CDATA[SQLite : var  MyForm: TclForm; MainPnl,...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2410#2410</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=321">goksuselvi</a><br /><strong>Konu:</strong> 1152<br /><strong>Gönderim Zamanı:</strong> 30&nbsp;Temmuz&nbsp;2025 Saat 10:04<br /><br /><div>var&nbsp; &nbsp;</div><div>&nbsp; MyForm: TclForm;</div><div>&nbsp; MainPnl, habit1pnl, ustPanel,baslik1pnl,secimPanel,mypanel: TclProPanel;</div><div>&nbsp; butonlar: array&#091;0..31&#093; of TClProButton;</div><div>&nbsp; i, j: Integer;</div><div>&nbsp; baslik1btn:TClProButton;</div><div>&nbsp; gunSayisi, ilkGun, haftalikIndex: Integer;</div><div>&nbsp; hedefSatir: TclProPanel;</div><div>&nbsp; gunler: array&#091;0..6&#093; of String;</div><div>&nbsp; gunEtiketleri: array&#091;0..6&#093; of TclProLabel;</div><div>&nbsp; vScroll: TClVertScrollBox;</div><div>&nbsp; aylar: array&#091;0..11&#093; of String;</div><div>&nbsp; ayLabel: TClProLabel;</div><div>&nbsp; satir1Label, satir1, satir2, satir3, satir4, satir5, satir6: TclProPanel;</div><div>&nbsp; yilbaslik:tclprolabel;</div><div>&nbsp; elimage:tclproimage;</div><div>&nbsp; secimaliskanlikbtn1,secimaliskanlikbtn2,secimaliskanlikbtn3,secimaliskanlikbtn4:TClProButton;</div><div>&nbsp; Imagecircle,Imagecircle2,Imagecircle3,Imagecircle4:tclproimage;</div><div>&nbsp; secimkapatbtn:TClProButton;</div><div>&nbsp; mybuton1,mybuton2,mybuton3,mybuton4:TClProButton;</div><div>&nbsp; gunIndex, satirIndex: Integer;</div><div>&nbsp; bosLabel: TclProLabel;</div><div>&nbsp; habitbaslik:tclprolabel;</div><div>&nbsp; habitQuery: TClSQLiteQuery;</div><div>&nbsp; gelenHabitAdi: String;</div><div>&nbsp; habitId: Integer;</div><div>&nbsp; habitname:String;</div><div>&nbsp; habitListQuery:TClSQLiteQuery;</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div>void AliskanlikButonlariOlustur</div><div>var</div><div>&nbsp; habitName: String;</div><div>&nbsp; habitId: Integer;</div><div>&nbsp; habitQuery: TClSQLiteQuery;</div><div>&nbsp; yeniBtn: TClProButton;</div><div>&nbsp; habitIndex: Integer;</div><div>{</div><div>&nbsp; try {</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabits.db3', '');</div><div><br></div><div>&nbsp; &nbsp; habitQuery = Clomosy.DBSQLiteQueryWith('SELECT habitId, habitName FROM Habits ORDER BY habitId');</div><div>&nbsp; &nbsp; habitQuery.OpenOrExecute;</div><div><br></div><div>&nbsp; &nbsp; habitIndex = 1;</div><div>&nbsp; &nbsp; while (not habitQuery.Eof) {</div><div>&nbsp; &nbsp; &nbsp; habitId = habitQuery.FieldByName('habitId').AsInteger;</div><div>&nbsp; &nbsp; &nbsp; habitName = habitQuery.FieldByName('habitName').AsString;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; // Yeni alışkanlık butonu oluştur</div><div>&nbsp; &nbsp; &nbsp; yeniBtn = MyForm.AddNewProButton(secimPanel, 'habitBtn_' + IntToStr(habitId), habitName);</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Align = alTop;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Margins.Top = 5;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Width = 100;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.Height = 50;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.IsRound = True;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.FontSize = 14;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ea9eff');</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.clProSettings.BorderWidth = 2;</div><div>&nbsp; &nbsp; &nbsp; yeniBtn.SetclProSettings(yeniBtn.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; &nbsp; MyForm.AddNewEvent(yeniBtn, tbeOnClick, 'OnHabitButtonClick');</div><div><br></div><div>&nbsp; &nbsp; &nbsp; habitIndex = habitIndex + 1;</div><div>&nbsp; &nbsp; &nbsp; habitQuery.Next;</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; except {</div><div>&nbsp; &nbsp; ShowMessage('Butonlar oluşturulurken hata: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div>}</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>void CreateTableHabitskayit;</div><div>{</div><div>&nbsp; try</div><div>&nbsp; {</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'DBHabitDays.db3', '');</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.SQL.Text =&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'CREATE TABLE IF NOT EXISTS HabitDays (' +</div><div>&nbsp; &nbsp; &nbsp; 'ID INTEGER PRIMARY KEY AUTOINCREMENT,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'habitId INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'year INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'month INTEGER,' +&nbsp;</div><div>&nbsp; &nbsp; &nbsp; 'day INTEGER '+')';</div><div>&nbsp; &nbsp; Clomosy.DBSQLiteQuery.OpenOrExecute();</div><div>&nbsp; }</div><div>&nbsp; except</div><div>&nbsp; &nbsp; ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);</div><div>&nbsp; }</div><div>}</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>////////////7////YAPAMADIM////////////////////////7&nbsp;&nbsp;</div><div>void OnHabitButtonClick</div><div>var</div><div>&nbsp; tiklananBtn: TClProButton;</div><div>&nbsp; tiklananHabitName: String;</div><div>&nbsp; panelName: String;</div><div><br></div><div>{</div><div>&nbsp; tiklananBtn = TClProButton(MyForm.clSender);</div><div>&nbsp; tiklananHabitName = tiklananBtn.Text;</div><div>&nbsp;&nbsp;</div><div><br></div><div>&nbsp; habitbaslik.Text = 'ALIŞKANLIK: ' + tiklananHabitName;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div><br></div><div>}</div><div><br></div><div><br></div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; void aliskanlikclick</div><div>&nbsp;&nbsp;</div><div>&nbsp; {</div><div>&nbsp; &nbsp; secimpanel.Visible = not secimpanel.Visible;</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp; function GunSayisi(ay: Integer; yil: Integer): Integer</div><div>&nbsp; {</div><div>&nbsp; &nbsp; if ((ay == 1) || (ay == 3) || (ay == 5) || (ay == 7) || (ay == 8) || (ay == 10) || (ay == 12))</div><div>&nbsp; &nbsp; &nbsp; Result = 31</div><div>&nbsp; &nbsp; else if ((ay == 4) || (ay == 6) || (ay == 9) || (ay == 11))</div><div>&nbsp; &nbsp; &nbsp; Result = 30</div><div>&nbsp; &nbsp; else if (ay == 2)</div><div>&nbsp; &nbsp; {</div><div>&nbsp; &nbsp; &nbsp; if ((yil mod 4 == 0) &amp;&amp; ((yil mod 100 &lt;&gt; 0) || (yil mod 400 == 0)))</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Result = 29</div><div>&nbsp; &nbsp; &nbsp; else</div><div>&nbsp; &nbsp; &nbsp; &nbsp; Result = 28</div><div>&nbsp; &nbsp; }</div><div>&nbsp; &nbsp; else</div><div>&nbsp; &nbsp; &nbsp; Result = 0&nbsp;</div><div>&nbsp; }</div><div>&nbsp;&nbsp;</div><div>&nbsp; function AyIlkGunuHaftaninKaci(ay: Integer; yil: Integer): Integer</div><div>&nbsp; &nbsp; var&nbsp;</div><div>&nbsp; &nbsp; d, m, y, k, j, h,gun: Integer</div><div>{</div><div><br></div><div>&nbsp; d = 1</div><div>&nbsp; if ay &lt; 3</div><div>&nbsp; {</div><div>&nbsp; &nbsp; ay = ay + 12</div><div>&nbsp; &nbsp; yil = yil - 1</div><div>&nbsp; }</div><div><br></div><div>&nbsp; m = ay</div><div>&nbsp; y = yil mod 100</div><div>&nbsp; j = yil div 100</div><div><br></div><div>&nbsp; h = (d + (13*(m + 1)) div 5 + y + (y div 4) + (j div 4) + 5*j) mod 7</div><div>&nbsp; gun = (h + 5) mod 7 //</div><div>&nbsp; Result = gun</div><div>}</div><div><br></div><div>void TakvimCiz(ay,yil: Integer)</div><div>var</div><div>&nbsp; gunSayisi, ilkGun, i, haftalikIndex: Integer;</div><div>&nbsp; hedefSatir: TclProPanel;</div><div>&nbsp; gunEtiketi: TclProLabel;</div><div>{</div><div>&nbsp; gunSayisi = GunSayisi(ay, yil)</div><div>&nbsp; ilkGun = AyIlkGunuHaftaninKaci(ay, yil)</div><div><br></div><div>&nbsp; for i = 0 to gunSayisi - 1</div><div>&nbsp; {</div><div>&nbsp; &nbsp; haftalikIndex = i + ilkGun - 1</div><div><br></div><div>&nbsp; &nbsp; if (haftalikIndex &lt; 7)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp;hedefSatir = satir1</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 14)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir2</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 21)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir3</div><div>&nbsp; &nbsp; else if (haftalikIndex &lt; 28)&nbsp;&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir4</div><div>&nbsp; &nbsp; else&nbsp;</div><div>&nbsp; &nbsp; hedefSatir = satir5</div><div><br></div><div>&nbsp; &nbsp; gunEtiketi = MyForm.AddNewProLabel(</div><div>&nbsp; &nbsp; &nbsp; hedefSatir,</div><div>&nbsp; &nbsp; &nbsp; 'lblGun_' + IntToStr(ay) + '_' + IntToStr(i + 1),</div><div>&nbsp; &nbsp; &nbsp; IntToStr(i + 1)</div><div>&nbsp; &nbsp; )</div><div><br></div><div>&nbsp; &nbsp; gunEtiketi.Align = alRight</div><div>&nbsp; &nbsp; gunEtiketi.Margins.Right = 18</div><div>&nbsp; &nbsp; gunEtiketi.Margins.Left = 3</div><div>&nbsp; &nbsp; gunEtiketi.Width = 30</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontSize = 14</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000')</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontVertAlign = palLeading</div><div>&nbsp; &nbsp; gunEtiketi.clProSettings.FontHorzAlign = palcenter</div><div>&nbsp; &nbsp; gunEtiketi.SetclProSettings(gunEtiketi.clProSettings)</div><div>&nbsp; }</div><div>}</div><div><br></div><div>&nbsp;&nbsp;</div><div>{</div><div>&nbsp; MyForm = TclForm.Create(Self);</div><div><br></div><div>&nbsp; MainPnl = myForm.AddNewProPanel(myForm, 'MainPnl');</div><div>&nbsp; MainPnl.Align = alClient;</div><div>&nbsp;&nbsp;</div><div>&nbsp; MainPnl.Align=alCenter;</div><div>&nbsp; MainPnl.Height=630;</div><div>&nbsp; MainPnl.Width=400;</div><div>&nbsp; MainPnl.clProSettings.RoundHeight=40;</div><div>&nbsp; MainPnl.clProSettings.Roundwidth=40;</div><div>&nbsp; MainPnl.clProSettings.IsTransparent =False;</div><div>&nbsp; MainPnl.SetclProSettings(MainPnl.clProSettings);&nbsp;</div><div>&nbsp;&nbsp;</div><div><br></div><div>&nbsp; habit1pnl = MyForm.AddNewProPanel(MainPnl, 'habit1pnl');</div><div>&nbsp; habit1pnl.Align = alClient;</div><div>&nbsp; habit1pnl.SetclProSettings(habit1pnl.clProSettings);</div><div>&nbsp; &nbsp;</div><div>&nbsp; baslik1pnl = MyForm.AddNewProPanel(habit1pnl, 'baslik1pnl');</div><div>&nbsp; baslik1pnl.Align = alTop;</div><div>&nbsp; baslik1pnl.Margins.left=11;</div><div>&nbsp; baslik1pnl.Height = 100;</div><div>&nbsp; baslik1pnl.width = 200;</div><div>&nbsp; baslik1pnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#cccccc');</div><div>&nbsp; baslik1pnl.clProSettings.BorderWidth = 1;</div><div>&nbsp; baslik1pnl.SetclProSettings(baslik1pnl.clProSettings);</div><div>&nbsp; &nbsp;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; yilbaslik = myform.AddNewProLabel(baslik1pnl,'yilbaslik','YILLIK ALIŞKANLIK TAKİBİ');</div><div>&nbsp; yilbaslik.Align = altop;</div><div>&nbsp; yilbaslik.margins.left=60;</div><div>&nbsp; yilbaslik.Width = 300;</div><div>&nbsp; yilbaslik.Height = 30;</div><div>&nbsp; yilbaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; yilbaslik.clProSettings.FontSize = 20;</div><div>&nbsp; yilbaslik.clProSettings.FontVertAlign = palcenter;</div><div>&nbsp; yilbaslik.clProSettings.FontHorzAlign = palLeading;</div><div>&nbsp; yilbaslik.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; yilbaslik.clProSettings.IsFill = True;&nbsp;</div><div>&nbsp; yilbaslik.clProSettings.IsRound = True;</div><div>&nbsp;yilbaslik.SetclProSettings(yilbaslik.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp; habitbaslik = myform.AddNewProLabel(baslik1pnl,'habitbaslik','ALIŞKANLIK:');</div><div>&nbsp; habitbaslik.Align = alcenter;</div><div>&nbsp; habitbaslik.margins.left=210;</div><div>&nbsp; habitbaslik.margins.right=30;</div><div>&nbsp; habitbaslik.Width = 300;</div><div>&nbsp; habitbaslik.Height = 30;</div><div>&nbsp; habitbaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; habitbaslik.clProSettings.FontSize = 15;</div><div>&nbsp; habitbaslik.clProSettings.FontVertAlign = palcenter;</div><div>&nbsp; habitbaslik.clProSettings.FontHorzAlign = palLeading;</div><div>&nbsp; habitbaslik.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; habitbaslik.clProSettings.IsFill = True;&nbsp;</div><div>&nbsp; habitbaslik.clProSettings.IsRound = True;</div><div>&nbsp;habitbaslik.SetclProSettings(habitbaslik.clProSettings);</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; baslik1btn = MyForm.AddNewProButton(baslik1pnl, 'baslik1btn', 'Alışkanlıklar');</div><div>&nbsp; baslik1btn.Align = alcenter;</div><div>&nbsp; baslik1btn.Width = 100;</div><div>&nbsp; baslik1btn.Height = 50;</div><div>&nbsp; baslik1btn.Margins.Right = 240;</div><div>&nbsp; baslik1btn.clProSettings.IsRound = True;</div><div>&nbsp; baslik1btn.clProSettings.FontSize = 14;</div><div>&nbsp; baslik1btn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ea9eff');</div><div>&nbsp; baslik1btn.clProSettings.BorderWidth = 2;</div><div>&nbsp; baslik1btn.SetclProSettings(baslik1btn.clProSettings);</div><div>&nbsp; MyForm.AddNewEvent(baslik1btn, tbeOnClick, 'aliskanlikclick');</div><div>&nbsp;////////////////////////////////////////////////////////////////////////////////</div><div>&nbsp; secimPanel=MyForm.AddNewProPanel(MainPnl,'secimPanel');</div><div>&nbsp; secimPanel.Align = AlCenter;</div><div>&nbsp; secimpanel.margins.right=170;</div><div>&nbsp; secimpanel.margins.bottom=200;</div><div>&nbsp; secimPanel.Width = 200;</div><div>&nbsp; secimPanel.Height =250;</div><div>&nbsp; secimPanel.clProSettings.IsRound = True;</div><div>&nbsp;secimPanel.visible=false;</div><div>&nbsp;secimPanel.SetclProSettings(secimPanel.clProSettings);</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp;</div><div><br></div><div>&nbsp;</div><div><br></div><div>&nbsp;///////////////////////////////////////////////////////////////////////////////7</div><div>&nbsp;</div><div>&nbsp;</div><div>&nbsp; elImage = myForm.AddNewProImage(baslik1pnl, 'elImage');</div><div>&nbsp; elImage.Align = alcenter;</div><div>&nbsp; elimage.margins.right=140;</div><div>&nbsp; elImage.margins.top=25;</div><div>&nbsp; elImage.Width = 22;</div><div>&nbsp; elImage.Height = 24;</div><div>&nbsp; myForm.SetImage(elImage, 'https://i.imgur.com/4bxFXAo.png');</div><div>&nbsp;&nbsp;</div><div>&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp;//////////////////////////////////////////////////////////////////////////////////////7</div><div>&nbsp; vScroll = MyForm.AddNewVertScrollBox(habit1pnl, 'vScroll');</div><div>&nbsp; vScroll.Align = alClient;</div><div><br></div><div>&nbsp;</div><div>&nbsp; aylar = &#091;'Ocak','Şubat','Mart','Nisan','Mayıs','Haziran','Temmuz','Ağustos','Eylül','Ekim','Kasım','Aralık'&#093;;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; for (j = 0 to 11) {</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; ustPanel = MyForm.AddNewProPanel(vScroll, 'ustPanel' + IntToStr(j));</div><div>&nbsp; &nbsp; ustPanel.Align = alTop;</div><div>&nbsp; &nbsp; ustPanel.Width = vScroll.Width;</div><div>&nbsp; &nbsp; ustPanel.Margins.Left = 0;</div><div>&nbsp; &nbsp; ustPanel.Margins.Right = 0;</div><div>&nbsp; &nbsp; ustPanel.Height = 400;</div><div>&nbsp; &nbsp; ustPanel.Margins.Top = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.RoundHeight = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.RoundWidth = 10;</div><div>&nbsp; &nbsp; ustPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#cccccc');</div><div>&nbsp; &nbsp; ustPanel.clProSettings.BorderWidth = 2;</div><div>&nbsp; &nbsp; ustPanel.SetclProSettings(ustPanel.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; ayLabel = MyForm.AddNewProLabel(ustPanel, 'ayLabel' + IntToStr(j), aylar&#091;j&#093; + ', 2026');</div><div>&nbsp; &nbsp; ayLabel.Align = alTop;</div><div>&nbsp; &nbsp; aylabel.Margins.left=20;</div><div>&nbsp; &nbsp; ayLabel.Height = 50;</div><div>&nbsp; &nbsp; ayLabel.clProSettings.FontSize = 18;</div><div>&nbsp; &nbsp; ayLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; ayLabel.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;</div><div>&nbsp; &nbsp; ayLabel.SetclProSettings(ayLabel.clProSettings);</div><div><br></div><div>&nbsp; &nbsp; satir1Label = MyForm.AddNewProPanel(ustPanel, 'satir1Label' + IntToStr(j));</div><div>&nbsp; &nbsp; satir1Label.Align = alTop;</div><div>&nbsp; &nbsp; satir1Label.Height = 24;</div><div><br></div><div>&nbsp; &nbsp; gunler = &#091;'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'&#093;;</div><div>&nbsp; &nbsp; for (i = 0 to 6) {</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri = MyForm.AddNewProLabel(satir1Label, 'lblGun' + IntToStr(j) + '_' + IntToStr(i), gunler<em>);</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Margins.left = 18;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Margins.right= 3;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.Width = 30;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontSize = 14;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontVertAlign = palLeading;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.clProSettings.FontHorzAlign = palcenter;</div><div>&nbsp; &nbsp; &nbsp; gunEtiketleri.SetclProSettings(gunEtiketleri.clProSettings);</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; satir1 = MyForm.AddNewProPanel(ustPanel, 'satir1' + IntToStr(j)); satir1.Align = alTop; satir1.margins.left = 12; satir1.Height = 40;</div><div>&nbsp; &nbsp; satir2 = MyForm.AddNewProPanel(ustPanel, 'satir2' + IntToStr(j)); satir2.Align = alTop; satir2.margins.left = 12; satir2.Height = 40;</div><div>&nbsp; &nbsp; satir3 = MyForm.AddNewProPanel(ustPanel, 'satir3' + IntToStr(j)); satir3.Align = alTop; satir3.margins.left = 12; satir3.Height = 40;</div><div>&nbsp; &nbsp; satir4 = MyForm.AddNewProPanel(ustPanel, 'satir4' + IntToStr(j)); satir4.Align = alTop; satir4.margins.left = 12; satir4.Height = 40;</div><div>&nbsp; &nbsp; satir5 = MyForm.AddNewProPanel(ustPanel, 'satir5' + IntToStr(j)); satir5.Align = alTop; satir5.margins.left = 12; satir5.Height = 40;</div><div>&nbsp; &nbsp; satir6 = MyForm.AddNewProPanel(ustPanel, 'satir6' + IntToStr(j)); satir6.Align = alTop; satir6.margins.left = 12; satir6.Height = 40;</div><div><br></div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp; gunSayisi = GunSayisi(j + 1, 2026);</div><div>&nbsp; &nbsp; ilkGun = AyIlkGunuHaftaninKaci(j + 1, 2026); // 0: Pazartesi, 6: Pazar</div><div><br></div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; for (i = 0 to ilkGun - 1) {</div><div>&nbsp; &nbsp; &nbsp; bosLabel = MyForm.AddNewProLabel(satir1, 'lblBos' + IntToStr(j) + '_' + IntToStr(i), '');</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Width = 45;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Height = 32;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Right = 2;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Top = 4;</div><div>&nbsp; &nbsp; &nbsp; bosLabel.Margins.Left = 4;</div><div>&nbsp; &nbsp; }</div><div><br></div><div>&nbsp; &nbsp;</div><div>&nbsp; &nbsp; for (i = 0 to gunSayisi - 1) {</div><div>&nbsp; &nbsp; &nbsp; gunIndex = (i + ilkGun) mod 7; // 0: Pazartesi, 6: Pazar</div><div>&nbsp; &nbsp; &nbsp; satirIndex = (i + ilkGun) div 7; // 0: ilk satır, 1: ikinci satır, ...</div><div><br></div><div>&nbsp; &nbsp; &nbsp; if (satirIndex == 0) hedefSatir = satir1;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 1) hedefSatir = satir2;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 2) hedefSatir = satir3;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 3) hedefSatir = satir4;</div><div>&nbsp; &nbsp; &nbsp; else if (satirIndex == 4) hedefSatir = satir5;</div><div>&nbsp; &nbsp; &nbsp; else hedefSatir = satir6;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; butonlar = MyForm.AddNewProButton(hedefSatir, 'btn' + IntToStr(j) + '_' + IntToStr(i), IntToStr(i + 1));</div><div>&nbsp; &nbsp; &nbsp; butonlar.Align = alLeft;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Right = 2;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Top = 4;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Margins.Left = 4;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Width = 45;</div><div>&nbsp; &nbsp; &nbsp; butonlar.Height = 32;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.PictureSource = 'https://i.imgur.com/exBB3ZA.png';</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.PictureAutoFit = true;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.IsRound = true;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.FontSize = 9;</div><div>&nbsp; &nbsp; &nbsp; butonlar.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000');</div><div>&nbsp; &nbsp; &nbsp; butonlar.SetclProSettings(butonlar.clProSettings);</div><div>&nbsp; &nbsp; }</div><div>&nbsp; }</div><div>&nbsp; &nbsp;</div><div>&nbsp; mypanel=myForm.AddNewProPanel(MainPnl,'mypanel');</div><div>&nbsp; mypanel.Align=alMostBottom;</div><div>&nbsp; mypanel.Align=alHorizontal;</div><div>&nbsp; mypanel.Height=200;</div><div>&nbsp; mypanel.Width=300;</div><div>&nbsp; mypanel.clProSettings.RoundHeight=20;</div><div>&nbsp; mypanel.clProSettings.Roundwidth=20;</div><div>&nbsp; mypanel.clProSettings.IsTransparent =False;</div><div>&nbsp; mypanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#ffffff');</div><div>&nbsp; mypanel.clProSettings.BorderWidth = 2;</div><div>&nbsp; mypanel.SetclProSettings(mypanel.clProSettings);&nbsp;</div><div>&nbsp; &nbsp;</div><div>&nbsp; mybuton1=myForm.AddNewProButton(mypanel, 'mybuton1', '');</div><div>&nbsp; mybuton1.Align = alLeft;</div><div>&nbsp; mybuton1.margins.left=50;</div><div>&nbsp; mybuton1.margins.bottom=130;</div><div>&nbsp; mybuton1.Width = 40;</div><div>&nbsp; mybuton1.Height = 40;</div><div>&nbsp; mybuton1.clProSettings.IsRound = True;</div><div>&nbsp; mybuton1.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton1.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton1.SetclProSettings(mybuton1.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton1,'https://i.imgur.com/KcmLm4h.png');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; mybuton2=myForm.AddNewProButton(mypanel, 'mybuton2', '');</div><div>&nbsp; mybuton2.Align = alLeft;</div><div>&nbsp; mybuton2.margins.left=45;</div><div>&nbsp; mybuton2.margins.bottom=130;</div><div>&nbsp; mybuton2.Width = 40;</div><div>&nbsp; mybuton2.Height = 40;</div><div>&nbsp; mybuton2.clProSettings.IsRound = True;</div><div>&nbsp; mybuton2.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton2.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton2.SetclProSettings(mybuton2.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton2,'https://i.imgur.com/mcpG1Ot.png');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; mybuton3=myForm.AddNewProButton(mypanel, 'mybuton3', '');</div><div>&nbsp; mybuton3.Align = alLeft;</div><div>&nbsp; mybuton3.margins.left=45;</div><div>&nbsp; mybuton3.margins.bottom=130;</div><div>&nbsp; mybuton3.Width = 40;</div><div>&nbsp; mybuton3.Height = 40;</div><div>&nbsp; mybuton3.clProSettings.IsRound = True;</div><div>&nbsp; mybuton3.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton3.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton3.SetclProSettings(mybuton3.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton3,'https://i.imgur.com/yOGrUe4.png');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; mybuton4=myForm.AddNewProButton(mypanel, 'mybuton4', '');</div><div>&nbsp; mybuton4.Align = alMostRight;</div><div>&nbsp; mybuton4.margins.right=50;</div><div>&nbsp; mybuton4.margins.bottom=130;</div><div>&nbsp; mybuton4.Width = 40;</div><div>&nbsp; mybuton4.Height = 40;</div><div>&nbsp; mybuton4.clProSettings.IsRound = True;</div><div>&nbsp; mybuton4.clProSettings.RoundHeight = 10;</div><div>&nbsp; mybuton4.clProSettings.RoundWidth = 10;</div><div>&nbsp; mybuton4.SetclProSettings(mybuton4.clProSettings);</div><div>&nbsp; myForm.SetImage(mybuton4,'https://i.imgur.com/dKnXBVF.png');&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; AliskanlikButonlariOlustur;</div><div>&nbsp; MyForm.Run;</div><div>}</div><div><br></div><div>Merhaba,alışkanlık butonuma bastığımda başlık o alışkanlığım oluyo ve onun üzerinden sql bağlantısı yapıp butonlara basmak istiyorum her alışkanlığa özel ama kodu yazamadım yardım ederseniz sevinirim isterseniz sayfanın veri aldığı unittin kodunu da atabilirim.</div>< id="BFI_" style="width: 1px; height: 1px; display: n&#111;ne;"><title> </title><div id="WidgeterPanels" translate="no" style="display: n&#111;ne; text-align: left; directi&#111;n: ltr; visibility: ;" ="LTRStyle"> <div id="Widgeter" style="display: n&#111;ne" ="Microsoft.Translator.er" ="Microsoft.Translator.er"> <div id="WidgetLogoPanel"> <span id="WidgetTranslateWithSpan"><span>TRANSLATE with </span></span> <span id="Widget" title="Exit Translati&#111;n" ="Microsoft.Translator.er&#079;n">x</span></div> <div id="MenuPanel"> <div ="DDStyle_outer">< name="Menu_svid" ="text" id="Menu_svid" style="display:n&#111;ne;" autocomplete="&#111;n" value="en" ="."> < name="Menu_textid" ="text" id="Menu_textid" style="display:n&#111;ne;" autocomplete="&#111;n" ="."> <span ="return false" ="0" ="DDStyle" id="__Menu_er" ="return Menu &amp;&amp; !Menu.Show'__Menu_popup', ;" ="return Menu &amp;&amp; !Menu.Show'__Menu_popup', ;">English</span> <div style=":relative;text-align:left;left:0;"><div style=":;width:;left:0px;"><div ="DDStyle" style="display:n&#111;ne;" id="__Menu_popup"> <table id="Menu" border="0"> <t><tr> <td><a href="#ar" target="_blank" rel="nofollow">Arabic</a></td><td><a href="#he" target="_blank" rel="nofollow">Hebrew</a></td><td><a href="#pl" target="_blank" rel="nofollow">Polish</a></td> </tr><tr> <td><a href="#bg" target="_blank" rel="nofollow">Bulgarian</a></td><td><a href="#hi" target="_blank" rel="nofollow">Hindi</a></td><td><a href="#pt" target="_blank" rel="nofollow">Portuguese</a></td> </tr><tr> <td><a href="#ca" target="_blank" rel="nofollow">Catalan</a></td><td><a href="#mww" target="_blank" rel="nofollow">Hmong Daw</a></td><td><a href="#ro" target="_blank" rel="nofollow">Romanian</a></td> </tr><tr> <td><a href="#zh-CHS" target="_blank" rel="nofollow">Chinese Simplified</a></td><td><a href="#hu" target="_blank" rel="nofollow">Hungarian</a></td><td><a href="#ru" target="_blank" rel="nofollow">Russian</a></td> </tr><tr> <td><a href="#zh-CHT" target="_blank" rel="nofollow">Chinese Traditional</a></td><td><a href="#id" target="_blank" rel="nofollow">Indonesian</a></td><td><a href="#sk" target="_blank" rel="nofollow">Slovak</a></td> </tr><tr> <td><a href="#cs" target="_blank" rel="nofollow">Czech</a></td><td><a href="#it" target="_blank" rel="nofollow">Italian</a></td><td><a href="#sl" target="_blank" rel="nofollow">Slovenian</a></td> </tr><tr> <td><a href="#da" target="_blank" rel="nofollow">Danish</a></td><td><a href="#ja" target="_blank" rel="nofollow">Japanese</a></td><td><a href="#es" target="_blank" rel="nofollow">Spanish</a></td> </tr><tr> <td><a href="#nl" target="_blank" rel="nofollow">Dutch</a></td><td><a href="#tlh" target="_blank" rel="nofollow">Klingon</a></td><td><a href="#sv" target="_blank" rel="nofollow">Swedish</a></td> </tr><tr> <td><a href="#en" target="_blank" rel="nofollow">English</a></td><td><a href="#ko" target="_blank" rel="nofollow">Korean</a></td><td><a href="#th" target="_blank" rel="nofollow">Thai</a></td> </tr><tr> <td><a href="#et" target="_blank" rel="nofollow">Estonian</a></td><td><a href="#lv" target="_blank" rel="nofollow">Latvian</a></td><td><a href="#tr" target="_blank" rel="nofollow">Turkish</a></td> </tr><tr> <td><a href="#fi" target="_blank" rel="nofollow">Finnish</a></td><td><a href="#lt" target="_blank" rel="nofollow">Lithuanian</a></td><td><a href="#uk" target="_blank" rel="nofollow">Ukrainian</a></td> </tr><tr> <td><a href="#fr" target="_blank" rel="nofollow">French</a></td><td><a href="#ms" target="_blank" rel="nofollow">Malay</a></td><td><a href="#ur" target="_blank" rel="nofollow">Urdu</a></td> </tr><tr> <td><a href="#de" target="_blank" rel="nofollow">German</a></td><td><a href="#mt" target="_blank" rel="nofollow">Maltese</a></td><td><a href="#vi" target="_blank" rel="nofollow">Vietnamese</a></td> </tr><tr> <td><a href="#el" target="_blank" rel="nofollow">Greek</a></td><td><a href="#no" target="_blank" rel="nofollow">Norwegian</a></td><td><a href="#cy" target="_blank" rel="nofollow">Welsh</a></td> </tr><tr> <td><a href="#ht" target="_blank" rel="nofollow">Haitian Creole</a></td><td><a href="#fa" target="_blank" rel="nofollow">Persian</a></td><td></td> </tr> </t></table>  </div></div></div></div>  var LanguageMenu; var LanguageMenu_keys=&#091;"ar","bg","ca","zh-CHS","zh-CHT","cs","da","nl","en","et","fi","fr","de","el","ht","he","hi","mww","hu","id","it","ja","tlh","ko","lv","lt","ms","mt","no","fa","pl","pt","ro","ru","sk","sl","es","sv","th","tr","uk","ur","vi","cy"&#093;; var LanguageMenu_values=&#091;"Arabic","Bulgarian","Catalan","Chinese Simplified","Chinese Traditional","Czech","Danish","Dutch","English","Estonian","Finnish","French","German","Greek","Haitian Creole","Hebrew","Hindi","Hmong Daw","Hungarian","Indonesian","Italian","Japanese","Klingon","Korean","Latvian","Lithuanian","Malay","Maltese","Norwegian","Persian","Polish","Portuguese","Romanian","Russian","Slovak","Slovenian","Spanish","Swedish","Thai","Turkish","Ukrainian","Urdu","Vietnamese","Welsh"&#093;; var LanguageMenu_callback=function(){ }; var LanguageMenu_popupid='__LanguageMenu_popup';  </div> <div id="CTFsPanel"> <span id="ExternalsPanel"><a href="https://go.microsoft.com/?linkid=9722454" target="_blank" rel="nofollow"> </a> <a href="java&#115;cript:Microsoft.Translator.FloaterShow&#069;mbed%28%29" target="_blank" rel="nofollow"> </a> <a href="java&#115;cript:Microsoft.Translator.FloaterShowSharePanel%28%29" target="_blank" rel="nofollow"> </a> </span> </div> <div id="erProgressBar"> <span id="ProgressFill"></span> </div> </div> <div id="WidgeterCollapsed" style="display: n&#111;ne" ="Microsoft.Translator.er"> <span>TRANSLATE with </span></div> <div id="erSharePanel" style="display: n&#111;ne"> <div id="ShareTextDiv"> <span id="ShareTextSpan"> COPY THE URL BELOW </span> </div> <div id="ShareTextDiv"> < name="ShareText" ="text" id="ShareText" read&#111;nly="read&#111;nly" ="."> <!--a id="Twitter" title="Share &#111;n Twitter"> </a> <a-- id="Facebook" title="Share &#111;n Facebook"> </a--> <a id="Email" title="Email  translati&#111;n"> </a> </div> <div id="ShareFooter"> <span id="ShareHelpSpan"><a id="ShareHelp"> </a></span> <span id="ShareBackSpan"><a href="java&#115;cript:Microsoft.Translator.Floater&#079;nShareBackClick%28%29" target="_blank" rel="nofollow"> Back</a></span> </div> < name="EmailSubject" ="" id="EmailSubject" value="Check out  page in 0 translated from 1"> < name="Email" ="" id="Email" value="Translated: 0%0d%0aOriginal: 1%0d%0a%0d%0aAutomatic translati&#111;n powered by Microsoft® Translator%0d%0ahttp://www.bing.com/translator?ref=MSTWidget"> < ="" id="ShareHelpText" value="  allows visitors to launch  page and automatically translate it to 0."> </div> <div id="er" style="display: n&#111;ne"> <div id="TextDiv"> <span id="TextSpan">EMBED THE SNIPPET BELOW IN YOUR SITE</span> <a id="Help" title="Copy  code and place it into your ."> </a> </div> <div id="TextDiv"> < name="SnippetText" ="text" id="SnippetText" read&#111;nly="read&#111;nly" value="<div id='MicrosoftTranslatorWidget' ='Dark' style='color:white;:#555555'></div>< ='text/'>setTimeout(function(){var s=document.createElement('script');s.type='text/javascript';s.charset='UTF-8';s.src=((location &amp;&amp; location.href &amp;&amp; location.href.indexOf('https') == 0)?'https://ssl.microsofttranslator.com':'http://www.microsofttranslator.com')+'/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**&amp;ctf=true&amp;ui=true&amp;settings=manual&amp;from=en';var p=document.getElementsByTagName('head')&#091;0&#093;||document.documentElement;p.insertBefore(s,p.firstChild); },0);" onclick="this.select()"> </div> <div id="NoticeDiv"><span id="NoticeSpan">Enable collaborative features and customize widget: <a href="http://www.bing.com/widget/translator" target="_blank" rel="nofollow">Bing Webmaster Portal</a></span></div> <div id="FooterDiv"><span id="BackSpan"><a href="java&#115;cript:Microsoft.Translator.Floater&#079;n&#069;mbedBackClick%28%29" target="_blank" rel="nofollow">Back</a></span></div> </div>  var intervalId = setInterval(function () { if (MtPopUpList) { LanguageMenu = new MtPopUpList(); var langMenu = document.getElementById(LanguageMenu_popupid); var origLangDiv = document.createElement("div"); origLangDiv.id = "OriginalLanguageDiv"; origLangDiv.innerHTML = "<span id='OriginalTextSpan'>ORIGINAL: </span><span id='OriginalSpan'></span>"; langMenu.appendChild(origLangDiv); LanguageMenu.Init('LanguageMenu', LanguageMenu_keys, LanguageMenu_values, LanguageMenu_callback, LanguageMenu_popupid); window&#091;"LanguageMenu"&#093; = LanguageMenu; clearInterval(intervalId); } }, 1);  </div>]]>
   </description>
   <pubDate>Wed, 30 Jul 2025 10:04:48 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1152&amp;PID=2410#2410</guid>
  </item> 
 </channel>
</rss>