Kullanıcı kayıt ve giriş yapabiliyor ama not kaydetmek istediğimde sqlite da tablo oluşturuyor sonra Not kaydı sırasında bir hata oluştu mesajı geliyor. var anaSayfa, girisSayfa, kayitSayfa, postLoginSayfa: TclForm; nameK, surnameK, passwordK: TclProEdit; nameG, surnameG, passwordG: TclProEdit; kayitButton, girisButton: TclProButton; notBasligiEdit, notIcerigiEdit: TclProEdit; VScroll:TCLVertScrollBox;
void ShowAnaSayfa; { if not (Assigned(anaSayfa)) anaSayfa = TclForm.Create(Self);
anaSayfa.SetFormBGImage(' https://i.hizliresim.com/phhojjq.jpg" rel="nofollow - https://i.hizliresim.com/phhojjq.jpg ');
girisButton = anaSayfa.AddNewProButton(anaSayfa, 'girisButton', 'Giriş Yap'); girisButton.Margins.Top = 100; girisButton.Width = 160; girisButton.Height = 40; girisButton.clProSettings.RoundWidth = 20; girisButton.clProSettings.RoundHeight = 20; girisButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2196F3'); girisButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
girisButton.SetclProSettings(girisButton.clProSettings); anaSayfa.AddNewEvent(girisButton, tbeOnClick, 'GirisYap');
kayitButton = anaSayfa.AddNewProButton(anaSayfa, 'kayitButton', 'Kayıt Ol'); kayitButton.Margins.Top = 160; kayitButton.Width = 160; kayitButton.Height = 40; kayitButton.clProSettings.RoundWidth = 20; kayitButton.clProSettings.RoundHeight = 20; kayitButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); kayitButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
kayitButton.SetclProSettings(kayitButton.clProSettings); anaSayfa.AddNewEvent(kayitButton, tbeOnClick, 'KayitOl');
anaSayfa.Run; }
void ShowPostLoginScreen(userName: string); var welcomeLabel: TclProLabel; notAraButton, notEkleButton: TclProButton; notAraEdit: TclProEdit; notLabel: TclProLabel; { if not (Assigned(postLoginSayfa)) postLoginSayfa = TclForm.Create(Self);
postLoginSayfa.SetFormBGImage(' https://i.hizliresim.com/km8rak7.png" rel="nofollow - https://i.hizliresim.com/km8rak7.png ');
welcomeLabel = postLoginSayfa.AddNewProLabel(postLoginSayfa, 'welcomeLabel', 'Hoşgeldiniz, ' + userName + '!'); welcomeLabel.Align = alNone; welcomeLabel.Position.X = 20; welcomeLabel.Position.Y = 120; welcomeLabel.Width = 300; welcomeLabel.Height = 75; welcomeLabel.clProSettings.FontSize = 15; welcomeLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#0be5ae'); welcomeLabel.SetclProSettings(welcomeLabel.clProSettings);
notLabel = postLoginSayfa.AddNewProLabel(postLoginSayfa, 'notLabel', 'Not Ara:'); notLabel.Align = alNone; notLabel.Position.X = 50; notLabel.Position.Y = 240; notLabel.Width = 100; notLabel.Height = 30; notLabel.clProSettings.FontSize = 16; notLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); notLabel.SetclProSettings(notLabel.clProSettings);
notAraEdit = postLoginSayfa.AddNewProEdit(postLoginSayfa, 'notAraEdit', ''); notAraEdit.Align = alNone; notAraEdit.Position.X = 120; notAraEdit.Position.Y = 240; notAraEdit.Width = 200; notAraEdit.Height = 45; notAraEdit.clProSettings.RoundWidth = 20; notAraEdit.clProSettings.RoundHeight = 20; notAraEdit.SetclProSettings(notAraEdit.clProSettings);
notAraButton = postLoginSayfa.AddNewProButton(postLoginSayfa, 'notAraButton', 'Ara'); notAraButton.Align = alNone; notAraButton.Position.X = 160; notAraButton.Position.Y = 310; notAraButton.Width = 120; notAraButton.Height = 45; notAraButton.clProSettings.RoundWidth = 20; notAraButton.clProSettings.RoundHeight = 20; notAraButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); notAraButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); notAraButton.SetclProSettings(notAraButton.clProSettings); postLoginSayfa.AddNewEvent(notAraButton, tbeOnClick, 'NotAra');
notEkleButton = postLoginSayfa.AddNewProButton(postLoginSayfa, 'notEkleButton', 'Not Ekle'); notEkleButton.Align = alNone; notEkleButton.Position.X = 160; notEkleButton.Position.Y = 350; notEkleButton.Width = 120; notEkleButton.Height = 45; notEkleButton.clProSettings.RoundWidth = 20; notEkleButton.clProSettings.RoundHeight = 20; notEkleButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FF5722'); notEkleButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); notEkleButton.SetclProSettings(notEkleButton.clProSettings); postLoginSayfa.AddNewEvent(notEkleButton, tbeOnClick, 'ShowNotEkleScreen');
postLoginSayfa.Run; }
void KaydetNot; { try Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'MuhabirMobil.db', ''); ShowMessage('Veritabanına bağlanıldı.');
Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT * FROM Notes WHERE note_title = ' + QuotedStr(notBasligiEdit.Text) + ' AND note_content = ' + QuotedStr(notIcerigiEdit.Text); Clomosy.DBSQLiteQuery.OpenOrExecute;
if not (Clomosy.DBSQLiteQuery.Found) { Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO Notes (note_title, note_content) VALUES (' + QuotedStr(notBasligiEdit.Text) + ', ' + QuotedStr(notIcerigiEdit.Text) + ');'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Not başarıyla kaydedildi!');
// Not eklendikten sonra giriş ekranına dön ShowPostLoginScreen('Kullanıcı'); } else { ShowMessage('Bu not zaten mevcut.'); } except ShowMessage('Not kaydı sırasında bir hata oluştu: ' + LastExceptionMessage); } }
void ShowNotEkleScreen; var MyForm: TclForm; notBasligiLabel, notIcerigiLabel: TclProLabel; notBasligiEdit: TclProEdit; notIcerigiScrollBox: TCLVertScrollBox; notIcerigiEdit: TclProEdit; kaydetButton: TclProButton; { MyForm = TclForm.Create(Self); MyForm.SetFormBGImage(' https://i.hizliresim.com/km8rak7.png" rel="nofollow - https://i.hizliresim.com/km8rak7.png ');
notBasligiLabel = MyForm.AddNewProLabel(MyForm, 'notBasligiLabel', 'Not Başlığı:'); notBasligiLabel.Align = alNone; notBasligiLabel.Position.X = 30; notBasligiLabel.Position.Y = 50;
notBasligiEdit = MyForm.AddNewProEdit(MyForm, 'notBasligiEdit', ''); notBasligiEdit.Align = alNone; notBasligiEdit.Position.X = 130; notBasligiEdit.Position.Y = 50; notBasligiEdit.Width = 200; notBasligiEdit.Height = 30;
notIcerigiLabel = MyForm.AddNewProLabel(MyForm, 'notIcerigiLabel', 'Not İçeriği:'); notIcerigiLabel.Align = alNone; notIcerigiLabel.Position.X = 30; notIcerigiLabel.Position.Y = 100;
notIcerigiScrollBox = MyForm.AddNewVertScrollBox(MyForm, 'notIcerigiScrollBox'); notIcerigiScrollBox.Align = alNone; notIcerigiScrollBox.Position.X = 130; notIcerigiScrollBox.Position.Y = 100; notIcerigiScrollBox.Width = 200; notIcerigiScrollBox.Height = 150; notIcerigiScrollBox.ShowScrollBars = True;
notIcerigiEdit = MyForm.AddNewProEdit(notIcerigiScrollBox, 'notIcerigiEdit', ''); notIcerigiEdit.Align = alTop; notIcerigiEdit.Width = notIcerigiScrollBox.Width - 20; notIcerigiEdit.Height = notIcerigiScrollBox.Height * 2; notIcerigiEdit.Margins.Top = alTop; notIcerigiEdit.TextSettings.VertAlign=1; notIcerigiEdit.TextSettings.WordWrap=True;
kaydetButton = MyForm.AddNewProButton(MyForm, 'kaydetButton', 'Kaydet'); kaydetButton.Align = alNone; kaydetButton.Position.X = 150; kaydetButton.Position.Y = 270; kaydetButton.Width = 100; kaydetButton.Height = 40; kaydetButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); kaydetButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); kaydetButton.SetclProSettings(kaydetButton.clProSettings); if (Assigned(kaydetButton)) { try MyForm.AddNewEvent(kaydetButton, tbeOnClick, 'KaydetNot'); except ShowMessage('Event bağlanırken bir hata oluştu.'); }; };
MyForm.Run; }
void GirisYap; { if not (Assigned(girisSayfa)) girisSayfa = TclForm.Create(Self);
girisSayfa.SetFormBGImage(' https://i.hizliresim.com/phhojjq.jpg" rel="nofollow - https://i.hizliresim.com/phhojjq.jpg ');
nameG = girisSayfa.AddNewProEdit(girisSayfa, 'nameG', 'İsminiz:'); nameG.Margins.Top = 150; nameG.Width = 350; nameG.Height = 45; nameG.clProSettings.RoundWidth = 20; nameG.clProSettings.RoundHeight = 20; nameG.SetclProSettings(nameG.clProSettings);
surnameG = girisSayfa.AddNewProEdit(girisSayfa, 'surnameG', 'Soyisminiz:'); surnameG.Margins.Top = 210; surnameG.Width = 350; surnameG.Height = 45; surnameG.clProSettings.RoundWidth = 20; surnameG.clProSettings.RoundHeight = 20; surnameG.SetclProSettings(surnameG.clProSettings);
passwordG = girisSayfa.AddNewProEdit(girisSayfa, 'passwordG', 'Şifreniz:'); passwordG.Margins.Top = 270; passwordG.Width = 350; passwordG.Height = 45; passwordG.clProSettings.RoundWidth = 20; passwordG.clProSettings.RoundHeight = 20; passwordG.Password = True; passwordG.SetclProSettings(passwordG.clProSettings);
girisButton = girisSayfa.AddNewProButton(girisSayfa, 'girisButton', 'Giriş Yap'); girisButton.Margins.Top = 350; girisButton.Width = 160; girisButton.Height = 40; girisButton.clProSettings.RoundWidth = 20; girisButton.clProSettings.RoundHeight = 20; girisButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2196F3'); girisButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
girisButton.SetclProSettings(girisButton.clProSettings); girisSayfa.AddNewEvent(girisButton, tbeOnClick, 'KullaniciKontrolEt');
girisSayfa.Run; } void KayitOl; { if not (Assigned(kayitSayfa)) kayitSayfa = TclForm.Create(Self);
kayitSayfa.SetFormBGImage(' https://i.hizliresim.com/phhojjq.jpg" rel="nofollow - https://i.hizliresim.com/phhojjq.jpg ');
nameK = kayitSayfa.AddNewProEdit(kayitSayfa, 'nameK', 'İsminiz:'); nameK.Margins.Top = 150; nameK.Width = 350; nameK.Height = 45; nameK.clProSettings.RoundWidth = 20; nameK.clProSettings.RoundHeight = 20; nameK.SetclProSettings(nameK.clProSettings);
surnameK = kayitSayfa.AddNewProEdit(kayitSayfa, 'surnameK', 'Soyisminiz:'); surnameK.Margins.Top = 210; surnameK.Width = 350; surnameK.Height = 45; surnameK.clProSettings.RoundWidth = 20; surnameK.clProSettings.RoundHeight = 20; surnameK.SetclProSettings(surnameK.clProSettings);
passwordK = kayitSayfa.AddNewProEdit(kayitSayfa, 'passwordK', 'Şifreniz:'); passwordK.Margins.Top = 270; passwordK.Width = 350; passwordK.Height = 45; passwordK.clProSettings.RoundWidth = 20; passwordK.clProSettings.RoundHeight = 20; passwordK.Password = True; passwordK.SetclProSettings(passwordK.clProSettings);
kayitButton = kayitSayfa.AddNewProButton(kayitSayfa, 'kayitButton', 'Kayıt Ol'); kayitButton.Margins.Top = 350; kayitButton.Width = 160; kayitButton.Height = 40; kayitButton.clProSettings.RoundWidth = 20; kayitButton.clProSettings.RoundHeight = 20; kayitButton.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#4CAF50'); kayitButton.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); kayitButton.SetclProSettings(kayitButton.clProSettings); kayitSayfa.AddNewEvent(kayitButton, tbeOnClick, 'SqLiteInsertUser');
kayitSayfa.Run; }
void SqLiteInsertUser; { try Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', ''); ShowMessage('Veritabanına bağlanıldı.'); Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT * FROM Users WHERE user_name = ' + QuotedStr(nameK.Text) + ' AND user_surname = ' + QuotedStr(surnameK.Text); Clomosy.DBSQLiteQuery.OpenOrExecute; if not (Clomosy.DBSQLiteQuery.Found) { Clomosy.DBSQLiteQuery.Sql.Text = 'INSERT INTO Users (user_name, user_surname, user_password) VALUES (' + QuotedStr(nameK.Text) + ', ' + QuotedStr(surnameK.Text) + ', ' + QuotedStr(passwordK.Text) + ');'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Başarılı bir şekilde kayıt olundu!'); kayitSayfa.clHide; GirisYap; } else { ShowMessage('Bu kullanıcı zaten mevcut.'); } except ShowMessage('Kayıt sırasında bir hata oluştu: ' + LastExceptionMessage); } }
void SqLiteConnectionCreateTable; var TableExists: Boolean; { try Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', ''); ShowMessage('Veritabanına bağlanıldı.');
Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="Users";'; Clomosy.DBSQLiteQuery.OpenOrExecute; TableExists = not (Clomosy.DBSQLiteQuery.Eof); if not (TableExists) { Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE Users(user_id INTEGER PRIMARY KEY AUTOINCREMENT, user_name TEXT, user_surname TEXT, user_password TEXT)'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Kullanıcı tablosu başarıyla oluşturuldu!'); } else { ShowMessage('Kullanıcı tablosu zaten mevcut.'); }
Clomosy.DBSQLiteQuery.Sql.Text = 'SELECT name FROM sqlite_master WHERE type="table" AND name="Notes";'; Clomosy.DBSQLiteQuery.OpenOrExecute;
TableExists = not (Clomosy.DBSQLiteQuery.Eof);
if not (TableExists) { Clomosy.DBSQLiteQuery.Sql.Text = 'CREATE TABLE Notes(' + 'note_id INTEGER PRIMARY KEY AUTOINCREMENT, ' + 'note_title TEXT, ' + 'note_content TEXT)'; Clomosy.DBSQLiteQuery.OpenOrExecute; ShowMessage('Notes tablosu başarıyla oluşturuldu!'); } else { ShowMessage('Notes tablosu zaten mevcut.'); }
except ShowMessage('Veritabanı işlemleri sırasında bir hata oluştu: ' + LastExceptionMessage); } }
void KullaniciKontrolEt; var Qry: TClSQLiteQuery; { try Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath+'MuhabirMobil.db', ''); ShowMessage('Veritabanına bağlanıldı.');
Qry = Clomosy.DBSQLiteQueryWith( 'SELECT * FROM Users WHERE user_name = ' + QuotedStr(nameG.Text) + ' AND user_surname = ' + QuotedStr(surnameG.Text) + ' AND user_password = ' + QuotedStr(passwordG.Text)); Qry.OpenOrExecute; if (Qry.Found) { ShowMessage('Başarılı bir şekilde giriş yapıldı!'); girisSayfa.clHide; ShowPostLoginScreen(nameG.Text); } else { ShowMessage('Kullanıcı bulunamadı. Lütfen tekrar deneyin.'); } except ShowMessage('Giriş sırasında bir hata oluştu: ' + LastExceptionMessage); } }
{ SqLiteConnectionCreateTable; ShowAnaSayfa; }
------------- Mustafa Çetin
|