![]() |
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. |
Fonksiyon bulunumadı hatası |
Yanıt Yaz ![]() |
Yazar | |
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 25 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: 20 Saat 59 Dakika Önce Saat 17:04 |
Basit bi hesap makinesi yapmaya çalıştım fakat fonksiyonu bulamadı hatası ile karşılaşıyorum.
//Calculator var mainForm: TCLForm; editInput: TCLEdit; userInput: String; function takeUserInput:String;{ userInput = editInput.Text; Result = userInput; } void Calculate{ userInput = takeUserInput; //editInput.Text; editInput.Text = IntToStr(userInput); //editInput.Text // ShowMessage('IntToStr(userInput)'); } void addSembol(sembol: Char);{ userInput = takeUserInput; //editInput.Text; if(sembol=='d'){ Delete(userInput, Length(userInput), 1); } else if(sembol == '+'){ userInput = userInput+ '+'; }else if(sembol == '-'){ userInput = userInput+ '-'; }else if(sembol == '*'){ userInput = userInput+ '*'; }else if(sembol == '/'){ userInput = userInput+ '/'; } editInput.Text = userInput; } void setupForm; var calculateBtn, plusBtn, minusBtn, multipleBtn, diversionBtn :TClProButton; { mainForm = TCLForm.Create(self); editInput = mainForm.AddNewEdit(mainForm,'editInput', 'Write to Calculate...'); editInput.align = alTop; plusBtn = mainForm.AddNewProButton(mainForm, 'plusBtn', '+'); plusBtn.Margins.left = 400; plusBtn.Margins.right = 100; plusBtn.Margins.Top = 50; plusBtn.align = alCenter; minusBtn = mainForm.AddNewProButton(mainForm, 'minusBtn', '-'); minusBtn.Margins.left = 300; minusBtn.Margins.right = 100; minusBtn.Margins.Top = 50; minusBtn.align = alCenter; multipleBtn = mainForm.AddNewProButton(mainForm, 'multipleBtn', '*'); multipleBtn.Margins.left = 200; multipleBtn.Margins.right = 100; multipleBtn.Margins.Top = 50; multipleBtn.align= alCenter; diversionBtn = mainForm.AddNewProButton(mainForm, 'diversionBtn', '/'); diversionBtn.Margins.left = 100; diversionBtn.Margins.right = 100; diversionBtn.Margins.Top = 50; diversionBtn.align= alCenter; calculateBtn = mainForm.AddNewProButton(mainForm, 'calculateBtn', 'Calculate'); mainForm.AddNewEvent(plusBtn,tbeOnClick,'addSembol(''+'')'); mainForm.AddNewEvent(minusBtn,tbeOnClick,'addSembol(''-'''); mainForm.AddNewEvent(multipleBtn,tbeOnClick,'addSembol(''*'')'); mainForm.AddNewEvent(diversionBtn,tbeOnClick,'addSembol(''/'')'); mainForm.AddNewEvent(calculateBtn,tbeOnClick,'Calculate'); mainForm.AddNewEvent(calculateBtn,tbeOnEnter,'Calculate'); } { setupForm; mainForm.run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 296 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Güney,
Daha önce foruma sorulmuş bir konunun linkini paylaşıyorum. İnceleyebilirsin. https://forum.clomosy.com.tr/topic1072.html İyi çalışmalar. |
|
![]() |
|
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 25 |
![]() ![]() ![]() ![]() ![]() |
İnceledim fakat neden fonksiyon bulunamadı dediğini anlayamadım.
|
|
![]() |
|
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 25 |
![]() ![]() ![]() ![]() ![]() |
Neden çalışmadığını buldum AddNewEvent kısmındaki parametreden dolayı prosedürü bulamıyorum diyor. Parametre içermeyene bir prosedür ile deneyince herhangi bir problem yaşamadım.
mainForm.AddNewEvent(minusBtn,tbeOnClick,'addSembol(''-'')'); Ben AddNewEvent kısmında parametreli bir şekilde prosedür çağırmak istiyorum nasıl yapabilirim. |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 296 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Clomosy’de Event Parametreleri Hakkında tbeOnClick, tbeOnChange gibi eventler tek bir parametre ile çalışır. Bu parametre Sender’dır ve event’i tetikleyen component’i temsil eder. Örneğin hangi butona tıklandıysa, Sender o butonun referansını taşır. Clomosy’de Sender kullanımı şu şekildedir: var tiklananBtn: TClProButton; { tiklananBtn = TClProButton(MyForm.clSender); ShowMessage(tiklananBtn.Text); } MyForm.clSender özelliği, en son tetiklenen event’i başlatan component’i temsil eder. Parametre Verilememe Sebebi Event prosedürleri, Sender parametresi ile sabitlenmiştir. Örneğin tbeOnClick bir butona atanmışsa, Clomosy motoru prosedürü şöyle çağırır: YourEventHandler(SenderComponent) Bu nedenle şu kullanım desteklenmez: AddNewEvent(btn, tbeOnClick, 'myProc(5)'); Hem Clomosy motoru hem de event imzası buna izin vermez. Parametre Gibi Kullanmak İçin Eğer event sırasında ek bilgiye ihtiyaç varsa clTagStr veya clTagInt kullanılabilir: myButton.clTagStr = 'topla'; var btn: TClProButton; btn = TClProButton(MyForm.clSender); ShowMessage('Butonun clTagStr verisi: ' + btn.clTagStr); Böylece event tetiklendiğinde butona özel bilgiyi clTagStr üzerinden alabilirsiniz. Kısaca; Clomosy’de event’lara doğrudan parametre verilemez. MyForm.clSender ile hangi component’in tetiklendiğini öğreniriz. Ek bilgi gerekiyorsa clTagStr ve clTagInt kullanılır. plusBtn.CLTagStr='+'; minusBtn.CLTagStr='-'; multipleBtn.CLTagStr='*'; diversionBtn.CLTagStr='/'; mainForm.AddNewEvent(plusBtn,tbeOnClick,'addSembol'); mainForm.AddNewEvent(minusBtn,tbeOnClick,'addSembol'); mainForm.AddNewEvent(multipleBtn,tbeOnClick,'addSembol'); mainForm.AddNewEvent(diversionBtn,tbeOnClick,'addSembol'); void addSembol var sembol; { userInput = takeUserInput; //editInput.Text; sembol = TCLProButton(mainForm.CLSender).CLTagStr; if(sembol=='d'){ Delete(userInput, Length(userInput), 1); } else if(sembol == '+'){ userInput = userInput+ '+'; }else if(sembol == '-'){ userInput = userInput+ '-'; }else if(sembol == '*'){ userInput = userInput+ '*'; }else if(sembol == '/'){ userInput = userInput+ '/'; } editInput.Text = userInput; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 296 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
![]() |
|
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 25 |
![]() ![]() ![]() ![]() ![]() |
Anladım teşekkür ederim.
|
|
![]() |
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 |