Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - MQTT ile giriş-çıkış veri gönderimi hatası
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir.

MQTT ile giriş-çıkış veri gönderimi hatası

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
Mahmutdmr Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 20 Haziran 2025
Konum: Konya
Durum: Aktif Değil
Puanlar: 16
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Mahmutdmr Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: MQTT ile giriş-çıkış veri gönderimi hatası
    Gönderim Zamanı: 4 Saat 19 Dakika Önce Saat 13:56
uygulamamda register işlemi başarılı bir şekilde gerçekleşirken, giriş çıkış işlemlerim maalesef ya yanlış kayıt ediliyor ya da hiç kayıt göstermiyor ilk olarak atacağım kod uAnaEkran  burada mesajların dinlenip veri tabanına kayıt işlemi gerçekleştiriliyor.
ikinci atcağım kısım ise uQrOkuyucu unitim bu formda da mesaj gönderilen kısım ve işlem gerçekleştirilen cihazın veri tabanına kayıt işlemi gerçekleştirir. 

/* ANA EKRAN KOD YAPIM*/

var
  anaEkranForm: TclForm;
  pnlContainer: TclProPanel;
  lblWelcome: TclProLabel;
  btnLogin, btnRegister, btnMembers, btnQrOkuyucu: TclProButton;
  MQTT1: TclMQTT;
  gelenMesaj: string;
  action, table, id, user_id, checkin_time, checkout_time, kullanici_adi, email, password: string;
  sql: string;
  mesaj: string;
  checkin_location, checkout_location: string;
  
