Sayfayı Yazdır | Pencereyi Kapat

Clomosy TRobject Hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1647
Tarih: 07 Ağustos 2026 Saat 16:35
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Clomosy TRobject Hatası
Mesajı Yazan: ismet
Konu: Clomosy TRobject Hatası
Mesaj Tarihi: 07 Ağustos 2026 Saat 14:04
var
  GlobalForm    : TclForm;
  MainPanel     : TclProPanel;
  LoginScroll   : TclVertScrollBox;

  TopBanner     : TclProPanel;
  HeaderTagLbl  : TclProLabel;
  BaslikLbl     : TclProLabel;
  AltBaslikLbl  : TclProLabel;

  CardShadow    : TclProPanel;
  LoginCard     : TclProPanel;

  UserLbl       : TclProLabel;
  UserEdit      : TclProEdit;

  PassLbl       : TclProLabel;
  PassEdit      : TclProEdit;
  PassToggleBtn : TclProButton;

  HataLbl       : TclProLabel;
  LoginBtn      : TclProButton;

  AyiriciSol    : TclProPanel;
  AyiriciLbl    : TclProLabel;
  AyiriciSag    : TclProPanel;

  KayitBtn      : TclProButton;

  Qry           : TclQuery;

void LoginClick;
{
  if ((UserEdit.Text == '') || (PassEdit.Text == ''))
  {
    HataLbl.Text = 'Lütfen tüm alanları doldurunuz!';
    HataLbl.Visible = True;
    Exit;
  }

  Qry = Clomosy.DBSQLServerQueryWith('SELECT Id, KullaniciAdi, AdSoyad, UyeTipi FROM Kullanicilar WHERE (KullaniciAdi = ' + QuotedStr(UserEdit.Text) + ' OR Email = ' + QuotedStr(UserEdit.Text) + ') AND Sifre = ' + QuotedStr(PassEdit.Text));
  Qry.Open;

  if (Qry.Eof == False)
  {
    HataLbl.Visible = False;
    Clomosy.GlobalVariableInteger = Qry.FieldByName('Id').AsInteger;
    Clomosy.GlobalVariableString = Qry.FieldByName('KullaniciAdi').AsString;

    // UyeTipi = 'Yonetici' olan kullanıcı admin paneline yönlendirilir
    if (Qry.FieldByName('UyeTipi').AsString == 'Yonetici')
    {
      Clomosy.RunUnit('02_uAdminPanel');
    }
    else
    {
      Clomosy.RunUnit('Main');
    }
    Exit;
  }
  else
  {
    HataLbl.Text = 'Kullanıcı adı veya şifre hatalı!';
    HataLbl.Visible = True;
  }
}
void SifreGoster;
{
  if (PassEdit.Password == True)
  {
    PassEdit.Password = False;
    PassToggleBtn.Text = 'GİZLE';
  }
  else
  {
    PassEdit.Password = True;
    PassToggleBtn.Text = 'GÖSTER';
  }
}

void KayitOlGit;
{
  Clomosy.RunUnit('01_uKayitOl');
}

