Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - proje
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

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.

proje

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
yagmur Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: Dün
Durum: Aktif Değil
Puanlar: 2
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı yagmur Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: proje
    Gönderim Zamanı: 1 saat 40 Dakika Önce Saat 21:15
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">

var
  Form1 : TclForm;
  searchEdt : TClProSearchEdit;
  titleLbl : TclProLabel;
  tempLbl : TClProLabel;
  descLbl : TClProLabel;
  city : String;

// ==========================================
// HAVA DURUMU API ISTEGI (GÜNCELLENDI)
// ==========================================
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=' + 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; // Istegi baslat
  }
}

{
  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.AddNewProSearchEdit(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;
}  
kod çalışıyor ama apı çekemiyor


4GWTRS
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif
Puanlar: 855
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 1 saat 23 Dakika Önce Saat 21:32
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=' + 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
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" 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">
Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 12.07
Copyright ©2001-2024 Web Wiz Ltd.

Bu Sayfa 0,031 Saniyede Yüklendi.