![]() |
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. |
Could not convert variant of type (UnicodeString) |
Yanıt Yaz ![]() |
Yazar | |
Sudesigirci ![]() Deneyimli Üye ![]() Kayıt Tarihi: 24 Haziran 2025 Konum: KONYA Durum: Aktif Değil Puanlar: 53 |
![]() Yanıt Yaz
Alıntı Sudesigirci
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() Gönderim Zamanı: 08 Temmuz 2025 Saat 13:12 |
Merhabalar main coddan Uregister unitine geçmek istediğimde Could not convert variant of type (UnicodeString) into type (Integer) hatası alıyorum bu hatayı nasıl çözeceğimi bilemedim yardımlarınız için teşekkür ederim
//Main Code 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'); 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; } //URegister kodum 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'); 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; } |
|
![]() |
|
cerenn ![]() Yeni Üye ![]() Kayıt Tarihi: 18 Haziran 2025 Durum: Aktif Değil Puanlar: 26 |
![]() ![]() ![]() ![]() ![]() |
Merhaba Sude,
void gotoRegister; { UnitRegister.UnitName='URegister'; UnitRegister.CallerForm=loginform; UnitRegister.Run; } callerform property'si string değil, form nesnesi bekliyor. Sen 'loginform' (string) veriyorsun, ama loginform yani form nesnesi vermen gerekiyor. İyi çalışmalar dilerim |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 108 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Sude,
Diğer hatalar ise; kayitButton.clProSettings.TextSettings.FontHorzAlign = palCenter; olarak değil kayitButton.clProSettings.FontHorzAlign = palCenter; bir diğeri ise; passwordEdit.clProSettings.Password = True; kullanımı yanlış passwordEdit.Password = True; doğrusu bu şekil de İyi çalışmalar. |
|
![]() |
Yanıt Yaz ![]() |
|
Tweet |
Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |