Merhaba Yağmur
var Form1 : TclForm; searchEdt : TclProEdit; titleLbl : TclProLabel; tempLbl : TClProLabel; descLbl : TClProLabel; city : String;
void getWeatherRequest; var MyHttp : TclHttp; str : String; JSONNesnesi : TCLJSONObject; WeatherArr : TCLJSONArray; WeatherObj : TCLJSONObject; ApiDurumKodu, WeatherMetni : String; { MyHttp = TclHttp.Create(nil); try str = MyHttp.GetRequest(' https://api.openweathermap.org/data/2.5/weather?q=" rel="nofollow - https://api.openweathermap.org/data/2.5/weather?q= ' + city + '&appid=df699d8c75653e80730faa440e938a26&units=metric&lang=tr'); if (str <> '') { JSONNesnesi = TCLJSON.ParseToJSONObject(str); try ApiDurumKodu = JSONNesnesi.GetValue('cod').AsString; if (ApiDurumKodu == '200') { tempLbl.Text = JSONNesnesi.GetValueByPath('main.temp').AsString + ' °C'; WeatherMetni = Clomosy.CLParseJSON(str, 'weather'); WeatherArr = TCLJSON.ParseToJSONArray(WeatherMetni); if (WeatherArr.Count > 0) { WeatherObj = TCLJSONObject(WeatherArr.GetItem(0)); descLbl.Text = WeatherObj.GetValue('description').AsString; descLbl.Text = UpperCase(descLbl.Text); } } else { tempLbl.Text = 'Sehir Bulunamadi!'; descLbl.Text = 'Lütfen kontrol edip tekrar deneyin.'; } finally JSONNesnesi.Free; } } else { tempLbl.Text = 'Baglanti Hatasi!'; descLbl.Text = 'Lütfen internetinizi kontrol edin.'; } finally MyHttp.Free; } }
void BtnOnClick; { city = searchEdt.Text; if (city <> '') { tempLbl.Text = 'Yükleniyor...'; descLbl.Text = ''; getWeatherRequest; } }
{ Form1 = TclForm.Create(Self); Form1.SetFormColor('#F8FAFC', '', clGNone);
titleLbl = Form1.AddNewProLabel(Form1,'titleLbl','HAVA DURUMU'); titleLbl.Align = alTop; titleLbl.Height = 80; titleLbl.clProSettings.FontHorzAlign = palCenter; titleLbl.clProSettings.FontVertAlign = palCenter; titleLbl.clProSettings.TextSettings.Font.Style = [fsBold]; titleLbl.clProSettings.FontSize = 24; titleLbl.SetclProSettings(titleLbl.clProSettings);
searchEdt = Form1.AddNewProEdit(Form1,'searchEdt','Sehir girip Enter''a basiniz...'); searchEdt.Align = alTop; searchEdt.Height = 50; searchEdt.Margins.Left = 30; searchEdt.Margins.Right = 30; Form1.AddNewEvent(searchEdt,tbeOnEnter,'BtnOnClick');
tempLbl = Form1.AddNewProLabel(Form1,'tempLbl',''); tempLbl.Align = alTop; tempLbl.Height = 100; tempLbl.Margins.Top = 50; tempLbl.clProSettings.FontHorzAlign = palCenter; tempLbl.clProSettings.FontVertAlign = palCenter; tempLbl.clProSettings.FontSize = 45; tempLbl.clProSettings.TextSettings.Font.Style = [fsBold]; tempLbl.SetclProSettings(tempLbl.clProSettings);
descLbl = Form1.AddNewProLabel(Form1,'descLbl',''); descLbl.Align = alTop; descLbl.Height = 50; descLbl.clProSettings.FontHorzAlign = palCenter; descLbl.clProSettings.FontSize = 18; descLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#64748B'); descLbl.SetclProSettings(descLbl.clProSettings);
Form1.Run; }
Kodunda AddNewProSearchEdit kullandığın için event tetiklenmedi. Onun yerine TclProEdit kullandım tbeOnEnter olayını ekledim https://www.docs.clomosy.com/index.php?title=Events" rel="nofollow - https://www.docs.clomosy.com/index.php?title=Events https://www.docs.clomosy.com/index.php?title=AddNewEvent" rel="nofollow - https://www.docs.clomosy.com/index.php?title=AddNewEvent TbeOnEnter da enter tuşuyla çalışmıyor Docs sitesinde eventların açıklamaları yer almakta bir göz atmanı isterim. https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|