![]() |
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 kullanırken çalışma zamanı hatası |
Yanıt Yaz ![]() |
Yazar | |
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 5 Saat 37 Dakika Önce Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 8 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: 5 Saat 25 Dakika Önce Saat 15:01 |
Fonksiyon ve prosedür kullanarak kullanıcıdan inputandcall ile alınmış olan input ile resmin değişeceği bir kodu işlevsel bir şekilde yazmayı denedim fakat çalışırken aynı anda hepsi çalışıtığı için istediğim resim gözükmüyor. var mainForm: TClForm; testImage: TCLImage; userinput : String; function TakeUserInput:String; { if(VarIsNull(userinput)) InputAndCall('Hayvan Seçiniz Kedi ya da Tilki','--- ','TakeUserInput','Exit'); else { userinput = Clomosy.GlobalResult; userinput = AnsiLowerCase(userinput); Result= userinput;} //ShowMessage('userinput: '+userinput); } void ChangeImg(userinput:String) { //mainForm= TClForm.Create(self); //testImage= mainForm.AddNewImage(mainForm,'testImg'); if(userinput=='tilki') { testImage.MultiResBitMap.Clear; mainForm.SetImage(testImage, 'https://pngimg.com/d/arctic_fox_PNG115432.png'); mainForm.AddNewEvent(testImage,tbeOnClick,'ChangeImg'); } else if(userinput=='kedi') { testImage.MultiResBitMap.Clear; mainForm.SetImage(testImage, 'https://pngimg.com/d/cat_PNG115405.png'); mainForm.AddNewEvent(testImage,tbeOnClick,'ChangeImg'); } else if((userinput== '')||(userinput== '--')) ChangeImg(userinput); else ShowMessage('Elimizde yok Malesef...'); mainForm.run; } { mainForm= TClForm.Create(self); testImage= mainForm.AddNewImage(mainForm,'testImg'); InputAndCall('Hayvan Seçiniz Kedi ya da Tilki','--- ','TakeUserInput','Exit'); //if (userinput > 0)//(Length(userinput)>=3) //{ ShowMessage('Input: '+userinput+ IntToStr(Length(userinput))); //mainForm.AddNewEvent(InputAndCall, tbeOnEnter, 'ChangeImg(userinput)'); ChangeImg(userinput); testImage.align= alCenter; testImage.Height= 400; testImage.width= 200; mainForm.run; }
|
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 256 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Güney,
Aşağıda yer alan kodu inceler misin? mainForm: TclForm; testImage: TClProImage; editInput: TClProEdit; userinput: String; function GetUserInput: String { userinput = editInput.Text; userinput = AnsiLowerCase(Trim(userinput)); Result = userinput; } function GetImageUrl(animal: String): String { if (animal == 'tilki') { Result = 'https://resmim.net/cdn/2025/09/16/jEiO8W.png'; } else if (animal == 'kedi') { Result = 'https://resmim.net/cdn/2025/09/16/jEi7hL.png'; } else { Result = ''; } } void ChangeImg var imageUrl: String; { userinput = GetUserInput; imageUrl = GetImageUrl(userinput); if (imageUrl <> '') { mainForm.SetImage(testImage, imageUrl); } else { ShowMessage('Elimizde yok Malesef...'); } } void EditOnChange { ChangeImg; } void CreateEdit { editInput = mainForm.AddNewProEdit(mainForm, 'editInput', 'Hayvan yazın (kedi/tilki)'); editInput.Align = alTop; editInput.Height = 50; editInput.Margins.Top = 20; editInput.Margins.Left = 20; editInput.Margins.Right = 20; editInput.clProSettings.FontSize = 16; editInput.clProSettings.FontColor = clAlphaColor.clHexToColor('#2C3E50'); editInput.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ECF0F1'); editInput.clProSettings.RoundHeight = 10; editInput.clProSettings.RoundWidth = 10; editInput.SetclProSettings(editInput.clProSettings); mainForm.AddNewEvent(editInput, tbeOnChange, 'EditOnChange'); } void CreateImage { testImage = mainForm.AddNewProImage(mainForm, 'testImg'); testImage.Align = alClient; testImage.Margins.Top = 20; testImage.Margins.Bottom = 20; testImage.Margins.Left = 20; testImage.Margins.Right = 20; } void SetupForm { mainForm = TclForm.Create(self); mainForm.clSetWindowState(fwsMaximized); } { SetupForm; CreateEdit; CreateImage; mainForm.Run; } Bu şekil de bir düzeltme yaptım. |
|
![]() |
|
M-Guney ![]() Yeni Üye ![]() Kayıt Tarihi: 5 Saat 37 Dakika Önce Konum: Konya, Meram, K Durum: Aktif Değil Puanlar: 8 |
![]() ![]() ![]() ![]() ![]() |
mainForm.AddNewEvent(editInput, tbeOnChange, 'EditOnChange'); void EditOnChange { ChangeImg; } OnChange durumda olması fazla kullanıcının bulunduğu bir seneryoda sisteme yük bindirir mi ? Editin nasıl kullanılması gerektiğini daha iyi anladım teşşekür ederim. |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 256 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Evet Güney, OnChange olayı her veri girişinde tetiklendiği için yoğun kullanımda sunucuya gereksiz yük bindirebilir ve performans sorunları yaratabilir. OnExit veya Buton ile tetikleme kullanmak daha kontrollü ve performanslı bir çözümdür; işlem yalnızca kullanıcı bilinçli olarak başlattığında çalışır. |
|
![]() |
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 |