var
loginform:TclStyleForm;
loginbtn,signupbtn;TClProButton;
emailedit,passwordedit:TclProEdit;
quotelabel:TClProLabel;
UnitRegister:TclUnit;
void CreateTable;
{
try
{
Clomosy.DBSQLiteConnect(Clomosy.AppFilesPath + 'miaproject.db3', '');
Clomosy.DBSQLiteQuery.SQL.Text =
'CREATE TABLE IF NOT EXISTS Users (' +
'UserID INTEGER PRIMARY KEY AUTOINCREMENT,' +
'Email TEXT NOT NULL UNIQUE,' +
'FirstName TEXT NOT NULL,' +
'LastName TEXT NOT NULL,' +
'Password TEXT NOT NULL' +
')';
Clomosy.DBSQLiteQuery.OpenOrExecute();
}
except
ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
}
}
void SignIn;
{
try
Clomosy.DBSQLiteQuery.SQL.Text =
'SELECT COUNT(*) AS number FROM Users WHERE Email = ' + QuotedStr(emailedit.Text) + 'AND Password = ' + QuotedStr(passwordedit.Text);
Clomosy.DBSQLiteQuery.OpenOrExecute();
if (Clomosy.DBSQLiteQuery.FieldByName('number').AsString == '1')
{
Clomosy.RunUnit('UHomePage');
}
else
{
ShowMessage('Giriş başarısız.Email ya da şifre hatalı');
}
except
ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
}
}
void gotoRegister;
{
UnitRegister.UnitName='URegister';
UnitRegister.CallerForm='loginform';
UnitRegister.Run;
}
{
loginform=TclStyleForm.Create(Self);
loginform.SetFormBGImage(' https://i.imgur.com/qbg3hQN.png" rel="nofollow - https://i.imgur.com/qbg3hQN.png ');
emailedit=loginform.AddNewProEdit(loginform, 'emailedit', 'Email: ');
emailedit.Align=alTop;
emailedit.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#ffffff')
emailedit.Width=60;
emailedit.Height=40;
emailedit.Margins.Top=250;
emailedit.Margins.Right=60;
emailedit.Margins.Left=60;
emailedit.clProSettings.RoundHeight=8;
emailedit.clProSettings.RoundWidth=8;
emailedit.clProSettings.TextSettings.Font.Size=10;
emailedit.clProSettings.TextSettings.FontColor=clAlphaColor.clHexToColor('#e9e9e9');
emailedit.SetclProSettings(emailedit.clProSettings);
passwordedit=loginform.AddNewProEdit(loginform, 'passwordedit', 'Şifre: ');
passwordedit.Align=alTop;
passwordedit.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#ffffff')
passwordedit.Width=60;
passwordedit.Height=40;
passwordedit.Margins.Top=50;
passwordedit.Margins.Right=60;
passwordedit.Margins.Left=60;
passwordedit.clProSettings.RoundHeight=8;
passwordedit.clProSettings.RoundWidth=8;
passwordedit.clProSettings.TextSettings.Font.Size=10;
passwordedit.clProSettings.TextSettings.FontColor=clAlphaColor.clHexToColor('#e9e9e9');
passwordedit.SetclProSettings(passwordedit.clProSettings);
loginbtn=loginform.AddNewProButton(loginform, 'loginbtn', 'GİRİŞ YAP');
loginbtn.Align=alCenter;
loginbtn.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#ffffff');
loginbtn.clProSettings.TextSettings.Font.Size=30;
loginbtn.clProSettings.FontColor=clAlphaColor.clHexToColor('#e9e9e9');
loginbtn.clProSettings.TextSettings.Font.Style=[fsBold];
loginbtn.Height=30;
loginbtn.Width=80;
loginbtn.Margins.Bottom=100;
loginbtn.Margins.Right=100;
loginbtn.clProSettings.RoundHeight=8;
loginbtn.clProSettings.RoundWidth=8;
loginbtn.clProSettings.IsTransparent=True;
loginbtn.clProSettings.FontVertAlign = palcenter;
loginbtn.clProSettings.FontHorzAlign = palCenter;
loginbtn.SetclProSettings(loginbtn.clProSettings);
signupbtn=loginform.AddNewProButton(loginform, 'signupbtn', 'KAYIT OL');
signupbtn.Align=alCenter;
signupbtn.clProSettings.BackgroundColor=clAlphaColor.clHexToColor('#ffffff');
signupbtn.clProSettings.TextSettings.Font.Size=30;
signupbtn.clProSettings.FontColor=clAlphaColor.clHexToColor('#e9e9e9');
signupbtn.clProSettings.TextSettings.Font.Style=[fsBold];
signupbtn.Height=30;
signupbtn.Width=80;
signupbtn.Margins.Bottom=100;
signupbtn.Margins.Left=100;
signupbtn.clProSettings.RoundHeight=8;
signupbtn.clProSettings.RoundWidth=8;
signupbtn.clProSettings.IsTransparent=True;
signupbtn.clProSettings.FontVertAlign = palcenter;
signupbtn.clProSettings.FontHorzAlign = palCenter;
signupbtn.SetclProSettings(signupbtn.clProSettings);
quotelabel = loginform.AddNewProLabel(loginform,'quotelabel','"Müşteriyi dinleyen değil, anlayan sistem."');
quotelabel.Align = alBottom;
quotelabel.Margins.Bottom=20;
quotelabel.Margins.Left=70;
quotelabel.Margins.Right=50;
quotelabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
quotelabel.clProSettings.FontSize =15;
quotelabel.clProSettings.AutoSize = True;
quotelabel.clProSettings.FontVertAlign = palcenter;
quotelabel.clProSettings.FontHorzAlign = palLeading;
quotelabel.clProSettings.TextSettings.Font.Style = [fsItalic];
quotelabel.clProSettings.IsFill = True;
quotelabel.clProSettings.IsRound = True;
quotelabel.SetclProSettings(quotelabel.clProSettings);
CreateTable;
UnitRegister=TclUnit.Create;
loginform.AddNewEvent(signupbtn,tbeOnClick,'gotoRegister');
loginform.Run;
}
var
KayitForm: TclStyleForm;
nameEdit, surnameEdit, emailEdit, passwordEdit: TclProEdit;
kayitButton: TClProButton;
titleLabel: TClProLabel;
function IsValidAndUniqueEmail(mail: String): Boolean;
var atPos, dotPos, adetInt: Integer;
{
atPos = Pos('@', mail);
dotPos = Pos('.', mail);
if (atPos <= 1 || dotPos <= atPos + 1 || dotPos >= Length(mail)) {
ShowMessage('Geçerli bir e-posta adresi giriniz.');
Result = False;
exit;
}
try
Clomosy.DBSQLiteQuery.SQL.Text =
'SELECT COUNT(*) as adet FROM Users WHERE Email = ' + QuotedStr(mail);
Clomosy.DBSQLiteQuery.Open;
if not Clomosy.DBSQLiteQuery.Eof then {
adetInt = Clomosy.DBSQLiteQuery.FieldByName('adet').AsInteger;
} else {
adetInt = 0;
}
Clomosy.DBSQLiteQuery.Close;
if (adetInt > 0) {
ShowMessage('Bu e-posta adresi zaten kayıtlı.');
Result = False;
} else {
Result = True;
}
except
ShowMessage('E-posta kontrolünde hata oluştu: ' + LastExceptionMessage);
Clomosy.DBSQLiteQuery.Close;
Result = False;
}
}
function CheckBlanks: Boolean;
{
if (Trim(nameEdit.Text) == '' || Trim(surnameEdit.Text) == '' ||
Trim(emailEdit.Text) == '' || Trim(passwordEdit.Text) == '') {
ShowMessage('Lütfen tüm alanları doldurun.');
Result = False;
} else {
Result = True;
}
}
void ResetFields;
{
nameEdit.Text = '';
surnameEdit.Text = '';
emailEdit.Text = '';
passwordEdit.Text = '';
}
void KayitOl;
{
if (CheckBlanks && IsValidAndUniqueEmail(emailEdit.Text)) {
Clomosy.DBSQLiteQuery.SQL.Text =
'INSERT INTO Users (Email, FirstName, LastName, Password) VALUES (' +
QuotedStr(emailEdit.Text) + ',' +
QuotedStr(nameEdit.Text) + ',' +
QuotedStr(surnameEdit.Text) + ',' +
QuotedStr(passwordEdit.Text) + ')';
try
Clomosy.DBSQLiteQuery.OpenOrExecute;
ShowMessage('Kayıt başarıyla tamamlandı.');
ResetFields;
except
ShowMessage('Kayıt sırasında bir hata oluştu: ' + LastExceptionMessage);
}
}
{
KayitForm = TclStyleForm.Create(Self);
KayitForm.SetFormBGImage(' https://i.imgur.com/XYlUQhl.jpeg" rel="nofollow - https://i.imgur.com/XYlUQhl.jpeg ');
titleLabel = KayitForm.AddNewProLabel(KayitForm, 'titleLabel', 'Kayıt Ol');
titleLabel.Align = alTop;
titleLabel.Height = 40;
titleLabel.clProSettings.FontSize = 20;
titleLabel.clProSettings.TextSettings.Font.Style = [fsBold];
titleLabel.clProSettings.TextSettings.FontHorzAlign = palCenter;
titleLabel.SetclProSettings(titleLabel.clProSettings);
nameEdit = KayitForm.AddNewProEdit(KayitForm, 'nameEdit', 'Adınız');
nameEdit.Align = alTop;
nameEdit.Height = 40;
nameEdit.Margins.Top = 20;
surnameEdit = KayitForm.AddNewProEdit(KayitForm, 'surnameEdit', 'Soyadınız');
surnameEdit.Align = alTop;
surnameEdit.Height = 40;
surnameEdit.Margins.Top = 10;
emailEdit = KayitForm.AddNewProEdit(KayitForm, 'emailEdit', 'E-posta adresi');
emailEdit.Align = alTop;
emailEdit.Height = 40;
emailEdit.Margins.Top = 10;
passwordEdit = KayitForm.AddNewProEdit(KayitForm, 'passwordEdit', 'Şifre');
passwordEdit.Align = alTop;
passwordEdit.Height = 40;
passwordEdit.clProSettings.Password = True;
passwordEdit.SetclProSettings(passwordEdit.clProSettings);
passwordEdit.Margins.Top = 10;
kayitButton = KayitForm.AddNewProButton(KayitForm, 'kayitButton', 'Kayıt Ol');
kayitButton.Align = alTop;
kayitButton.Height = 45;
kayitButton.Margins.Top = 20;
kayitButton.clProSettings.TextSettings.Font.Style = [fsBold];
kayitButton.clProSettings.TextSettings.FontHorzAlign = palCenter;
kayitButton.SetclProSettings(kayitButton.clProSettings);
KayitForm.AddNewEvent(kayitButton, tbeOnClick, 'KayitOl');
KayitForm.Run;
}