var RegisterForm: TclForm; UsernameEdit, PasswordEdit, PasswordAgainEdit, EmailEdit, PhoneEdit, PlateEdit: TclProEdit; RegisterBtn, BackToLoginBtn: TclProButton; MainPanel: TclProPanel; TitleLbl: TclProLabel; HiddenPasswordBtn, NormalPasswordBtn: TclProButton; HiddenPasswordAgainBtn, NormalPasswordAgainBtn: TclProButton; CheckQuery, InsertQuery, TableCreateQuery: TclSQLiteQuery;
void BackToLoginBtnClick; { Clomosy.RunUnit('UnitLogin'); }
void RegisterBtnClick; { try { if Length(Trim(UsernameEdit.Text)) == 0 || Length(Trim(PasswordEdit.Text)) == 0 || Length(Trim(PasswordAgainEdit.Text)) == 0 || Length(Trim(EmailEdit.Text)) == 0 || Length(Trim(PhoneEdit.Text)) < 10 || Length(Trim(PlateEdit.Text)) == 0 { ShowMessage('Lütfen tüm alanları doldurun.'); Exit; }
if PasswordEdit.Text <> PasswordAgainEdit.Text { ShowMessage('Şifreler uyuşmuyor!'); Exit; }
TableCreateQuery = Clomosy.DBSQLiteQueryWith( 'CREATE TABLE IF NOT EXISTS Users (' + 'ID INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'Username TEXT, Password TEXT, Email TEXT, Phone TEXT, Plate TEXT)'); TableCreateQuery.OpenOrExecute;
CheckQuery = Clomosy.DBSQLiteQueryWith( 'SELECT * FROM Users WHERE Username = ' + QuotedStr(UsernameEdit.Text)); CheckQuery.OpenOrExecute;
if CheckQuery.Found { ShowMessage('Bu kullanıcı adı zaten kayıtlı!'); Exit; }
InsertQuery = Clomosy.DBSQLiteQueryWith( 'INSERT INTO Users (Username, Password, Email, Phone, Plate) VALUES (' + QuotedStr(UsernameEdit.Text) + ', ' + QuotedStr(PasswordEdit.Text) + ', ' + QuotedStr(EmailEdit.Text) + ', ' + QuotedStr(PhoneEdit.Text) + ', ' + QuotedStr(PlateEdit.Text) + '); ' + 'SELECT "" as dummy'); InsertQuery.OpenOrExecute;
ShowMessage('Kayıt başarılı! Giriş ekranına yönlendiriliyorsunuz.'); Clomosy.RunUnit('UnitLogin'); RegisterForm.Close; } except { ShowMessage('Kayıt sırasında hata: ' + LastExceptionMessage); } } }
{ RegisterForm = TclForm.Create(Self); RegisterForm.SetFormBGImage(' https://resmim.net/cdn/2025/07/21/XjZDYD.jpg" rel="nofollow - https://resmim.net/cdn/2025/07/21/XjZDYD.jpg ');
MainPanel = RegisterForm.AddNewProPanel(RegisterForm, 'MainPanel'); MainPanel.Align = alClient;
TitleLbl = RegisterForm.AddNewProLabel(MainPanel, 'TitleLbl', 'Üye Ol'); TitleLbl.Align = alTop; TitleLbl.Height = 40; TitleLbl.Margins.Top = 60; TitleLbl.clProSettings.FontSize = 22; TitleLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); TitleLbl.SetclProSettings(TitleLbl.clProSettings);
UsernameEdit = RegisterForm.AddNewProEdit(MainPanel, 'UsernameEdit', 'Kullanıcı Adı'); UsernameEdit.Align = alTop; UsernameEdit.Margins.Top = 50; UsernameEdit.clProSettings.IsRound = True; UsernameEdit.SetclProSettings(UsernameEdit.clProSettings);
PasswordEdit = RegisterForm.AddNewProEdit(MainPanel, 'PasswordEdit', 'Şifre'); PasswordEdit.Align = alTop; PasswordEdit.Margins.Top = 10; PasswordEdit.Password = True; PasswordEdit.clProSettings.IsRound = True; PasswordEdit.SetclProSettings(PasswordEdit.clProSettings);
PasswordAgainEdit = RegisterForm.AddNewProEdit(MainPanel, 'PasswordAgainEdit', 'Şifre Tekrar'); PasswordAgainEdit.Align = alTop; PasswordAgainEdit.Margins.Top = 10; PasswordAgainEdit.Password = True; PasswordAgainEdit.clProSettings.IsRound = True; PasswordAgainEdit.SetclProSettings(PasswordAgainEdit.clProSettings);
EmailEdit = RegisterForm.AddNewProEdit(MainPanel, 'EmailEdit', 'E-Posta'); EmailEdit.Align = alTop; EmailEdit.Margins.Top = 10; EmailEdit.clProSettings.IsRound = True; EmailEdit.SetclProSettings(EmailEdit.clProSettings);
PhoneEdit = RegisterForm.AddNewProEdit(MainPanel, 'PhoneEdit', 'Telefon (10 hane)'); PhoneEdit.Align = alTop; PhoneEdit.Margins.Top = 10; PhoneEdit.MaxLength = 10; PhoneEdit.KeyboardType = vktPhonePad; PhoneEdit.clProSettings.IsRound = True; PhoneEdit.SetclProSettings(PhoneEdit.clProSettings);
PlateEdit = RegisterForm.AddNewProEdit(MainPanel, 'PlateEdit', 'Araç Plakası'); PlateEdit.Align = alTop; PlateEdit.Margins.Top = 10; PlateEdit.clProSettings.IsRound = True; PlateEdit.SetclProSettings(PlateEdit.clProSettings);
RegisterBtn = RegisterForm.AddNewProButton(MainPanel, 'RegisterBtn', 'Kayıt Ol'); RegisterBtn.Align = alTop; RegisterBtn.Margins.Top = 25; RegisterBtn.clProSettings.IsRound = True; RegisterBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#93c1ec'); RegisterBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); RegisterBtn.SetclProSettings(RegisterBtn.clProSettings); RegisterForm.AddNewEvent(RegisterBtn, tbeOnClick, 'RegisterBtnClick');
BackToLoginBtn = RegisterForm.AddNewProButton(MainPanel, 'BackToLoginBtn', 'Giriş Ekranına Dön'); BackToLoginBtn.Align = alTop; BackToLoginBtn.Margins.Top = 10; BackToLoginBtn.clProSettings.IsRound = True; BackToLoginBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#93c1ec'); BackToLoginBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); BackToLoginBtn.SetclProSettings(BackToLoginBtn.clProSettings); RegisterForm.AddNewEvent(BackToLoginBtn, tbeOnClick, 'BackToLoginBtnClick');
RegisterForm.Run; }
Register kodum yukarıdaki gibi. Çalıştırdığım zaman aşağıdaki hatayı veriyor.
Kayıt sırasında hata:[FireDAC][Phys][SQLite]-308.Cannot open / define command, which does not return result sets.Hint: use Execute/ExecSQL method for non-SELECT commands
Konuda bilgisi olan yardımcı olabilirse çok sevinirim. Teşekkürler.
------------- kkk
|