Sayfayı Yazdır | Pencereyi Kapat

kayıt ekranı

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=1142
Tarih: 29 Temmuz 2025 Saat 00:15
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: kayıt ekranı
Mesajı Yazan: sudenaz_seyma
Konu: kayıt ekranı
Mesaj Tarihi: 28 Temmuz 2025 Saat 11:42
merhabalar kullanıcı kayıt yaptıktan sonra giriş ekranına yönlendirmede problem yaşıyorum. otomatik olarak uygulamadan çıkıyor 

var 
  RegisterForm: TclForm;
  UsernameEdit, PasswordEdit, PasswordAgainEdit: TclProEdit;
  RegisterBtn, BackToLoginBtn: TclProButton;
  MainPanel: TclProPanel;
  TitleLbl: TclProLabel;
void BackToLoginBtnClick;
{
  Clomosy.RunUnit('ULogin');
}

void RegisterBtnClick;
{
  try
  {
    /*if (Trim(UsernameEdit.Text) == '') || (Trim(PasswordEdit.Text) == '') || (Trim(PasswordAgainEdit.Text) == '') {
      ShowMessage('Lütfen kullanıcı adı ve şifre alanlarını doldurun.');
      Exit;
    }*/
    if PasswordEdit.Text <> PasswordAgainEdit.Text {
      ShowMessage('Şifreler uyuşmuyor!');
      Exit;
    }
    Clomosy.DBSQLiteQuery.SQL.Text =
      'CREATE TABLE IF NOT EXISTS Users (' +
      'ID INTEGER PRIMARY KEY AUTOINCREMENT, ' +
      'Username TEXT UNIQUE, Password TEXT)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Clomosy.DBSQLiteQuery.SQL.Text =
      'SELECT * FROM Users WHERE Username = ' + QuotedStr(UsernameEdit.Text);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    if Clomosy.DBSQLiteQuery.RecordCount > 0 {
      ShowMessage('Bu kullanıcı adı zaten kayıtlı!');
      Exit;
    }
    Clomosy.DBSQLiteQuery.SQL.Text =
      'INSERT INTO Users (Username, Password) VALUES (' +
      QuotedStr(UsernameEdit.Text) + ',' +
      QuotedStr(PasswordEdit.Text) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Kayıt başarılı!');
    Clomosy.RunUnit('ULogin');
  }
  except
    ShowMessage('Hata oluştu: ' + LastExceptionMessage);
  }
}
{
  RegisterForm = TclForm.Create(Self);
  
  MainPanel = RegisterForm.AddNewProPanel(RegisterForm, 'MainPanel');
  MainPanel.Align = alClient;
  
  TitleLbl = RegisterForm.AddNewProLabel(MainPanel, 'TitleLbl', 'Kayıt Ol');
  TitleLbl.Align = alTop;
  TitleLbl.Height = 30;
  TitleLbl.Margins.Top = 30;
  TitleLbl.clProSettings.FontSize = 30;
  TitleLbl.SetclProSettings(TitleLbl.clProSettings);
  
  UsernameEdit = RegisterForm.AddNewProEdit(MainPanel, 'UsernameEdit', 'Kullanıcı Adı');
  UsernameEdit.Align = alTop;
  UsernameEdit.Margins.Top = 25;
  
  PasswordEdit = RegisterForm.AddNewProEdit(MainPanel, 'PasswordEdit', 'Şifre');
  PasswordEdit.Align = alTop;
  PasswordEdit.Margins.Top = 20;
  PasswordEdit.Password = True;
  PasswordAgainEdit = RegisterForm.AddNewProEdit(MainPanel, 'PasswordAgainEdit', 'Şifre Tekrar');
  PasswordAgainEdit.Align = alTop;
  PasswordAgainEdit.Margins.Top = 20;
  PasswordAgainEdit.Password = True;
  
  RegisterBtn = RegisterForm.AddNewProButton(MainPanel, 'RegisterBtn', 'Kayıt Ol');
  RegisterBtn.Align = alTop;
  RegisterBtn.Margins.Top = 30;
  RegisterForm.AddNewEvent(RegisterBtn, tbeOnClick, 'RegisterBtnClick');
  
  BackToLoginBtn = RegisterForm.AddNewProButton(MainPanel, 'BackToLoginBtn', 'Girişe Dön');
  BackToLoginBtn.Align = alTop;
  BackToLoginBtn.Margins.Top = 10;
  
  RegisterForm.AddNewEvent(BackToLoginBtn, tbeOnClick, 'BackToLoginBtnClick');

  RegisterForm.Run;
  
  
}




Cevaplar:
Mesajı Yazan: haletr
Mesaj Tarihi: 28 Temmuz 2025 Saat 12:35
Merhaba,

veri tabanı bağlantısını bir işlem yapmadan önce kurman gerekiyor. 

void RegisterBtnClick;
{
  try
  {
    /*if (Trim(UsernameEdit.Text) == '') || (Trim(PasswordEdit.Text) == '') || (Trim(PasswordAgainEdit.Text) == '') {
      ShowMessage('Lütfen kullanıcı adı ve şifre alanlarını doldurun.');
      Exit;
    }*/
    if PasswordEdit.Text <> PasswordAgainEdit.Text {
      ShowMessage('Şifreler uyuşmuyor!');
      Exit;
    }
   //Veri tabanı bağlantısı
   Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'veritabanininismi.db', '');
    Clomosy.DBSQLiteQuery.SQL.Text =
      'CREATE TABLE IF NOT EXISTS Users (' +
      'ID INTEGER PRIMARY KEY AUTOINCREMENT, ' +
      'Username TEXT UNIQUE, Password TEXT)';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    Clomosy.DBSQLiteQuery.SQL.Text =
      'SELECT * FROM Users WHERE Username = ' + QuotedStr(UsernameEdit.Text);
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    if Clomosy.DBSQLiteQuery.RecordCount > 0 {
      ShowMessage('Bu kullanıcı adı zaten kayıtlı!');
      Exit;
    }
    Clomosy.DBSQLiteQuery.SQL.Text =
      'INSERT INTO Users (Username, Password) VALUES (' +
      QuotedStr(UsernameEdit.Text) + ',' +
      QuotedStr(PasswordEdit.Text) + ')';
    Clomosy.DBSQLiteQuery.OpenOrExecute;

    ShowMessage('Kayıt başarılı!');
    Clomosy.RunUnit('ULogin');
  }
  except
    ShowMessage('Hata oluştu: ' + LastExceptionMessage);
  }
}

Eğer diğer unitte bir sorun yoksa bu şekilde dener misin acaba? İyi çalışmalar.


Mesajı Yazan: sudenaz_seyma
Mesaj Tarihi: 28 Temmuz 2025 Saat 13:56
teşekkür ederim sorun çözüldü Embarrassed


Mesajı Yazan: haletr
Mesaj Tarihi: 28 Temmuz 2025 Saat 14:05
Rica ederimThumbs Up



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