void CreatePage;
{
  GlobalForm = TclForm.Create(Self);

  MainPanel = GlobalForm.AddNewProPanel(GlobalForm, 'MainPanel');
  MainPanel.Align = alClient;
  MainPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  MainPanel.SetclProSettings(MainPanel.clProSettings);

  LoginScroll = GlobalForm.AddNewVertScrollBox(MainPanel, 'LoginScroll');
  LoginScroll.Align = alClient;

  // TOP HERO BANNER (Zümrüt Yeşil Header)
  TopBanner = GlobalForm.AddNewProPanel(LoginScroll, 'TopBanner');
  TopBanner.Align = alNone;
  TopBanner.Width = GlobalForm.clWidth;
  TopBanner.Height = 210;
  TopBanner.Position.X = 0;
  TopBanner.Position.Y = 0;
  TopBanner.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#064E3B');
  TopBanner.SetclProSettings(TopBanner.clProSettings);

  HeaderTagLbl = GlobalForm.AddNewProLabel(TopBanner, 'HeaderTagLbl', Chr($26BD) + ' SAHA EŞLEŞTİRME PLATFORMU');
  HeaderTagLbl.Align = alNone;
  HeaderTagLbl.Width = GlobalForm.clWidth;
  HeaderTagLbl.Height = 18;
  HeaderTagLbl.Position.X = 0;
  HeaderTagLbl.Position.Y = 45;
  HeaderTagLbl.clProSettings.FontSize = 10;
  HeaderTagLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#6EE7B7');
  HeaderTagLbl.clProSettings.FontHorzAlign = palCenter;
  HeaderTagLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  HeaderTagLbl.SetclProSettings(HeaderTagLbl.clProSettings);

  BaslikLbl = GlobalForm.AddNewProLabel(TopBanner, 'BaslikLbl', 'ADAM LAZIM');
  BaslikLbl.Align = alNone;
  BaslikLbl.Width = GlobalForm.clWidth;
  BaslikLbl.Height = 42;
  BaslikLbl.Position.X = 0;
  BaslikLbl.Position.Y = 65;
  BaslikLbl.clProSettings.FontSize = 28;
  BaslikLbl.clProSettings.FontColor = clAlphaColor.clWhite;
  BaslikLbl.clProSettings.FontHorzAlign = palCenter;
  BaslikLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  BaslikLbl.SetclProSettings(BaslikLbl.clProSettings);

  AltBaslikLbl = GlobalForm.AddNewProLabel(TopBanner, 'AltBaslikLbl', 'Halı Saha Oyuncu ve Takım Bulma Portalı');
  AltBaslikLbl.Align = alNone;
  AltBaslikLbl.Width = GlobalForm.clWidth;
  AltBaslikLbl.Height = 24;
  AltBaslikLbl.Position.X = 0;
  AltBaslikLbl.Position.Y = 112;
  AltBaslikLbl.clProSettings.FontSize = 12;
  AltBaslikLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#A7F3D0');
  AltBaslikLbl.clProSettings.FontHorzAlign = palCenter;
  AltBaslikLbl.SetclProSettings(AltBaslikLbl.clProSettings);

  // KART GÖLGESİ
  CardShadow = GlobalForm.AddNewProPanel(LoginScroll, 'CardShadow');
  CardShadow.Align = alNone;
  CardShadow.Width = 330;
  CardShadow.Height = 425;
  CardShadow.Position.X = (GlobalForm.clWidth - 330) / 2;
  CardShadow.Position.Y = 176;
  CardShadow.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0F000000');
  CardShadow.clProSettings.RoundWidth = 20;
  CardShadow.clProSettings.RoundHeight = 20;
  CardShadow.SetclProSettings(CardShadow.clProSettings);

  // ANA GİRİŞ KARTI
  LoginCard = GlobalForm.AddNewProPanel(LoginScroll, 'LoginCard');
  LoginCard.Align = alNone;
  LoginCard.Width = 330;
  LoginCard.Height = 425;
  LoginCard.Position.X = (GlobalForm.clWidth - 330) / 2;
  LoginCard.Position.Y = 170;
  LoginCard.clProSettings.BackgroundColor = clAlphaColor.clWhite;
  LoginCard.clProSettings.RoundWidth = 20;
  LoginCard.clProSettings.RoundHeight = 20;
  LoginCard.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E2E8F0');
  LoginCard.clProSettings.BorderWidth = 1;
  LoginCard.SetclProSettings(LoginCard.clProSettings);

  // Kullanıcı Adı
  UserLbl = GlobalForm.AddNewProLabel(LoginCard, 'UserLbl', 'Kullanıcı Adı veya E-Posta');
  UserLbl.Align = alNone;
  UserLbl.Width = 270;
  UserLbl.Height = 18;
  UserLbl.Position.X = 30;
  UserLbl.Position.Y = 24;
  UserLbl.clProSettings.FontSize = 11;
  UserLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
  UserLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  UserLbl.SetclProSettings(UserLbl.clProSettings);

  UserEdit = GlobalForm.AddNewProEdit(LoginCard, 'UserEdit', 'Kullanıcı adı veya e-posta');
  UserEdit.Align = alNone;
  UserEdit.Width = 270;
  UserEdit.Height = 42;
  UserEdit.Position.X = 30;
  UserEdit.Position.Y = 44;
  UserEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  UserEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  UserEdit.clProSettings.BorderWidth = 1;
  UserEdit.clProSettings.RoundWidth = 10;
  UserEdit.clProSettings.RoundHeight = 10;
  UserEdit.clProSettings.FontSize = 12;
  UserEdit.SetclProSettings(UserEdit.clProSettings);

  // Şifre
  PassLbl = GlobalForm.AddNewProLabel(LoginCard, 'PassLbl', 'Şifre');
  PassLbl.Align = alNone;
  PassLbl.Width = 160;
  PassLbl.Height = 18;
  PassLbl.Position.X = 30;
  PassLbl.Position.Y = 100;
  PassLbl.clProSettings.FontSize = 11;
  PassLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#334155');
  PassLbl.clProSettings.TextSettings.Font.Style = [fsBold];
  PassLbl.SetclProSettings(PassLbl.clProSettings);

  PassToggleBtn = GlobalForm.AddNewProButton(LoginCard, 'PassToggleBtn', 'GÖSTER');
  PassToggleBtn.Align = alNone;
  PassToggleBtn.Width = 70;
  PassToggleBtn.Height = 20;
  PassToggleBtn.Position.X = 230;
  PassToggleBtn.Position.Y = 98;
  PassToggleBtn.clProSettings.BackgroundColor = clAlphaColor.clNull;
  PassToggleBtn.clProSettings.BorderWidth = 0;
  PassToggleBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#059669');
  PassToggleBtn.clProSettings.FontSize = 10;
  PassToggleBtn.clProSettings.TextSettings.Font.Style = [fsBold];
  PassToggleBtn.SetclProSettings(PassToggleBtn.clProSettings);
  GlobalForm.AddNewEvent(PassToggleBtn, tbeOnClick, 'SifreGoster');

  PassEdit = GlobalForm.AddNewProEdit(LoginCard, 'PassEdit', 'Şifrenizi girin');
  PassEdit.Align = alNone;
  PassEdit.Width = 270;
  PassEdit.Height = 42;
  PassEdit.Position.X = 30;
  PassEdit.Position.Y = 120;
  PassEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F8FAFC');
  PassEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  PassEdit.clProSettings.BorderWidth = 1;
  PassEdit.clProSettings.RoundWidth = 10;
  PassEdit.clProSettings.RoundHeight = 10;
  PassEdit.clProSettings.FontSize = 12;
  PassEdit.SetclProSettings(PassEdit.clProSettings);
  PassEdit.Password = True;

  // Hata Mesajı
  HataLbl = GlobalForm.AddNewProLabel(LoginCard, 'HataLbl', '');
  HataLbl.Align = alNone;
  HataLbl.Width = 270;
  HataLbl.Height = 32;
  HataLbl.Position.X = 30;
  HataLbl.Position.Y = 172;
  HataLbl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FEF2F2');
  HataLbl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FCA5A5');
  HataLbl.clProSettings.BorderWidth = 1;
  HataLbl.clProSettings.RoundWidth = 8;
  HataLbl.clProSettings.RoundHeight = 8;
  HataLbl.clProSettings.FontSize = 11;
  HataLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#DC2626');
  HataLbl.clProSettings.FontHorzAlign = palCenter;
  HataLbl.SetclProSettings(HataLbl.clProSettings);
  HataLbl.Visible = False;

  // BİRİNCİL BUTON: GİRİŞ YAP
  LoginBtn = GlobalForm.AddNewProButton(LoginCard, 'LoginBtn', 'GİRİŞ YAP   ' + Chr($279C));
  LoginBtn.Align = alNone;
  LoginBtn.Width = 270;
  LoginBtn.Height = 48;
  LoginBtn.Position.X = 30;
  LoginBtn.Position.Y = 218;
  LoginBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#059669');
  LoginBtn.clProSettings.FontColor = clAlphaColor.clWhite;
  LoginBtn.clProSettings.FontSize = 14;
  LoginBtn.clProSettings.RoundWidth = 12;
  LoginBtn.clProSettings.RoundHeight = 12;
  LoginBtn.clProSettings.TextSettings.Font.Style = [fsBold];
  LoginBtn.SetclProSettings(LoginBtn.clProSettings);
  GlobalForm.AddNewEvent(LoginBtn, tbeOnClick, 'LoginClick');

  // ÇİZGİLİ AYIRICI
  AyiriciSol = GlobalForm.AddNewProPanel(LoginCard, 'AyiriciSol');
  AyiriciSol.Align = alNone;
  AyiriciSol.Width = 95;
  AyiriciSol.Height = 1;
  AyiriciSol.Position.X = 30;
  AyiriciSol.Position.Y = 290;
  AyiriciSol.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0');
  AyiriciSol.SetclProSettings(AyiriciSol.clProSettings);

  AyiriciLbl = GlobalForm.AddNewProLabel(LoginCard, 'AyiriciLbl', 'veya');
  AyiriciLbl.Align = alNone;
  AyiriciLbl.Width = 50;
  AyiriciLbl.Height = 18;
  AyiriciLbl.Position.X = 140;
  AyiriciLbl.Position.Y = 281;
  AyiriciLbl.clProSettings.FontSize = 11;
  AyiriciLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#94A3B8');
  AyiriciLbl.clProSettings.FontHorzAlign = palCenter;
  AyiriciLbl.SetclProSettings(AyiriciLbl.clProSettings);

  AyiriciSag = GlobalForm.AddNewProPanel(LoginCard, 'AyiriciSag');
  AyiriciSag.Align = alNone;
  AyiriciSag.Width = 95;
  AyiriciSag.Height = 1;
  AyiriciSag.Position.X = 205;
  AyiriciSag.Position.Y = 290;
  AyiriciSag.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#E2E8F0');
  AyiriciSag.SetclProSettings(AyiriciSag.clProSettings);

  // İKİNCİL BUTON: KAYIT OL YÖNLENDİRMESİ
  KayitBtn = GlobalForm.AddNewProButton(LoginCard, 'KayitBtn', 'Hesabın yok mu? Kayıt Ol');
  KayitBtn.Align = alNone;
  KayitBtn.Width = 270;
  KayitBtn.Height = 44;
  KayitBtn.Position.X = 30;
  KayitBtn.Position.Y = 324;
  KayitBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F1F5F9');
  KayitBtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#CBD5E1');
  KayitBtn.clProSettings.BorderWidth = 1;
  KayitBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#059669');
  KayitBtn.clProSettings.FontSize = 12;
  KayitBtn.clProSettings.RoundWidth = 10;
  KayitBtn.clProSettings.RoundHeight = 10;
  KayitBtn.clProSettings.FontHorzAlign = palCenter;
  KayitBtn.clProSettings.TextSettings.Font.Style = [fsBold];
  KayitBtn.SetclProSettings(KayitBtn.clProSettings);
  GlobalForm.AddNewEvent(KayitBtn, tbeOnClick, 'KayitOlGit');
}