void ParseAndApplyMQTTMessage
{
  ShowMessage('GELEN MQTT MESAJI: ' + gelenMesaj);

  action = Clomosy.CLParseJSON(gelenMesaj, 'action');
  table  = Clomosy.CLParseJSON(gelenMesaj, 'table');

  if table == 'users'
  {
    kullanici_adi = Clomosy.CLParseJSON(gelenMesaj, 'kullanici_adi');
    email         = Clomosy.CLParseJSON(gelenMesaj, 'email');
    password      = Clomosy.CLParseJSON(gelenMesaj, 'password');

    if action == 'insert'
    {
      sql = 'INSERT INTO users (kullanici_adi, email, password) VALUES (' +
            QuotedStr(kullanici_adi) + ', ' + QuotedStr(email) + ', ' + QuotedStr(password) + ')';
      Clomosy.DBSQLiteQuery.Sql.Text = sql;
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('[MQTT] Kullanıcı eklendi: ' + kullanici_adi + ' / ' + email);
    }
    else if action == 'update'
    {
      sql = 'UPDATE users SET password = ' + QuotedStr(password) +
            ' WHERE email = ' + QuotedStr(email);
      Clomosy.DBSQLiteQuery.Sql.Text = sql;
      Clomosy.DBSQLiteQuery.OpenOrExecute;
      ShowMessage('[MQTT] Şifre güncellendi: ' + email);
    }
  }
  else if table == 'checkins'
  {
    user_id           = '';
    checkin_time      = '';
    checkout_time     = '';
    checkin_location  = '';
    checkout_location = '';

    if Pos('"user_id"', gelenMesaj) > 0
      user_id = Clomosy.CLParseJSON(gelenMesaj, 'user_id');
    if Pos('"checkin_time"', gelenMesaj) > 0
      checkin_time = Clomosy.CLParseJSON(gelenMesaj, 'checkin_time');
    if Pos('"checkout_time"', gelenMesaj) > 0
      checkout_time = Clomosy.CLParseJSON(gelenMesaj, 'checkout_time');
    if Pos('"checkin_location"', gelenMesaj) > 0
      checkin_location = Clomosy.CLParseJSON(gelenMesaj, 'checkin_location');
    if Pos('"checkout_location"', gelenMesaj) > 0
      checkout_location = Clomosy.CLParseJSON(gelenMesaj, 'checkout_location');

    if action == 'insert'
    {
      sql = 'INSERT INTO checkins (user_id, checkin_time, checkin_location) VALUES (' +
            QuotedStr(user_id) + ', ' + QuotedStr(checkin_time) + ', ' + QuotedStr(checkin_location) + ')';
      Clomosy.DBSQLiteQuery.Sql.Text = sql;
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
    else if action == 'update'
    {
      sql = 'UPDATE checkins SET checkout_time = ' + QuotedStr(checkout_time) +
            ', checkout_location = ' + QuotedStr(checkout_location) +
            ' WHERE user_id = ' + QuotedStr(user_id) +
            ' AND checkin_time = ' + QuotedStr(checkin_time) +
            ' AND checkin_location = ' + QuotedStr(checkin_location) +
            ' AND (checkout_time IS NULL OR checkout_time = '''')';
      Clomosy.DBSQLiteQuery.Sql.Text = sql;
      Clomosy.DBSQLiteQuery.OpenOrExecute;
    }
    else if action == 'delete'
    {
      if Pos('"id"', gelenMesaj) > 0
      {
        id = Clomosy.CLParseJSON(gelenMesaj, 'id');
        sql = 'DELETE FROM checkins WHERE id = ' + id;
        Clomosy.DBSQLiteQuery.Sql.Text = sql;
        Clomosy.DBSQLiteQuery.OpenOrExecute;
      }
    }
  }
}

void OnLoginClick;
{
  Clomosy.RunUnit('uLogin');
}

void OnRegisterClick;
{
  Clomosy.RunUnit('uRegister');
}

void OnMembersClick;
{
  Clomosy.RunUnit('uAdminLog');
}

void OnQrOkuyucuClick;
{
  if (Clomosy.PlatformIsMobile)
    ShowMessage('Yalnızca sorumlu ekranda çıkar');
  else
    Clomosy.RunUnit('uQrKodu');
}

void OnMQTTPublishReceived
{
  if (MQTT1.ReceivedAlright)
  {
    gelenMesaj = MQTT1.ReceivedMessage;
    ParseAndApplyMQTTMessage;
  }
}
{
  anaEkranForm = TclForm.Create(Self);
  anaEkranForm.ClSetCaption('Hoş Geldiniz');
  anaEkranForm.SetFormColor('#e0f7fa', '#a8e063', clGVertical);


  pnlContainer = anaEkranForm.AddNewProPanel(anaEkranForm, 'pnlContainer');
  pnlContainer.Align = alCenter;
  pnlContainer.Width = anaEkranForm.clWidth * 0.8;
  pnlContainer.Height = anaEkranForm.clHeight * 0.6;
  pnlContainer.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFFDD');
  pnlContainer.clProSettings.BorderWidth = 0;
  pnlContainer.clProSettings.RoundWidth = 30;
  pnlContainer.clProSettings.RoundHeight = 30;
  pnlContainer.SetclProSettings(pnlContainer.clProSettings);
  

  MQTT1 = anaEkranForm.AddNewMQTTConnection(pnlContainer,'MQTT1');
  MQTT1.Channel = 'clomosy/qrTakip';
  MQTT1.Connect;
  anaEkranForm.AddNewEvent(MQTT1, tbeOnMQTTPublishReceived, 'OnMQTTPublishReceived');

  lblWelcome = anaEkranForm.AddNewProLabel(pnlContainer, 'lblWelcome', 'Qr Giriş-Çıkış Takip Sistemi');
  lblWelcome.Align = alTop;
  lblWelcome.Height = 60;
  lblWelcome.Margins.Top = 20;
  clComponent.SetupComponent(lblWelcome, '{"TextSize":24,"TextColor":"#388e3c","TextBold":"yes","TextHorizontalAlign":"center"}');

  btnLogin = anaEkranForm.AddNewProButton(pnlContainer, 'btnLogin', 'GİRİŞ YAP');
  btnLogin.Align = alTop;
  btnLogin.Height = 50;
  btnLogin.Margins.Top = 30;
  clComponent.SetupComponent(btnLogin, '{"BackgroundColor":"#ffffff","TextColor":"#43a047","BorderColor":"#43a047","BorderWidth":2,"RoundWidth":20,"RoundHeight":20,"TextSize":16}');
  anaEkranForm.AddNewEvent(btnLogin, tbeOnClick, 'OnLoginClick');

  btnRegister = anaEkranForm.AddNewProButton(pnlContainer, 'btnRegister', 'KAYIT OL');
  btnRegister.Align = alTop;
  btnRegister.Height = 50;
  btnRegister.Margins.Top = 15;
  clComponent.SetupComponent(btnRegister, '{"BackgroundColor":"#ffffff","TextColor":"#43a047","BorderColor":"#43a047","BorderWidth":2,"RoundWidth":20,"RoundHeight":20,"TextSize":16}');
  anaEkranForm.AddNewEvent(btnRegister, tbeOnClick, 'OnRegisterClick');

  btnQrOkuyucu = anaEkranForm.AddNewProButton(pnlContainer, 'btnQrOkuyucu', 'QR KODU');
  btnQrOkuyucu.Align = alTop;
  btnQrOkuyucu.Height = 50;
  btnQrOkuyucu.Margins.Top = 15;
  clComponent.SetupComponent(btnQrOkuyucu, '{"BackgroundColor":"#ffffff","TextColor":"#43a047","BorderColor":"#43a047","BorderWidth":2,"RoundWidth":20,"RoundHeight":20,"TextSize":16}');
  anaEkranForm.AddNewEvent(btnQrOkuyucu, tbeOnClick, 'OnQrOkuyucuClick');

  btnMembers = anaEkranForm.AddNewProButton(pnlContainer, 'btnMembers', 'Personeller');
  btnMembers.Align = alBottom;
  btnMembers.Height = 40;
  btnMembers.Margins.Bottom = 20;
  clComponent.SetupComponent(btnMembers, '{"BackgroundColor":"#ffffff","TextColor":"#43a047","BorderColor":"#43a047","BorderWidth":2,"RoundWidth":20,"RoundHeight":20,"TextSize":16}');
  anaEkranForm.AddNewEvent(btnMembers, tbeOnClick, 'OnMembersClick');

  anaEkranForm.Run;
}






/* QROKUYUCU KISMI GİRİŞ VE ÇIKIŞ İŞLEMLERİNİN YAPILDIĞI ALAN */




var
  qrForm: TclForm;
  pnlContainer: TclProPanel;
  lblTitle: TclProLabel;
  pnlGiris, pnlCikis: TclProPanel;
  lblGiris, lblCikis: TclProLabel;
  btnQrGiris, btnKonumGiris, btnGirisKaydet: TclProButton;
  btnQrCikis, btnKonumCikis, btnCikisKaydet: TclProButton;
  girisEdit, cikisEdit: TclProEdit;
  konumGirisEdit, konumCikisEdit: TclProEdit;
  aktifKullaniciId: Integer;
  qrSaat: String;
  jsonMesaj: String;
  latitude, longitude: String;
  konum : String;
  checkinTimeFromDb, checkinLocFromDb: String;
  
void KonumGirisClicked {
  Clomosy.GetCurrentLocation;
  latitude  = clGetStringTo(Clomosy.LocationValue, '|');
  longitude = clGetStringAfter(Clomosy.LocationValue, '|');
  konumGirisEdit.Text = latitude + '|' + longitude;
}

void KonumCikisClicked {
  Clomosy.GetCurrentLocation;
  latitude  = clGetStringTo(Clomosy.LocationValue, '|');
  longitude = clGetStringAfter(Clomosy.LocationValue, '|');
  konumCikisEdit.Text = latitude + '|' + longitude;
}

void GirisQrClicked {
  qrForm.CallBarcodeReader(girisEdit);
}

void GirisKaydet {
  aktifKullaniciId = Clomosy.GlobalVariableInteger;
  qrSaat = girisEdit.Text;
  konum = konumGirisEdit.Text;

  if qrSaat == '' {
    ShowMessage('QR kodu bilgisi alınmadı!');
    Exit;
  }
  if konum == '' {
    ShowMessage('Konum bilgisi alınmadı!');
    Exit;
  }

  Clomosy.DBSQLiteQuery.SQL.Text =
    'SELECT id FROM checkins ' +
    'WHERE user_id = ' + IntToStr(aktifKullaniciId) +
    ' AND (checkout_time IS NULL OR checkout_time = '''') ';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  if Clomosy.DBSQLiteQuery.Found {
    ShowMessage('Daha önce yapılmış bir giriş var, çıkış yapılmadan tekrar giriş yapılamaz!');
    Exit;
  }

  Clomosy.DBSQLiteQuery.SQL.Text =
    'INSERT INTO checkins (user_id, checkin_time, checkin_location) VALUES (' +
    IntToStr(aktifKullaniciId) + ', ' + QuotedStr(qrSaat) + ', ' +
    QuotedStr(konum) + ')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Giriş ve konum başarıyla kaydedildi!');
  girisEdit.Text = '';
  konumGirisEdit.Text = '';

  if (MQTT1.Connected) {
    // MQTT mesajında user_id, checkin_time, checkin_location YOLLA
    jsonMesaj = '{"action":"insert","table":"checkins",' +
      '"user_id":"' + IntToStr(aktifKullaniciId) + '",' +
      '"checkin_time":"' + qrSaat + '",' +
      '"checkin_location":"' + konum + '"}';
    MQTT1.Send(jsonMesaj);
  }
}

void CikisQrClicked {
  qrForm.CallBarcodeReader(cikisEdit);
}

void CikisKaydet {
  aktifKullaniciId = Clomosy.GlobalVariableInteger;
  qrSaat = cikisEdit.Text;
  konum = konumCikisEdit.Text;

  if qrSaat == '' {
    ShowMessage('QR kodu bilgisi alınmadı!');
    Exit;
  }
  if konum == '' {
    ShowMessage('Konum bilgisi alınmadı!');
    Exit;
  }

  // --- BURADA: Giriş kaydının checkin_time ve checkin_location değerlerini çekiyoruz
  Clomosy.DBSQLiteQuery.SQL.Text =
    'SELECT checkin_time, checkin_location FROM checkins ' +
    'WHERE user_id = ' + IntToStr(aktifKullaniciId) +
    ' AND (checkout_time IS NULL OR checkout_time = '''') ' +
    'ORDER BY checkin_time ASC LIMIT 1';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  if (not Clomosy.DBSQLiteQuery.Found) {
    ShowMessage('Önce giriş yapılmamış ya da çıkış zaten kaydedilmiş!');
    Exit;
  }

  // --- BURADA: Değişkenleri tanımla ve ata
  
  checkinTimeFromDb = Clomosy.DBSQLiteQuery.FieldByName('checkin_time').AsString;
  checkinLocFromDb  = Clomosy.DBSQLiteQuery.FieldByName('checkin_location').AsString;

  // --- Kendi cihazında update işlemi
  Clomosy.DBSQLiteQuery.SQL.Text =
    'UPDATE checkins SET checkout_time = ' + QuotedStr(qrSaat) +
    ', checkout_location = ' + QuotedStr(konum) +
    ' WHERE user_id = ' + IntToStr(aktifKullaniciId) +
    ' AND checkin_time = ' + QuotedStr(checkinTimeFromDb) +
    ' AND checkin_location = ' + QuotedStr(checkinLocFromDb) +
    ' AND (checkout_time IS NULL OR checkout_time = '''')';
  Clomosy.DBSQLiteQuery.OpenOrExecute;

  ShowMessage('Çıkış ve konum başarıyla kaydedildi!');
  cikisEdit.Text = '';
  konumCikisEdit.Text = '';

  if (MQTT1.Connected) {
    jsonMesaj = '{"action":"update","table":"checkins",' +
      '"user_id":"' + IntToStr(aktifKullaniciId) + '",' +
      '"checkin_time":"' + checkinTimeFromDb + '",' +
      '"checkin_location":"' + checkinLocFromDb + '",' +
      '"checkout_time":"' + qrSaat + '",' +
      '"checkout_location":"' + konum + '"}';
    MQTT1.Send(jsonMesaj);
  }
}
{
  qrForm = TclForm.Create(Self);
  qrForm.ClSetCaption('QR Giriş/Çıkış Takip');
  qrForm.SetFormColor('#f7fafc', '#a8e063', clGVertical);

  pnlContainer = qrForm.AddNewProPanel(qrForm, 'pnlContainer');
  pnlContainer.Align = alClient;
  pnlContainer.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  pnlContainer.SetclProSettings(pnlContainer.clProSettings);

  lblTitle = qrForm.AddNewProLabel(pnlContainer, 'lblTitle', 'QR GİRİŞ / ÇIKIŞ');
  lblTitle.Align = alTop;
  lblTitle.Height = 54;
  lblTitle.Margins.Top = 10;
  lblTitle.clProSettings.FontSize = 25;
  lblTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#43a047');
  lblTitle.clProSettings.FonthorzAlign = palCenter;
  lblTitle.clProSettings.FontVertAlign = palCenter;
  lblTitle.clProSettings.TextSettings.Font.Style = [fsBold];
  lblTitle.SetclProSettings(lblTitle.clProSettings);

  pnlGiris = qrForm.AddNewProPanel(pnlContainer, 'pnlGiris');
  pnlGiris.Align = alTop;
  pnlGiris.Height = 220;
  pnlGiris.Margins.Top = 14;
  pnlGiris.Margins.Left = 14;
  pnlGiris.Margins.Right = 14;
  pnlGiris.Margins.Bottom = 0;
  pnlGiris.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#e8f5e9');
  pnlGiris.clProSettings.IsRound = True;
  pnlGiris.clProSettings.RoundHeight = 16;
  pnlGiris.clProSettings.RoundWidth = 16;
  pnlGiris.SetclProSettings(pnlGiris.clProSettings);

  lblGiris = qrForm.AddNewProLabel(pnlGiris, 'lblGiris', 'GİRİŞ');
  lblGiris.Align = alTop;
  lblGiris.Height = 30;
  lblGiris.Margins.Top = 7;
  lblGiris.clProSettings.FontSize = 17;
  lblGiris.clProSettings.FontColor = clAlphaColor.clHexToColor('#388e3c');
  lblGiris.clProSettings.FonthorzAlign = palCenter;
  lblGiris.clProSettings.TextSettings.Font.Style = [fsBold];
  lblGiris.SetclProSettings(lblGiris.clProSettings);

  btnQrGiris = qrForm.AddNewProButton(pnlGiris, 'btnQrGiris', 'QR OKUT');
  btnQrGiris.Align = alTop;
  btnQrGiris.Height = 40;
  btnQrGiris.Margins.Top = 10;
  btnQrGiris.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  btnQrGiris.clProSettings.FontColor = clAlphaColor.clHexToColor('#43a047');
  btnQrGiris.clProSettings.BorderColor = clAlphaColor.clHexToColor('#43a047');
  btnQrGiris.clProSettings.BorderWidth = 2;
  btnQrGiris.clProSettings.RoundWidth = 12;
  btnQrGiris.clProSettings.RoundHeight = 12;
  btnQrGiris.clProSettings.FontSize = 15;
  btnQrGiris.clProSettings.IsRound = True;
  btnQrGiris.clProSettings.IsFill = True;
  btnQrGiris.clProSettings.TextSettings.Font.Style = [fsBold];
  btnQrGiris.SetclProSettings(btnQrGiris.clProSettings);
  qrForm.AddNewEvent(btnQrGiris, tbeOnClick, 'GirisQrClicked');

  girisEdit = qrForm.AddNewProEdit(pnlGiris, 'girisEdit', 'QR kodu...');
  girisEdit.Align = alTop;
  girisEdit.Height = 36;
  girisEdit.Margins.Top = 7;
  girisEdit.clProSettings.IsRound = True;
  girisEdit.clProSettings.RoundHeight = 10;
  girisEdit.clProSettings.RoundWidth = 10;
  girisEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8fafc');
  girisEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#43a047'); 
  girisEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#388e3c'); 
  girisEdit.clProSettings.FontSize = 14;
  girisEdit.clProSettings.BorderWidth = 1;
  girisEdit.clProSettings.IsFill = True;
  girisEdit.ReadOnly = True;
  girisEdit.SetclProSettings(girisEdit.clProSettings);

  btnKonumGiris = qrForm.AddNewProButton(pnlGiris, 'btnKonumGiris', 'KONUMU AL');
  btnKonumGiris.Align = alTop;
  btnKonumGiris.Height = 36;
  btnKonumGiris.Margins.Top = 6;
  btnKonumGiris.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  btnKonumGiris.clProSettings.FontColor = clAlphaColor.clHexToColor('#388e3c');
  btnKonumGiris.clProSettings.BorderColor = clAlphaColor.clHexToColor('#388e3c');
  btnKonumGiris.clProSettings.BorderWidth = 2;
  btnKonumGiris.clProSettings.RoundWidth = 12;
  btnKonumGiris.clProSettings.RoundHeight = 12;
  btnKonumGiris.clProSettings.FontSize = 14;
  btnKonumGiris.clProSettings.IsRound = True;
  btnKonumGiris.clProSettings.IsFill = True;
  btnKonumGiris.clProSettings.TextSettings.Font.Style = [fsBold];
  btnKonumGiris.SetclProSettings(btnKonumGiris.clProSettings);
  qrForm.AddNewEvent(btnKonumGiris, tbeOnClick, 'KonumGirisClicked');

  konumGirisEdit = qrForm.AddNewProEdit(pnlGiris, 'konumGirisEdit', 'Enlem | Boylam');
  konumGirisEdit.Align = alTop;
  konumGirisEdit.Height = 34;
  konumGirisEdit.clProSettings.IsRound = True;
  konumGirisEdit.clProSettings.RoundHeight = 10;
  konumGirisEdit.clProSettings.RoundWidth = 10;
  konumGirisEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8fafc');
  konumGirisEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#388e3c');
  konumGirisEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#388e3c');
  konumGirisEdit.clProSettings.FontSize = 14;
  konumGirisEdit.clProSettings.BorderWidth = 1;
  konumGirisEdit.clProSettings.IsFill = True;
  konumGirisEdit.ReadOnly = True;
  konumGirisEdit.SetclProSettings(konumGirisEdit.clProSettings);

  btnGirisKaydet = qrForm.AddNewProButton(pnlGiris, 'btnGirisKaydet', 'GİRİŞİ KAYDET');
  btnGirisKaydet.Align = alTop;
  btnGirisKaydet.Height = 38;
  btnGirisKaydet.Margins.Top = 10;
  btnGirisKaydet.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#43a047');
  btnGirisKaydet.clProSettings.FontColor = clAlphaColor.clWhite;
  btnGirisKaydet.clProSettings.BorderColor = clAlphaColor.clHexToColor('#388e3c');
  btnGirisKaydet.clProSettings.BorderWidth = 2;
  btnGirisKaydet.clProSettings.RoundWidth = 10;
  btnGirisKaydet.clProSettings.RoundHeight = 10;
  btnGirisKaydet.clProSettings.FontSize = 15;
  btnGirisKaydet.clProSettings.IsRound = True;
  btnGirisKaydet.clProSettings.IsFill = True;
  btnGirisKaydet.clProSettings.TextSettings.Font.Style = [fsBold];
  btnGirisKaydet.SetclProSettings(btnGirisKaydet.clProSettings);
  qrForm.AddNewEvent(btnGirisKaydet, tbeOnClick, 'GirisKaydet');

  pnlCikis = qrForm.AddNewProPanel(pnlContainer, 'pnlCikis');
  pnlCikis.Align = alTop;
  pnlCikis.Height = 220;
  pnlCikis.Margins.Top = 60;
  pnlCikis.Margins.Left = 14;
  pnlCikis.Margins.Right = 14;
  pnlCikis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#fffde7');
  pnlCikis.clProSettings.IsRound = True;
  pnlCikis.clProSettings.RoundHeight = 16;
  pnlCikis.clProSettings.RoundWidth = 16;
  pnlCikis.SetclProSettings(pnlCikis.clProSettings);

  lblCikis = qrForm.AddNewProLabel(pnlCikis, 'lblCikis', 'ÇIKIŞ');
  lblCikis.Align = alTop;
  lblCikis.Height = 30;
  lblCikis.Margins.Top = 7;
  lblCikis.clProSettings.FontSize = 17;
  lblCikis.clProSettings.FontColor = clAlphaColor.clHexToColor('#b71c1c'); 
  lblCikis.clProSettings.FonthorzAlign = palCenter;
  lblCikis.clProSettings.TextSettings.Font.Style = [fsBold];
  lblCikis.SetclProSettings(lblCikis.clProSettings);

  btnQrCikis = qrForm.AddNewProButton(pnlCikis, 'btnQrCikis', 'QR OKUT');
  btnQrCikis.Align = alTop;
  btnQrCikis.Height = 40;
  btnQrCikis.Margins.Top = 10;
  btnQrCikis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  btnQrCikis.clProSettings.FontColor = clAlphaColor.clHexToColor('#b71c1c');
  btnQrCikis.clProSettings.BorderColor = clAlphaColor.clHexToColor('#b71c1c'); 
  btnQrCikis.clProSettings.BorderWidth = 2;
  btnQrCikis.clProSettings.RoundWidth = 12;
  btnQrCikis.clProSettings.RoundHeight = 12;
  btnQrCikis.clProSettings.FontSize = 15;
  btnQrCikis.clProSettings.IsRound = True;
  btnQrCikis.clProSettings.IsFill = True;
  btnQrCikis.clProSettings.TextSettings.Font.Style = [fsBold];
  btnQrCikis.SetclProSettings(btnQrCikis.clProSettings);
  qrForm.AddNewEvent(btnQrCikis, tbeOnClick, 'CikisQrClicked');

  cikisEdit = qrForm.AddNewProEdit(pnlCikis, 'cikisEdit', 'QR kodu...');
  cikisEdit.Align = alTop;
  cikisEdit.Height = 36;
  cikisEdit.Margins.Top = 7;
  cikisEdit.clProSettings.IsRound = True;
  cikisEdit.clProSettings.RoundHeight = 10;
  cikisEdit.clProSettings.RoundWidth = 10;
  cikisEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8fafc');
  cikisEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#b71c1c'); 
  cikisEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#b71c1c');
  cikisEdit.clProSettings.FontSize = 14;
  cikisEdit.clProSettings.BorderWidth = 1;
  cikisEdit.clProSettings.IsFill = True;
  cikisEdit.ReadOnly = True;
  cikisEdit.SetclProSettings(cikisEdit.clProSettings);

  btnKonumCikis = qrForm.AddNewProButton(pnlCikis, 'btnKonumCikis', 'KONUMU AL');
  btnKonumCikis.Align = alTop;
  btnKonumCikis.Height = 36;
  btnKonumCikis.Margins.Top = 6;
  btnKonumCikis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  btnKonumCikis.clProSettings.FontColor = clAlphaColor.clHexToColor('#b71c1c');
  btnKonumCikis.clProSettings.BorderColor = clAlphaColor.clHexToColor('#b71c1c');
  btnKonumCikis.clProSettings.BorderWidth = 2;
  btnKonumCikis.clProSettings.RoundWidth = 12;
  btnKonumCikis.clProSettings.RoundHeight = 12;
  btnKonumCikis.clProSettings.FontSize = 14;
  btnKonumCikis.clProSettings.IsRound = True;
  btnKonumCikis.clProSettings.IsFill = True;
  btnKonumCikis.clProSettings.TextSettings.Font.Style = [fsBold];
  btnKonumCikis.SetclProSettings(btnKonumCikis.clProSettings);
  qrForm.AddNewEvent(btnKonumCikis, tbeOnClick, 'KonumCikisClicked');

  konumCikisEdit = qrForm.AddNewProEdit(pnlCikis, 'konumCikisEdit', 'Enlem | Boylam');
  konumCikisEdit.Align = alTop;
  konumCikisEdit.Height = 34;
  konumCikisEdit.clProSettings.IsRound = True;
  konumCikisEdit.clProSettings.RoundHeight = 10;
  konumCikisEdit.clProSettings.RoundWidth = 10;
  konumCikisEdit.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8fafc');
  konumCikisEdit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#b71c1c');
  konumCikisEdit.clProSettings.FontColor = clAlphaColor.clHexToColor('#b71c1c');
  konumCikisEdit.clProSettings.FontSize = 14;
  konumCikisEdit.clProSettings.BorderWidth = 1;
  konumCikisEdit.clProSettings.IsFill = True;
  konumCikisEdit.ReadOnly = True;
  konumCikisEdit.SetclProSettings(konumCikisEdit.clProSettings);

  btnCikisKaydet = qrForm.AddNewProButton(pnlCikis, 'btnCikisKaydet', 'ÇIKIŞI KAYDET');
  btnCikisKaydet.Align = alTop;
  btnCikisKaydet.Height = 38;
  btnCikisKaydet.Margins.Top = 10;
  btnCikisKaydet.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#b71c1c');
  btnCikisKaydet.clProSettings.FontColor = clAlphaColor.clWhite;
  btnCikisKaydet.clProSettings.BorderColor = clAlphaColor.clHexToColor('#b71c1c');
  btnCikisKaydet.clProSettings.BorderWidth = 2;
  btnCikisKaydet.clProSettings.RoundWidth = 10;
  btnCikisKaydet.clProSettings.RoundHeight = 10;
  btnCikisKaydet.clProSettings.FontSize = 15;
  btnCikisKaydet.clProSettings.IsRound = True;
  btnCikisKaydet.clProSettings.IsFill = True;
  btnCikisKaydet.clProSettings.TextSettings.Font.Style = [fsBold];
  btnCikisKaydet.SetclProSettings(btnCikisKaydet.clProSettings);
  qrForm.AddNewEvent(btnCikisKaydet, tbeOnClick, 'CikisKaydet');

  qrForm.Run;
}


Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.