<?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 : ListView -1 hatası</title>
  <link>https://forum.clomosy.com.tr/</link>
  <description><![CDATA[XML içerik linki; Clomosy | Forum : Genel &#304;&#351;lemler : ListView -1 hatası]]></description>
  <copyright>Copyright (c) 2006-2013 Web Wiz Forums - All Rights Reserved.</copyright>
  <pubDate>Wed, 01 Jul 2026 20:53:30 +0000</pubDate>
  <lastBuildDate>Wed, 01 Jul 2026 17:33:01 +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=1578</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[ListView -1 hatası : Tamamd&#305;r VeliTe&#351;ekk&#252;r ederimht...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1578&amp;PID=3645#3645</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> 1578<br /><strong>Gönderim Zamanı:</strong> 01&nbsp;Temmuz&nbsp;2026 Saat 17:33<br /><br />Tamamdır Veli&nbsp;<br>Teşekkür ederim<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>Wed, 01 Jul 2026 17:33:01 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1578&amp;PID=3645#3645</guid>
  </item> 
  <item>
   <title><![CDATA[ListView -1 hatası : // manager.tro uses fonksiyonlar;  var ...]]></title>
   <link>https://forum.clomosy.com.tr/forum_posts.asp?TID=1578&amp;PID=3644#3644</link>
   <description>
    <![CDATA[<strong>Yazar:</strong> <a href="https://forum.clomosy.com.tr/member_profile.asp?PF=473">ErenTotan</a><br /><strong>Konu:</strong> 1578<br /><strong>Gönderim Zamanı:</strong> 01&nbsp;Temmuz&nbsp;2026 Saat 17:06<br /><br /><div style=": rgb255, 255, 254; line-height: 16px;"><div style=""><font face="C&#111;nsolas, C&#111;nsolas, Courier New, monospace"><span style="font-size: 12px; white-space: pre;">// manager.trouses fonksiyonlar;var  ManagerForm: TclForm;  ScrollManager: TclVertScrollBox;  FormPnl: TclProPanel;    edtHocaName, edtHocaPass: TclProEdit;</span></font></div><div style=""><font face="C&#111;nsolas, C&#111;nsolas, Courier New, monospace"><span style="font-size: 12px; white-space: pre;">  edtBrans, edtTelefon, edtTC, edtMaas, edtTarih: TclProEdit;  cbSurekli: TclCheckBox;    btnSaveHoca: TclProButton;  TeacherListView: TclListView;      BackdropPnl, SheetPnl: TclProPanel;  lblSheetTitle: TclProLabel;  btnSheetClose, btnSheetDelete, btnCallTeacher, btnMsgTeacher: TclProButton;    TeacherCodes: array&#091;0..100&#093; of String;  TeacherNames: array&#091;0..100&#093; of String;  TeacherPhones: array&#091;0..100&#093; of String;  TotalTeachers: Integer;  ClickedTeacherIndex: Integer;  selectedTeacherCode: String;void CloseBottomSheet;{  BackdropPnl.Visible = False;  SheetPnl.Visible = False;}void OpenBottomSheet;{  BackdropPnl.Visible = True;  BackdropPnl.BringToFront;  SheetPnl.Visible = True;  SheetPnl.BringToFront;}void LoadTeachers;var  clRest: TclRest;  resp: String;  idx, keyStart, keyEnd, braceCount: Integer;  ch, hocaCode, hocaData, hocaName, hocaPass, instId: String;  brans, telefon, tc, maas, tarih, surekli: String;  urlStr, baseUrl, jsonList: String;{  baseUrl = Trim(fonksiyonlar.FirebaseURL);  if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }  urlStr = baseUrl + '/ogretmenler.json';  clRest = TclRest.Create;  clRest.Accept = 'application/json';  clRest.ContentType = 'application/json';  clRest.BaseURL = urlStr;  clRest.Method = rmGET;  clRest.Execute;  resp = Trim(clRest.Response);  if ((resp == 'null') || (Length(resp) == 0) || (resp == '{}'))  {    TeacherListView.clLoadListViewDataFromDataset(Clomosy.ClDataSetFromJSON('&#091;&#093;'));    Exit;  }  jsonList = '&#091;';  TotalTeachers = 0;  idx = 2;   while (idx &lt; Length(resp))  {    keyStart = Pos('"', Copy(resp, idx, Length(resp)));    if (keyStart == 0) { Break; }    keyStart = idx + keyStart - 1;         keyEnd = Pos('"', Copy(resp, keyStart + 1, Length(resp)));    if (keyEnd == 0) { Break; }    keyEnd = keyStart + 1 + keyEnd - 1;         hocaCode = Copy(resp, keyStart + 1, keyEnd - keyStart - 1);        idx = keyEnd + 1;    while ((idx &lt; Length(resp)) &amp;&amp; (Copy(resp, idx, 1) &lt;&gt; '{')) { idx = idx + 1; }    if (idx &gt;= Length(resp)) { Break; }        keyStart = idx;     braceCount = 1;    idx = idx + 1;    while ((idx &lt;= Length(resp)) &amp;&amp; (braceCount &gt; 0))    {      ch = Copy(resp, idx, 1);      if (ch == '{') { braceCount = braceCount + 1; }      else if (ch == '}') { braceCount = braceCount - 1; }      idx = idx + 1;    }        hocaData = Copy(resp, keyStart, idx - keyStart);        if (Pos('"kurumKodu"', hocaData) &gt; 0) { instId = Clomosy.CLParseJSON(hocaData, 'kurumKodu'); } else { instId = ''; }    if (Pos('"hocaAdi"', hocaData) &gt; 0) { hocaName = Clomosy.CLParseJSON(hocaData, 'hocaAdi'); } else { hocaName = 'İsimsiz'; }    if (Pos('"sifre"', hocaData) &gt; 0) { hocaPass = Clomosy.CLParseJSON(hocaData, 'sifre'); } else { hocaPass = ''; }        if (Pos('"brans"', hocaData) &gt; 0) { brans = Clomosy.CLParseJSON(hocaData, 'brans'); } else { brans = '-'; }    if (Pos('"telefon"', hocaData) &gt; 0) { telefon = Clomosy.CLParseJSON(hocaData, 'telefon'); } else { telefon = '-'; }    if (Pos('"tc"', hocaData) &gt; 0) { tc = Clomosy.CLParseJSON(hocaData, 'tc'); } else { tc = '-'; }    if (Pos('"maas"', hocaData) &gt; 0) { maas = Clomosy.CLParseJSON(hocaData, 'maas'); } else { maas = '-'; }    if (Pos('"tarih"', hocaData) &gt; 0) { tarih = Clomosy.CLParseJSON(hocaData, 'tarih'); } else { tarih = '-'; }    if (Pos('"surekli"', hocaData) &gt; 0) { surekli = Clomosy.CLParseJSON(hocaData, 'surekli'); } else { surekli = '-'; }    if (instId == fonksiyonlar.SessionInstId)    {      if (TotalTeachers &lt; 100)      {        TeacherCodes&#091;TotalTeachers&#093; = hocaCode;        TeacherNames&#091;TotalTeachers&#093; = hocaName;        TeacherPhones&#091;TotalTeachers&#093; = telefon;                if (jsonList &lt;&gt; '&#091;') { jsonList = jsonList + ','; }        jsonList = jsonList + '{"MAIN_TEXT":"' + hocaName + ' (' + brans + ')", "SUB_TEXT":"Kod: ' + hocaCode + ' | Tip: ' + surekli + ' | Maas: ' + maas + ' | Baslama: ' + tarih + '"}';        TotalTeachers = TotalTeachers + 1;      }    }  }  jsonList = jsonList + '&#093;';  TeacherListView.clLoadListViewDataFromDataset(Clomosy.ClDataSetFromJSON(jsonList));}void SaveTeacher;var  clRest: TclRest;  jsonStr, hocaName, hocaPass, hocaCode, urlStr, baseUrl: String;  randomNum: Integer;{  hocaName = Trim(edtHocaName.Text);  hocaPass = Trim(edtHocaPass.Text);  if ((Length(hocaName) == 0) || (Length(hocaPass) == 0))  {    ShowMessage('Lutfen en azindan ogretmen adi ve sifre alanlarini doldurun!');    Exit;  }  randomNum = Round(Random * 9000) + 1000;  hocaCode = 'TCH' + IntToStr(randomNum);  jsonStr = '{"hocaAdi":"' + hocaName + '","sifre":"' + hocaPass + '"';  jsonStr = jsonStr + ',"kurumKodu":"' + fonksiyonlar.SessionInstId + '"';  jsonStr = jsonStr + ',"brans":"' + Trim(edtBrans.Text) + '"';  jsonStr = jsonStr + ',"telefon":"' + Trim(edtTelefon.Text) + '"';  jsonStr = jsonStr + ',"tc":"' + Trim(edtTC.Text) + '"';  jsonStr = jsonStr + ',"maas":"' + Trim(edtMaas.Text) + '"';  jsonStr = jsonStr + ',"tarih":"' + Trim(edtTarih.Text) + '"';    if (cbSurekli.IsChecked) { jsonStr = jsonStr + ',"surekli":"Surekli Calisan"'; }  else { jsonStr = jsonStr + ',"surekli":"Kisa Sureli"'; }    jsonStr = jsonStr + '}';    baseUrl = Trim(fonksiyonlar.FirebaseURL);  if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }  urlStr = baseUrl + '/ogretmenler/' + hocaCode + '.json';  clRest = TclRest.Create;  clRest.Accept = 'application/json';  clRest.ContentType = 'application/json';  clRest.BaseURL = urlStr;  clRest.Method = rmPUT;  clRest.Body = jsonStr;  clRest.Execute;  ShowMessage('Ogretmen basariyla eklendi! Hoca Giris Kodu: ' + hocaCode);    edtHocaName.Text = '';  edtHocaPass.Text = '';  edtBrans.Text = '';  edtTelefon.Text = '';  edtTC.Text = '';  edtMaas.Text = '';  edtTarih.Text = '';  cbSurekli.IsChecked = False;    LoadTeachers;}void DeleteTeacher;var  clRest: TclRest;  urlStr, baseUrl: String;{  if (selectedTeacherCode == '') { Exit; }  if (Ask(selectedTeacherCode + ' kodlu ogretmeni silmek istediginize emin misiniz?'))  {    baseUrl = Trim(fonksiyonlar.FirebaseURL);    if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }    urlStr = baseUrl + '/ogretmenler/' + selectedTeacherCode + '.json';    clRest = TclRest.Create;    clRest.Accept = 'application/json';    clRest.ContentType = 'application/json';    clRest.BaseURL = urlStr;    clRest.Method = rmDELETE;    clRest.Execute;    ShowMessage('Ogretmen basariyla silindi!');    CloseBottomSheet;    LoadTeachers;  }}void CallTeacher;var num: String;{  num = Trim(TeacherPhones&#091;ClickedTeacherIndex&#093;);  if ((num == '') || (num == '00000000000') || (num == '-')) { ShowMessage('Telefon numarasi kayitli degil!'); }  else { TClomosyOS.Dial(num); }  CloseBottomSheet;}void MsgTeacher;var num: String;{  num = Trim(TeacherPhones&#091;ClickedTeacherIndex&#093;);  if ((num == '') || (num == '00000000000') || (num == '-')) { ShowMessage('Telefon numarasi kayitli degil!'); }  else { TClomosyOS.OpenURL('<a href="https://wa.me/90" target="_blank" rel="nofollow">https://wa.me/90</a>' + num); }  CloseBottomSheet;}void OnItemClick;{  ClickedTeacherIndex = TeacherListView.ItemIndex;  selectedTeacherCode = TeacherCodes&#091;ClickedTeacherIndex&#093;;  lblSheetTitle.Text = TeacherNames&#091;ClickedTeacherIndex&#093; + ' Islemleri';  OpenBottomSheet;}{  ManagerForm = TclForm.Create(Self);  ManagerForm.clSetWindowState(fwsMaximized);  ManagerForm.SetFormColor('#0F172A', '', clGNone);  ScrollManager = ManagerForm.AddNewVertScrollBox(ManagerForm, 'ScrollManager');  ScrollManager.Align = alClient;  ScrollManager.Margins.Left = 10;  ScrollManager.Margins.Right = 10;  ScrollManager.Margins.Bottom = 10;  FormPnl = ManagerForm.AddNewProPanel(ScrollManager, 'FormPnl');  FormPnl.Align = alTop;  FormPnl.Height = 620;  FormPnl.Margins.Top = 15;  FormPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1E293B');  FormPnl.clProSettings.RoundHeight = 15; FormPnl.clProSettings.RoundWidth = 15;  FormPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#334155'); FormPnl.clProSettings.BorderWidth = 2;  FormPnl.SetclProSettings(FormPnl.clProSettings);  // 1. Ad Soyad  edtHocaName = ManagerForm.AddNewProEdit(FormPnl, 'edtHocaName', 'Ogretmen Adi Soyadi...');  edtHocaName.Align = alTop; edtHocaName.Height = 45; edtHocaName.Margins.Top = 15; edtHocaName.Margins.Left = 15; edtHocaName.Margins.Right = 15;  edtHocaName.clProSettings.FontColor = clAlphaColor.clWhite; edtHocaName.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtHocaName.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtHocaName.clProSettings.BorderWidth = 1; edtHocaName.clProSettings.RoundHeight = 8; edtHocaName.clProSettings.RoundWidth = 8; edtHocaName.SetclProSettings(edtHocaName.clProSettings);  // 2. Şifre  edtHocaPass = ManagerForm.AddNewProEdit(FormPnl, 'edtHocaPass', 'Giris Sifresi Belirleyin...');  edtHocaPass.Align = alTop; edtHocaPass.Height = 45; edtHocaPass.Margins.Top = 10; edtHocaPass.Margins.Left = 15; edtHocaPass.Margins.Right = 15;  edtHocaPass.clProSettings.FontColor = clAlphaColor.clWhite; edtHocaPass.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtHocaPass.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtHocaPass.clProSettings.BorderWidth = 1; edtHocaPass.clProSettings.RoundHeight = 8; edtHocaPass.clProSettings.RoundWidth = 8; edtHocaPass.SetclProSettings(edtHocaPass.clProSettings);  // 3. Branş  edtBrans = ManagerForm.AddNewProEdit(FormPnl, 'edtBrans', 'Brans (Matematik, Fizik vs.)...');  edtBrans.Align = alTop; edtBrans.Height = 45; edtBrans.Margins.Top = 10; edtBrans.Margins.Left = 15; edtBrans.Margins.Right = 15;  edtBrans.clProSettings.FontColor = clAlphaColor.clWhite; edtBrans.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtBrans.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtBrans.clProSettings.BorderWidth = 1; edtBrans.clProSettings.RoundHeight = 8; edtBrans.clProSettings.RoundWidth = 8; edtBrans.SetclProSettings(edtBrans.clProSettings);  // 4. Telefon  edtTelefon = ManagerForm.AddNewProEdit(FormPnl, 'edtTelefon', 'Telefon Numarasi (05XX)...');  edtTelefon.Align = alTop; edtTelefon.Height = 45; edtTelefon.Margins.Top = 10; edtTelefon.Margins.Left = 15; edtTelefon.Margins.Right = 15;  edtTelefon.clProSettings.FontColor = clAlphaColor.clWhite; edtTelefon.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTelefon.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTelefon.clProSettings.BorderWidth = 1; edtTelefon.clProSettings.RoundHeight = 8; edtTelefon.clProSettings.RoundWidth = 8; edtTelefon.SetclProSettings(edtTelefon.clProSettings);  // 5. TC Kimlik  edtTC = ManagerForm.AddNewProEdit(FormPnl, 'edtTC', 'TC Kimlik Numarasi...');  edtTC.Align = alTop; edtTC.Height = 45; edtTC.Margins.Top = 10; edtTC.Margins.Left = 15; edtTC.Margins.Right = 15;  edtTC.clProSettings.FontColor = clAlphaColor.clWhite; edtTC.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTC.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTC.clProSettings.BorderWidth = 1; edtTC.clProSettings.RoundHeight = 8; edtTC.clProSettings.RoundWidth = 8; edtTC.SetclProSettings(edtTC.clProSettings);  // 6. Maaş  edtMaas = ManagerForm.AddNewProEdit(FormPnl, 'edtMaas', 'Aylik Maas (TL)...');  edtMaas.Align = alTop; edtMaas.Height = 45; edtMaas.Margins.Top = 10; edtMaas.Margins.Left = 15; edtMaas.Margins.Right = 15;  edtMaas.clProSettings.FontColor = clAlphaColor.clWhite; edtMaas.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtMaas.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtMaas.clProSettings.BorderWidth = 1; edtMaas.clProSettings.RoundHeight = 8; edtMaas.clProSettings.RoundWidth = 8; edtMaas.SetclProSettings(edtMaas.clProSettings);  // 7. Tarih  edtTarih = ManagerForm.AddNewProEdit(FormPnl, 'edtTarih', 'Ise Baslama Tarihi (GG/AA/YYYY)...');  edtTarih.Align = alTop; edtTarih.Height = 45; edtTarih.Margins.Top = 10; edtTarih.Margins.Left = 15; edtTarih.Margins.Right = 15;  edtTarih.clProSettings.FontColor = clAlphaColor.clWhite; edtTarih.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTarih.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTarih.clProSettings.BorderWidth = 1; edtTarih.clProSettings.RoundHeight = 8; edtTarih.clProSettings.RoundWidth = 8; edtTarih.SetclProSettings(edtTarih.clProSettings);  // 8. Checkbox  cbSurekli = ManagerForm.AddNewCheckBox(FormPnl, 'cbSurekli', 'Surekli Calisan (Secilmezse Kisa Sureli)');  cbSurekli.Align = alTop; cbSurekli.Height = 30; cbSurekli.Margins.Top = 15; cbSurekli.Margins.Left = 20; cbSurekli.Margins.Right = 20;  cbSurekli.TextSettings.FontColor = clAlphaColor.clWhite;  // Kaydet Butonu  btnSaveHoca = fonksiyonlar.CreateMyProButton(ManagerForm, FormPnl, 'btnSaveHoca', '&#091;+&#093; Ogretmen Kaydet', '#10B981', 45);  btnSaveHoca.Align = alTop; btnSaveHoca.Margins.Top = 20; btnSaveHoca.Margins.Left = 15; btnSaveHoca.Margins.Right = 15; btnSaveHoca.Margins.Bottom = 20;  ManagerForm.AddNewEvent(btnSaveHoca, tbeOnClick, 'SaveTeacher');  // Liste Başlığı  fonksiyonlar.CreateSectionLabel(ManagerForm, ScrollManager, 'lblTitleList', 'KAYITLI OGRETMENLER LISTESI');  // Öğretmen Listesi  TeacherListView = ManagerForm.AddNewListView(ScrollManager, 'TeacherListView');  TeacherListView.Align = alTop;  TeacherListView.Height = 500;  TeacherListView.Margins.Top = 5; TeacherListView.Margins.Left = 15; TeacherListView.Margins.Right = 15; TeacherListView.Margins.Bottom = 20;  ManagerForm.AddNewEvent(TeacherListView, tbeOnClick, 'OnItemClick');  // --- POPUP MENU ---  BackdropPnl = ManagerForm.AddNewProPanel(ManagerForm, 'BackdropPnl');  BackdropPnl.Align = alClient;  BackdropPnl.clProSettings.IsTransparent = True;  BackdropPnl.Visible = False;  BackdropPnl.SetclProSettings(BackdropPnl.clProSettings);  ManagerForm.AddNewEvent(BackdropPnl, tbeOnClick, 'CloseBottomSheet');  SheetPnl = ManagerForm.AddNewProPanel(BackdropPnl, 'SheetPnl');  SheetPnl.Align = alCenter;  SheetPnl.Width = 340;  SheetPnl.Height = 350;  SheetPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1E293B');  SheetPnl.clProSettings.RoundHeight = 20;   SheetPnl.clProSettings.RoundWidth = 20;  SheetPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569');  SheetPnl.clProSettings.BorderWidth = 2;  SheetPnl.SetclProSettings(SheetPnl.clProSettings);  lblSheetTitle = ManagerForm.AddNewProLabel(SheetPnl, 'lblSheetTitle', 'Ogretmen Islemleri');  lblSheetTitle.Align = alTop;  lblSheetTitle.Height = 65;   lblSheetTitle.Margins.Top = 15;  lblSheetTitle.clProSettings.FontColor = clAlphaColor.clWhite;  lblSheetTitle.clProSettings.FontSize = 18;  lblSheetTitle.clProSettings.FontHorzAlign = palCenter;  lblSheetTitle.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;  lblSheetTitle.SetclProSettings(lblSheetTitle.clProSettings);  btnCallTeacher = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnCallTeacher', 'Ogretmeni Ara', '#2563EB', 45);  btnCallTeacher.Align = alTop; btnCallTeacher.Margins.Left = 25; btnCallTeacher.Margins.Right = 25; btnCallTeacher.Margins.Bottom = 10;  ManagerForm.AddNewEvent(btnCallTeacher, tbeOnClick, 'CallTeacher');  btnMsgTeacher = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnMsgTeacher', 'WhatsApp`tan Yaz', '#10B981', 45);  btnMsgTeacher.Align = alTop; btnMsgTeacher.Margins.Left = 25; btnMsgTeacher.Margins.Right = 25; btnMsgTeacher.Margins.Bottom = 15;  ManagerForm.AddNewEvent(btnMsgTeacher, tbeOnClick, 'MsgTeacher');  btnSheetDelete = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnSheetDelete', 'Ogretmeni Sistemden Sil', '#EF4444', 45);  btnSheetDelete.Align = alTop; btnSheetDelete.Margins.Left = 25; btnSheetDelete.Margins.Right = 25; btnSheetDelete.Margins.Bottom = 15;  ManagerForm.AddNewEvent(btnSheetDelete, tbeOnClick, 'DeleteTeacher');  LoadTeachers;  ManagerForm.Run;}</span></font></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><br></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><br></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><br></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;">RUNTIME ERROR</div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #0000ff;">File</span> <span style="color: #0000ff;">library</span> manager: Variant or safe <span style="color: #0000ff;">array</span> <span style="color: #0000ff;">index</span> out <span style="color: #0000ff;">of</span> bounds when evaluating instruction PushGlobalIdxVar (<span style="color: #3030c0;">$14</span>,<span style="color: #3030c0;">$1</span>,<span style="color: #3030c0;">$0</span>,<span style="color: #3030c0;">$0</span>,<span style="color: #a31515;">'TeacherCodes'</span>).</div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;">Stack content <span style="color: #0000ff;">is</span>: &#091;OleStr:TCH1181,-<span style="color: #098658;">1</span>,<span style="color: #098658;">2</span>,(unknown)...&#093;.</div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;">Source position: <span style="color: #098658;">234</span>,<span style="color: #098658;">58</span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;">Position: <span style="color: #098658;">234</span>, <span style="color: #098658;">58</span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;"><br></span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;"><br></span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;">//yapay zekanın düzenlediği kod hatayı kaldırdı//</span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;">/</span><span style="color: rgb204, 204, 204; font-family: &quot;Segoe WPC&quot;, &quot;Segoe UI&quot;, sans-serif; font-size: 13.008px; : rgb0, 33, 43;">Standart&nbsp;</span><code node=" " ="whitespace-pre-wrap" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-: ; --tw-gradient-via-: ; --tw-gradient-to-: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fr: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb67 128 180 / .5; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-: ; --tw-brightness: ; --tw-c&#111;ntrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-: ; --tw-backdrop-brightness: ; --tw-backdrop-c&#111;ntrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-c&#111;ntain-size: ; --tw-c&#111;ntain-layout: ; --tw-c&#111;ntain-paint: ; --tw-c&#111;ntain-style: ; white-space: pre-wrap; border-color: colorsrgb 0.8 0.8 0.8 / 0.05; -sizing: border-; border-width: 0px; border-style: solid; font-family: ui-monospace, SFMono-Regular, Menlo, M&#111;naco, C&#111;nsolas, &quot;Liberati&#111;n Mono&quot;, &quot;Courier New&quot;, monospace; font-feature-settings: normal; font-variati&#111;n-settings: normal; font-size: 0.9em; border-radius: 0.25rem; : rgba255, 255, 255, 0.1; padding: 0.125rem 0.25rem; color: rgb215, 186, 125; word-break: break-word;">TclListView</code><span style="color: rgb204, 204, 204; font-family: &quot;Segoe WPC&quot;, &quot;Segoe UI&quot;, sans-serif; font-size: 13.008px; : rgb0, 33, 43;">&nbsp;bazen direkt satıra tam ortadan tıklanmadığında bize&nbsp;</span><code node=" " ="whitespace-pre-wrap" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-: ; --tw-gradient-via-: ; --tw-gradient-to-: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fr: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb67 128 180 / .5; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-: ; --tw-brightness: ; --tw-c&#111;ntrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-: ; --tw-backdrop-brightness: ; --tw-backdrop-c&#111;ntrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-c&#111;ntain-size: ; --tw-c&#111;ntain-layout: ; --tw-c&#111;ntain-paint: ; --tw-c&#111;ntain-style: ; white-space: pre-wrap; border-color: colorsrgb 0.8 0.8 0.8 / 0.05; -sizing: border-; border-width: 0px; border-style: solid; font-family: ui-monospace, SFMono-Regular, Menlo, M&#111;naco, C&#111;nsolas, &quot;Liberati&#111;n Mono&quot;, &quot;Courier New&quot;, monospace; font-feature-settings: normal; font-variati&#111;n-settings: normal; font-size: 0.9em; border-radius: 0.25rem; : rgba255, 255, 255, 0.1; padding: 0.125rem 0.25rem; color: rgb215, 186, 125; word-break: break-word;">ItemIndex</code><span style="color: rgb204, 204, 204; font-family: &quot;Segoe WPC&quot;, &quot;Segoe UI&quot;, sans-serif; font-size: 13.008px; : rgb0, 33, 43;">&nbsp;değerini&nbsp;</span><code node=" " ="whitespace-pre-wrap" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-: ; --tw-gradient-via-: ; --tw-gradient-to-: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fr: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb67 128 180 / .5; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-: ; --tw-brightness: ; --tw-c&#111;ntrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-: ; --tw-backdrop-brightness: ; --tw-backdrop-c&#111;ntrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-c&#111;ntain-size: ; --tw-c&#111;ntain-layout: ; --tw-c&#111;ntain-paint: ; --tw-c&#111;ntain-style: ; white-space: pre-wrap; border-color: colorsrgb 0.8 0.8 0.8 / 0.05; -sizing: border-; border-width: 0px; border-style: solid; font-family: ui-monospace, SFMono-Regular, Menlo, M&#111;naco, C&#111;nsolas, &quot;Liberati&#111;n Mono&quot;, &quot;Courier New&quot;, monospace; font-feature-settings: normal; font-variati&#111;n-settings: normal; font-size: 0.9em; border-radius: 0.25rem; : rgba255, 255, 255, 0.1; padding: 0.125rem 0.25rem; color: rgb215, 186, 125; word-break: break-word;">-1</code><span style="color: rgb204, 204, 204; font-family: &quot;Segoe WPC&quot;, &quot;Segoe UI&quot;, sans-serif; font-size: 13.008px; : rgb0, 33, 43;">&nbsp;(yani bulunamadı) olarak döndürüyor.&nbsp;</span><em style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-: ; --tw-gradient-via-: ; --tw-gradient-to-: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fr: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb67 128 180 / .5; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-: ; --tw-brightness: ; --tw-c&#111;ntrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-: ; --tw-backdrop-brightness: ; --tw-backdrop-c&#111;ntrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-c&#111;ntain-size: ; --tw-c&#111;ntain-layout: ; --tw-c&#111;ntain-paint: ; --tw-c&#111;ntain-style: ; border-color: colorsrgb 0.8 0.8 0.8 / 0.05; -sizing: border-; border-width: 0px; border-style: solid; color: rgb204, 204, 204; font-family: &quot;Segoe WPC&quot;, &quot;Segoe UI&quot;, sans-serif; font-size: 13.008px; : rgb0, 33, 43;">"Clomosy'deki standart liste (TclListView) elemanlarına tıklanıldığında bazen sistem&nbsp;<code node=" " ="whitespace-pre-wrap" style="--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; --tw-rotate: 0; --tw-skew-x: 0; --tw-skew-y: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-pan-x: ; --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; --tw-gradient-from-: ; --tw-gradient-via-: ; --tw-gradient-to-: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; --tw-numeric-spacing: ; --tw-numeric-fr: ; --tw-ring-inset: ; --tw-ring-offset-width: 0px; --tw-ring-offset-color: #fff; --tw-ring-color: rgb67 128 180 / .5; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-shadow: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-shadow-colored: 0 0 #0000; --tw-: ; --tw-brightness: ; --tw-c&#111;ntrast: ; --tw-grayscale: ; --tw-hue-rotate: ; --tw-invert: ; --tw-saturate: ; --tw-sepia: ; --tw-drop-shadow: ; --tw-backdrop-: ; --tw-backdrop-brightness: ; --tw-backdrop-c&#111;ntrast: ; --tw-backdrop-grayscale: ; --tw-backdrop-hue-rotate: ; --tw-backdrop-invert: ; --tw-backdrop-opacity: ; --tw-backdrop-saturate: ; --tw-backdrop-sepia: ; --tw-c&#111;ntain-size: ; --tw-c&#111;ntain-layout: ; --tw-c&#111;ntain-paint: ; --tw-c&#111;ntain-style: ; white-space: pre-wrap; border-color: colorsrgb 0.8 0.8 0.8 / 0.05; -sizing: border-; border-width: 0px; border-style: solid; font-family: ui-monospace, SFMono-Regular, Menlo, M&#111;naco, C&#111;nsolas, &quot;Liberati&#111;n Mono&quot;, &quot;Courier New&quot;, monospace; font-feature-settings: normal; font-variati&#111;n-settings: normal; font-size: 0.9em; border-radius: 0.25rem; : rgba255, 255, 255, 0.1; padding: 0.125rem 0.25rem; color: rgb215, 186, 125; word-break: break-word;">ItemIndex</code>&nbsp;olarak boşluğa tıklandığı varsayıp -1 değerini döndürüyor, bu da diziden yanlış kişi (veya boşluk) çağırmamıza yol açıyordu. Biz de bunu, tıklanan elemanın alt metnindeki (SUB_TEXT) 'TCH...' kodunu bularak (string parçalama ile) sistemi kendi veritabanı dizimizde (TeacherCodes) eşleştirip doğru sırayı güvenli bir şekilde bulacak şekilde değiştirdik."</em></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;">ai hatanın ve çözümün bu olduğunu söylüyor!!!</span></div><div style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre;"><span style="color: #098658;">/////////////////////////////////</span></div><div style=""><font color="#098658" face="C&#111;nsolas, C&#111;nsolas, Courier New, monospace"><span style="font-size: 12px; white-space: pre;">// manager.trouses fonksiyonlar;var  ManagerForm: TclForm;  ScrollManager: TclVertScrollBox;  FormPnl: TclProPanel;    edtHocaName, edtHocaPass: TclProEdit;  edtBrans, edtTelefon, edtTC, edtMaas, edtTarih: TclProEdit;  cbSurekli: TclCheckBox;    btnSaveHoca: TclProButton;  TeacherListView: TclListView;      BackdropPnl, SheetPnl: TclProPanel;  lblSheetTitle: TclProLabel;  btnSheetClose, btnSheetDelete, btnCallTeacher, btnMsgTeacher: TclProButton;    TeacherCodes: array&#091;0..100&#093; of String;  TeacherNames: array&#091;0..100&#093; of String;  TeacherPhones: array&#091;0..100&#093; of String;  TotalTeachers: Integer;  ClickedTeacherIndex: Integer;  selectedTeacherCode: String;void CloseBottomSheet;{  BackdropPnl.Visible = False;  SheetPnl.Visible = False;}void OpenBottomSheet;{  BackdropPnl.Visible = True;  BackdropPnl.BringToFront;  SheetPnl.Visible = True;  SheetPnl.BringToFront;}void LoadTeachers;var  clRest: TclRest;  resp: String;  idx, keyStart, keyEnd, braceCount: Integer;  ch, hocaCode, hocaData, hocaName, hocaPass, instId: String;  brans, telefon, tc, maas, tarih, surekli: String;  urlStr, baseUrl, jsonList: String;{  baseUrl = Trim(fonksiyonlar.FirebaseURL);  if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }  urlStr = baseUrl + '/ogretmenler.json';  clRest = TclRest.Create;  clRest.Accept = 'application/json';  clRest.ContentType = 'application/json';  clRest.BaseURL = urlStr;  clRest.Method = rmGET;  clRest.Execute;  resp = Trim(clRest.Response);  if ((resp == 'null') || (Length(resp) == 0) || (resp == '{}'))  {    TeacherListView.clLoadListViewDataFromDataset(Clomosy.ClDataSetFromJSON('&#091;&#093;'));    Exit;  }  jsonList = '&#091;';  TotalTeachers = 0;  idx = 2;   while (idx &lt; Length(resp))  {    keyStart = Pos('"', Copy(resp, idx, Length(resp)));    if (keyStart == 0) { Break; }    keyStart = idx + keyStart - 1;         keyEnd = Pos('"', Copy(resp, keyStart + 1, Length(resp)));    if (keyEnd == 0) { Break; }    keyEnd = keyStart + 1 + keyEnd - 1;         hocaCode = Copy(resp, keyStart + 1, keyEnd - keyStart - 1);        idx = keyEnd + 1;    while ((idx &lt; Length(resp)) &amp;&amp; (Copy(resp, idx, 1) &lt;&gt; '{')) { idx = idx + 1; }    if (idx &gt;= Length(resp)) { Break; }        keyStart = idx;     braceCount = 1;    idx = idx + 1;    while ((idx &lt;= Length(resp)) &amp;&amp; (braceCount &gt; 0))    {      ch = Copy(resp, idx, 1);      if (ch == '{') { braceCount = braceCount + 1; }      else if (ch == '}') { braceCount = braceCount - 1; }      idx = idx + 1;    }        hocaData = Copy(resp, keyStart, idx - keyStart);        if (Pos('"kurumKodu"', hocaData) &gt; 0) { instId = Clomosy.CLParseJSON(hocaData, 'kurumKodu'); } else { instId = ''; }    if (Pos('"hocaAdi"', hocaData) &gt; 0) { hocaName = Clomosy.CLParseJSON(hocaData, 'hocaAdi'); } else { hocaName = 'İsimsiz'; }    if (Pos('"sifre"', hocaData) &gt; 0) { hocaPass = Clomosy.CLParseJSON(hocaData, 'sifre'); } else { hocaPass = ''; }        if (Pos('"brans"', hocaData) &gt; 0) { brans = Clomosy.CLParseJSON(hocaData, 'brans'); } else { brans = '-'; }    if (Pos('"telefon"', hocaData) &gt; 0) { telefon = Clomosy.CLParseJSON(hocaData, 'telefon'); } else { telefon = '-'; }    if (Pos('"tc"', hocaData) &gt; 0) { tc = Clomosy.CLParseJSON(hocaData, 'tc'); } else { tc = '-'; }    if (Pos('"maas"', hocaData) &gt; 0) { maas = Clomosy.CLParseJSON(hocaData, 'maas'); } else { maas = '-'; }    if (Pos('"tarih"', hocaData) &gt; 0) { tarih = Clomosy.CLParseJSON(hocaData, 'tarih'); } else { tarih = '-'; }    if (Pos('"surekli"', hocaData) &gt; 0) { surekli = Clomosy.CLParseJSON(hocaData, 'surekli'); } else { surekli = '-'; }    if (instId == fonksiyonlar.SessionInstId)    {      if (TotalTeachers &lt; 100)      {        TeacherCodes&#091;TotalTeachers&#093; = hocaCode;        TeacherNames&#091;TotalTeachers&#093; = hocaName;        TeacherPhones&#091;TotalTeachers&#093; = telefon;                if (jsonList &lt;&gt; '&#091;') { jsonList = jsonList + ','; }        jsonList = jsonList + '{"MAIN_TEXT":"' + hocaName + ' (' + brans + ')", "SUB_TEXT":"Kod: ' + hocaCode + ' | Tip: ' + surekli + ' | Maas: ' + maas + ' | Baslama: ' + tarih + '"}';        TotalTeachers = TotalTeachers + 1;      }    }  }  jsonList = jsonList + '&#093;';  TeacherListView.clLoadListViewDataFromDataset(Clomosy.ClDataSetFromJSON(jsonList));}void SaveTeacher;var  clRest: TclRest;  jsonStr, hocaName, hocaPass, hocaCode, urlStr, baseUrl: String;  randomNum: Integer;{  hocaName = Trim(edtHocaName.Text);  hocaPass = Trim(edtHocaPass.Text);  if ((Length(hocaName) == 0) || (Length(hocaPass) == 0))  {    ShowMessage('Lutfen en azindan ogretmen adi ve sifre alanlarini doldurun!');    Exit;  }  randomNum = Round(Random * 9000) + 1000;  hocaCode = 'TCH' + IntToStr(randomNum);  jsonStr = '{"hocaAdi":"' + hocaName + '","sifre":"' + hocaPass + '"';  jsonStr = jsonStr + ',"kurumKodu":"' + fonksiyonlar.SessionInstId + '"';  jsonStr = jsonStr + ',"brans":"' + Trim(edtBrans.Text) + '"';  jsonStr = jsonStr + ',"telefon":"' + Trim(edtTelefon.Text) + '"';  jsonStr = jsonStr + ',"tc":"' + Trim(edtTC.Text) + '"';  jsonStr = jsonStr + ',"maas":"' + Trim(edtMaas.Text) + '"';  jsonStr = jsonStr + ',"tarih":"' + Trim(edtTarih.Text) + '"';    if (cbSurekli.IsChecked) { jsonStr = jsonStr + ',"surekli":"Surekli Calisan"'; }  else { jsonStr = jsonStr + ',"surekli":"Kisa Sureli"'; }    jsonStr = jsonStr + '}';    baseUrl = Trim(fonksiyonlar.FirebaseURL);  if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }  urlStr = baseUrl + '/ogretmenler/' + hocaCode + '.json';  clRest = TclRest.Create;  clRest.Accept = 'application/json';  clRest.ContentType = 'application/json';  clRest.BaseURL = urlStr;  clRest.Method = rmPUT;  clRest.Body = jsonStr;  clRest.Execute;  ShowMessage('Ogretmen basariyla eklendi! Hoca Giris Kodu: ' + hocaCode);    edtHocaName.Text = '';  edtHocaPass.Text = '';  edtBrans.Text = '';  edtTelefon.Text = '';  edtTC.Text = '';  edtMaas.Text = '';  edtTarih.Text = '';  cbSurekli.IsChecked = False;    LoadTeachers;}void DeleteTeacher;var  clRest: TclRest;  urlStr, baseUrl: String;{  if (selectedTeacherCode == '') { Exit; }  if (Ask(selectedTeacherCode + ' kodlu ogretmeni silmek istediginize emin misiniz?'))  {    baseUrl = Trim(fonksiyonlar.FirebaseURL);    if (Copy(baseUrl, Length(baseUrl), 1) == '/') { baseUrl = Copy(baseUrl, 1, Length(baseUrl) - 1); }    urlStr = baseUrl + '/ogretmenler/' + selectedTeacherCode + '.json';    clRest = TclRest.Create;    clRest.Accept = 'application/json';    clRest.ContentType = 'application/json';    clRest.BaseURL = urlStr;    clRest.Method = rmDELETE;    clRest.Execute;    ShowMessage('Ogretmen basariyla silindi!');    CloseBottomSheet;    LoadTeachers;  }}void CallTeacher;var num: String;{  num = Trim(TeacherPhones&#091;ClickedTeacherIndex&#093;);  if ((num == '') || (num == '00000000000') || (num == '-')) { ShowMessage('Telefon numarasi kayitli degil!'); }  else { TClomosyOS.Dial(num); }  CloseBottomSheet;}void MsgTeacher;var num: String;{  num = Trim(TeacherPhones&#091;ClickedTeacherIndex&#093;);  if ((num == '') || (num == '00000000000') || (num == '-')) { ShowMessage('Telefon numarasi kayitli degil!'); }  else { TClomosyOS.OpenURL('<a href="https://wa.me/90" target="_blank" rel="nofollow">https://wa.me/90</a>' + num); }  CloseBottomSheet;}void OnItemClick;var  clickedText: String;  startPos: Integer;  tempStr: String;  i: Integer;{  clickedText = TeacherListView.clSelectedItemData('SUB_TEXT');  startPos = Pos('Kod: ', clickedText);  if (startPos &gt; 0)  {    tempStr = Copy(clickedText, startPos + 5, 20);    selectedTeacherCode = Copy(tempStr, 1, Pos(' |', tempStr) - 1);        ClickedTeacherIndex = -1;    for i = 0 to TotalTeachers - 1    {      if (TeacherCodes<em> == selectedTeacherCode)      {        ClickedTeacherIndex = i;      }    }        if (ClickedTeacherIndex &lt;&gt; -1)    {      lblSheetTitle.Text = TeacherNames&#091;ClickedTeacherIndex&#093; + ' Islemleri';      OpenBottomSheet;    }  }}{  ManagerForm = TclForm.Create(Self);  ManagerForm.clSetWindowState(fwsMaximized);  ManagerForm.SetFormColor('#0F172A', '', clGNone);  ScrollManager = ManagerForm.AddNewVertScrollBox(ManagerForm, 'ScrollManager');  ScrollManager.Align = alClient;  ScrollManager.Margins.Left = 10;  ScrollManager.Margins.Right = 10;  ScrollManager.Margins.Bottom = 10;  FormPnl = ManagerForm.AddNewProPanel(ScrollManager, 'FormPnl');  FormPnl.Align = alTop;  FormPnl.Height = 620;  FormPnl.Margins.Top = 15;  FormPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1E293B');  FormPnl.clProSettings.RoundHeight = 15; FormPnl.clProSettings.RoundWidth = 15;  FormPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#334155'); FormPnl.clProSettings.BorderWidth = 2;  FormPnl.SetclProSettings(FormPnl.clProSettings);  // 1. Ad Soyad  edtHocaName = ManagerForm.AddNewProEdit(FormPnl, 'edtHocaName', 'Ogretmen Adi Soyadi...');  edtHocaName.Align = alTop; edtHocaName.Height = 45; edtHocaName.Margins.Top = 15; edtHocaName.Margins.Left = 15; edtHocaName.Margins.Right = 15;  edtHocaName.clProSettings.FontColor = clAlphaColor.clWhite; edtHocaName.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtHocaName.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtHocaName.clProSettings.BorderWidth = 1; edtHocaName.clProSettings.RoundHeight = 8; edtHocaName.clProSettings.RoundWidth = 8; edtHocaName.SetclProSettings(edtHocaName.clProSettings);  // 2. Şifre  edtHocaPass = ManagerForm.AddNewProEdit(FormPnl, 'edtHocaPass', 'Giris Sifresi Belirleyin...');  edtHocaPass.Align = alTop; edtHocaPass.Height = 45; edtHocaPass.Margins.Top = 10; edtHocaPass.Margins.Left = 15; edtHocaPass.Margins.Right = 15;  edtHocaPass.clProSettings.FontColor = clAlphaColor.clWhite; edtHocaPass.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtHocaPass.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtHocaPass.clProSettings.BorderWidth = 1; edtHocaPass.clProSettings.RoundHeight = 8; edtHocaPass.clProSettings.RoundWidth = 8; edtHocaPass.SetclProSettings(edtHocaPass.clProSettings);  // 3. Branş  edtBrans = ManagerForm.AddNewProEdit(FormPnl, 'edtBrans', 'Brans (Matematik, Fizik vs.)...');  edtBrans.Align = alTop; edtBrans.Height = 45; edtBrans.Margins.Top = 10; edtBrans.Margins.Left = 15; edtBrans.Margins.Right = 15;  edtBrans.clProSettings.FontColor = clAlphaColor.clWhite; edtBrans.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtBrans.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtBrans.clProSettings.BorderWidth = 1; edtBrans.clProSettings.RoundHeight = 8; edtBrans.clProSettings.RoundWidth = 8; edtBrans.SetclProSettings(edtBrans.clProSettings);  // 4. Telefon  edtTelefon = ManagerForm.AddNewProEdit(FormPnl, 'edtTelefon', 'Telefon Numarasi (05XX)...');  edtTelefon.Align = alTop; edtTelefon.Height = 45; edtTelefon.Margins.Top = 10; edtTelefon.Margins.Left = 15; edtTelefon.Margins.Right = 15;  edtTelefon.clProSettings.FontColor = clAlphaColor.clWhite; edtTelefon.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTelefon.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTelefon.clProSettings.BorderWidth = 1; edtTelefon.clProSettings.RoundHeight = 8; edtTelefon.clProSettings.RoundWidth = 8; edtTelefon.SetclProSettings(edtTelefon.clProSettings);  // 5. TC Kimlik  edtTC = ManagerForm.AddNewProEdit(FormPnl, 'edtTC', 'TC Kimlik Numarasi...');  edtTC.Align = alTop; edtTC.Height = 45; edtTC.Margins.Top = 10; edtTC.Margins.Left = 15; edtTC.Margins.Right = 15;  edtTC.clProSettings.FontColor = clAlphaColor.clWhite; edtTC.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTC.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTC.clProSettings.BorderWidth = 1; edtTC.clProSettings.RoundHeight = 8; edtTC.clProSettings.RoundWidth = 8; edtTC.SetclProSettings(edtTC.clProSettings);  // 6. Maaş  edtMaas = ManagerForm.AddNewProEdit(FormPnl, 'edtMaas', 'Aylik Maas (TL)...');  edtMaas.Align = alTop; edtMaas.Height = 45; edtMaas.Margins.Top = 10; edtMaas.Margins.Left = 15; edtMaas.Margins.Right = 15;  edtMaas.clProSettings.FontColor = clAlphaColor.clWhite; edtMaas.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtMaas.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtMaas.clProSettings.BorderWidth = 1; edtMaas.clProSettings.RoundHeight = 8; edtMaas.clProSettings.RoundWidth = 8; edtMaas.SetclProSettings(edtMaas.clProSettings);  // 7. Tarih  edtTarih = ManagerForm.AddNewProEdit(FormPnl, 'edtTarih', 'Ise Baslama Tarihi (GG/AA/YYYY)...');  edtTarih.Align = alTop; edtTarih.Height = 45; edtTarih.Margins.Top = 10; edtTarih.Margins.Left = 15; edtTarih.Margins.Right = 15;  edtTarih.clProSettings.FontColor = clAlphaColor.clWhite; edtTarih.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F172A'); edtTarih.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569'); edtTarih.clProSettings.BorderWidth = 1; edtTarih.clProSettings.RoundHeight = 8; edtTarih.clProSettings.RoundWidth = 8; edtTarih.SetclProSettings(edtTarih.clProSettings);  // 8. Checkbox  cbSurekli = ManagerForm.AddNewCheckBox(FormPnl, 'cbSurekli', 'Surekli Calisan (Secilmezse Kisa Sureli)');  cbSurekli.Align = alTop; cbSurekli.Height = 30; cbSurekli.Margins.Top = 15; cbSurekli.Margins.Left = 20; cbSurekli.Margins.Right = 20;  cbSurekli.TextSettings.FontColor = clAlphaColor.clWhite;  // Kaydet Butonu  btnSaveHoca = fonksiyonlar.CreateMyProButton(ManagerForm, FormPnl, 'btnSaveHoca', '&#091;+&#093; Ogretmen Kaydet', '#10B981', 45);  btnSaveHoca.Align = alTop; btnSaveHoca.Margins.Top = 20; btnSaveHoca.Margins.Left = 15; btnSaveHoca.Margins.Right = 15; btnSaveHoca.Margins.Bottom = 20;  ManagerForm.AddNewEvent(btnSaveHoca, tbeOnClick, 'SaveTeacher');  // Liste Başlığı  fonksiyonlar.CreateSectionLabel(ManagerForm, ScrollManager, 'lblTitleList', 'KAYITLI OGRETMENLER LISTESI');  // Öğretmen Listesi  TeacherListView = ManagerForm.AddNewListView(ScrollManager, 'TeacherListView');  TeacherListView.Align = alTop;  TeacherListView.Height = 500;  TeacherListView.Margins.Top = 5; TeacherListView.Margins.Left = 15; TeacherListView.Margins.Right = 15; TeacherListView.Margins.Bottom = 20;  ManagerForm.AddNewEvent(TeacherListView, tbeOnClick, 'OnItemClick');  // --- POPUP MENU ---  BackdropPnl = ManagerForm.AddNewProPanel(ManagerForm, 'BackdropPnl');  BackdropPnl.Align = alClient;  BackdropPnl.clProSettings.IsTransparent = True;  BackdropPnl.Visible = False;  BackdropPnl.SetclProSettings(BackdropPnl.clProSettings);  ManagerForm.AddNewEvent(BackdropPnl, tbeOnClick, 'CloseBottomSheet');  SheetPnl = ManagerForm.AddNewProPanel(BackdropPnl, 'SheetPnl');  SheetPnl.Align = alCenter;  SheetPnl.Width = 340;  SheetPnl.Height = 350;  SheetPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1E293B');  SheetPnl.clProSettings.RoundHeight = 20;   SheetPnl.clProSettings.RoundWidth = 20;  SheetPnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#475569');  SheetPnl.clProSettings.BorderWidth = 2;  SheetPnl.SetclProSettings(SheetPnl.clProSettings);  lblSheetTitle = ManagerForm.AddNewProLabel(SheetPnl, 'lblSheetTitle', 'Ogretmen Islemleri');  lblSheetTitle.Align = alTop;  lblSheetTitle.Height = 65;   lblSheetTitle.Margins.Top = 15;  lblSheetTitle.clProSettings.FontColor = clAlphaColor.clWhite;  lblSheetTitle.clProSettings.FontSize = 18;  lblSheetTitle.clProSettings.FontHorzAlign = palCenter;  lblSheetTitle.clProSettings.TextSettings.Font.Style = &#091;fsBold&#093;;  lblSheetTitle.SetclProSettings(lblSheetTitle.clProSettings);  btnCallTeacher = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnCallTeacher', 'Ogretmeni Ara', '#2563EB', 45);  btnCallTeacher.Align = alTop; btnCallTeacher.Margins.Left = 25; btnCallTeacher.Margins.Right = 25; btnCallTeacher.Margins.Bottom = 10;  ManagerForm.AddNewEvent(btnCallTeacher, tbeOnClick, 'CallTeacher');  btnMsgTeacher = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnMsgTeacher', 'WhatsApp`tan Yaz', '#10B981', 45);  btnMsgTeacher.Align = alTop; btnMsgTeacher.Margins.Left = 25; btnMsgTeacher.Margins.Right = 25; btnMsgTeacher.Margins.Bottom = 15;  ManagerForm.AddNewEvent(btnMsgTeacher, tbeOnClick, 'MsgTeacher');  btnSheetDelete = fonksiyonlar.CreateMyProButton(ManagerForm, SheetPnl, 'btnSheetDelete', 'Ogretmeni Sistemden Sil', '#EF4444', 45);  btnSheetDelete.Align = alTop; btnSheetDelete.Margins.Left = 25; btnSheetDelete.Margins.Right = 25; btnSheetDelete.Margins.Bottom = 15;  ManagerForm.AddNewEvent(btnSheetDelete, tbeOnClick, 'DeleteTeacher');  LoadTeachers;  ManagerForm.Run;}</span></font><span style="font-family: C&#111;nsolas, C&#111;nsolas, &quot;Courier New&quot;, monospace; font-size: 12px; white-space: pre; color: rgb9, 134, 88;"></span></div><div><span style="color: #098658;">////////////////////</span></div></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>Wed, 01 Jul 2026 17:06:28 +0000</pubDate>
   <guid isPermaLink="true">https://forum.clomosy.com.tr/forum_posts.asp?TID=1578&amp;PID=3644#3644</guid>
  </item> 
 </channel>
</rss>