{
  CreatePage;
  GlobalForm.Run;
} giriş yap formunda SQL Server a kayıtlı kullanıcı adı şifresi girdiğimde hata vesaire vermiyo direk giriş yap dediğimde giriş yap formunu sıfırlıyo ilk acıldığı gibi geliyor fakat ismet adlı kullanıcıdan giriş yaparken bir problem yaşanmıyor 

https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" crossorigin="anonymous">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 07 Ağustos 2026 Saat 14:32
Merhaba İsmet 

ilgili prosedürü günceller misin 

void LoginClick;
var
  vUyeTipi, vKullaniciAdi: String;
  vId: Integer;
  IsAdminMaster: Boolean;
{
  if ((Trim(UserEdit.Text) == '') || (Trim(PassEdit.Text) == ''))
  {
    HataLbl.Text = 'Lütfen tüm alanları doldurunuz!';
    HataLbl.Visible = True;
    Exit;
  }

  // 1. SABİT YÖNETİCİ KONTROLÜ (Veritabanında olmasa bile geçiş izni verir)
  IsAdminMaster = False;
  if ((LowerCase(Trim(UserEdit.Text)) == 'yonetici') && (Trim(PassEdit.Text) == '123456'))
  {
    IsAdminMaster = True;
  }

  if (IsAdminMaster)
  {
    HataLbl.Visible = False;
    Clomosy.GlobalVariableInteger = 1;
    Clomosy.GlobalVariableString = 'Yonetici';
    Clomosy.RunUnit('02_uAdminPanel');
    Exit;
  }

  // 2. VERİTABANI KONTROLÜ (Kayıt olan normal kullanıcılar ve DB'deki yöneticiler için)
  try
    Qry = Clomosy.DBSQLServerQueryWith(
      'SELECT Id, KullaniciAdi, AdSoyad, ISNULL(UyeTipi, ''Kullanici'') AS UyeTipi ' +
      'FROM Kullanicilar WITH (NOLOCK) ' +
      'WHERE (KullaniciAdi = ' + QuotedStr(Trim(UserEdit.Text)) + 
      ' OR Email = ' + QuotedStr(Trim(UserEdit.Text)) + ') ' +
      'AND Sifre = ' + QuotedStr(Trim(PassEdit.Text))
    );
    Qry.Open;

    if (not Qry.Eof)
    {
      HataLbl.Visible = False;
      
      vId = Qry.FieldByName('Id').AsInteger;
      vKullaniciAdi = Qry.FieldByName('KullaniciAdi').AsString;
      vUyeTipi = UpperCase(Trim(Qry.FieldByName('UyeTipi').AsString));

      Clomosy.GlobalVariableInteger = vId;
      Clomosy.GlobalVariableString = vKullaniciAdi;

      // Veritabanındaki UyeTipi 'Yonetici' veya 'Admin' olanlar da Admin Paneline gider
      if ((vUyeTipi == 'YONETICI') || (vUyeTipi == 'ADMIN'))
      {
        Clomosy.RunUnit('02_uAdminPanel');
      }
      else
      {
        Clomosy.RunUnit('Main'); // Normal kullanıcılar ana sayfaya gider
      }
      Exit;
    }
    else
    {
      HataLbl.Text = 'Kullanıcı adı veya şifre hatalı!';
      HataLbl.Visible = True;
    }
  except
    HataLbl.Text = 'Bağlantı veya sorgu hatası oluştu!';
    HataLbl.Visible = True;
  }
}
https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v4513226cdae34746b4dedf0b4dfa099e1781791509496" integrity="sha512-ZE9pZaUXND66v380QUtch/5sE9tPFh2zg45pR2PB0CVkCtOREv2AJKkSidISWkysEuQ0EH8faUU5du78bx87UQ==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1}" crossorigin="anonymous">



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net