Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Syntax error
  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.

Syntax error

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


Kayıt Tarihi: 23 Mart 2026
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı maliwankenobi254 Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Syntax error
    Gönderim Zamanı: 09 Nisan 2026 Saat 22:00
selamun aleyküm yardımcı olabilirmisiniz hata alıyorum 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
  MainForm: TclForm;
  MyMQTT: TclMQTT;
  TempLbl, SoilLbl, TankLbl, RainLbl: TclLabel;
  PmpBtn: TclProButton;
  HeaderPnl: TclProPanel;

void OnMQTTMessage;
var
  msg: String;
  jsonObj: TclJson;
begin
  msg := MyMQTT.ReceivedMessage;
  try
    jsonObj := TclJson.Create;
    jsonObj.Parse(msg);
   
    TempLbl.Text := '🌡️ Hava: ' + jsonObj.GetValue('temp') + '°C';
    SoilLbl.Text := '💧 Toprak Nemi: %' + jsonObj.GetValue('soil');
   
    if jsonObj.GetValue('rain') == '1' then
    begin
      RainLbl.Text := '🌧️ Durum: Yağmur Yağıyor';
      RainLbl.TextSettings.FontColor := clAlphaRed;
    end else
    begin
      RainLbl.Text := '☀️ Durum: Hava Açık';
      RainLbl.TextSettings.FontColor := clAlphaLightgreen;
    end;

    if StrToInt(jsonObj.GetValue('tank')) > 20 then
      TankLbl.TextSettings.FontColor := clAlphaRed
    else
      TankLbl.TextSettings.FontColor := clAlphaWhite;
     
    TankLbl.Text := '🌊 Depo: ' + jsonObj.GetValue('tank') + ' cm';
  finally
    jsonObj.Free;
  end;
end;

void OnPumpClick;
begin
  if PmpBtn.Text == 'SULAMAYI BAŞLAT' then
  begin
    MyMQTT.SendToTopic('isabet/iot/ctrl', 'PUMP_ON');
    PmpBtn.Text := 'DURDUR';
    PmpBtn.clProSettings.BackgroundColor := clAlphaRed;
  end else
  begin
    MyMQTT.SendToTopic('isabet/iot/ctrl', 'PUMP_OFF');
    PmpBtn.Text := 'SULAMAYI BAŞLAT';
    PmpBtn.clProSettings.BackgroundColor := clAlphaDarkgreen;
  end;
  PmpBtn.SetclProSettings(PmpBtn.clProSettings);
end;

begin
  MainForm := TclForm.Create(Self);
  MainForm.SetFormColor('#1B2631', '', clGNone);
 
  MyMQTT := MainForm.AddNewMQTTConnection(MainForm, 'MyMQTT');
  MyMQTT.OnReceivedMessage := 'OnMQTTMessage';
  MyMQTT.Connect('broker.hivemq.com', 1883, 'Kemankes_Mali');
  MyMQTT.Subscribe('isabet/iot/data');

  HeaderPnl := MainForm.AddNewProPanel(MainForm, 'HeaderPnl');
  HeaderPnl.Align := alTop; HeaderPnl.Height := 80;
  HeaderPnl.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#2C3E50');
  HeaderPnl.SetclProSettings(HeaderPnl.clProSettings);

  TempLbl := MainForm.AddNewLabel(HeaderPnl, 'TempLbl', 'Bekleniyor...');
  TempLbl.Align := alCenter;
  TempLbl.TextSettings.FontColor := clAlphaWhite;

  SoilLbl := MainForm.AddNewLabel(MainForm, 'SoilLbl', '💧 Toprak: --');
  SoilLbl.Align := alTop; SoilLbl.Margins.Top := 40;
  SoilLbl.TextSettings.HorzAlign := taCenter;

  RainLbl := MainForm.AddNewLabel(MainForm, 'RainLbl', '☀️ Durum: --');
  RainLbl.Align := alTop; RainLbl.Margins.Top := 10;
  RainLbl.TextSettings.HorzAlign := taCenter;

  TankLbl := MainForm.AddNewLabel(MainForm, 'TankLbl', '🌊 Depo: --');
  TankLbl.Align := alTop; TankLbl.Margins.Top := 10;
  TankLbl.TextSettings.HorzAlign := taCenter;

  PmpBtn := MainForm.AddNewProButton(MainForm, 'PmpBtn', 'SULAMAYI BAŞLAT');
  PmpBtn.Align := alBottom; PmpBtn.Height := 80; PmpBtn.Margins.All := 20;
  PmpBtn.clProSettings.BackgroundColor := clAlphaDarkgreen;
  PmpBtn.SetclProSettings(PmpBtn.clProSettings);
 
  MainForm.AddNewEvent(PmpBtn, tbeOnClick, 'OnPumpClick');
 
  MainForm.Run;
end;
Unit Main: Syntax error.
Source position: 21,34
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 755
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ı: 13 Saat 30 Dakika Önce Saat 11:06
Merhaba Mehmet Ali, 
İlk belirtmem gereken programlama dili olarak Clomosy' de kullanılan TRObject dilini kullanman gerekir. Bazı Syntax hatalarının alınma sebebi budur. 
Ana Düzeltmeler 
Atama ve bloklar da := yerine = , begin...end; yerine {...}
İf şartlarında koşulları parantez içerisine alman gerekir
Renk tanımlamsında clAlphaRed yerine clAlphaColor.clRed formatında kullanman gerekir. 

Ayrıca MQTT kullanımı içinde Docs sitesinde yer alan  https://www.docs.clomosy.com/index.php?title=TclMQTTClient
incelemeni 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
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif Değil
Puanlar: 755
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ı: 13 Saat 30 Dakika Önce Saat 11:06
var
  MainForm: TclForm;
  MyMQTT: TCLMqttClient; 
  TempLbl, SoilLbl, TankLbl, RainLbl: TclLabel;
  PmpBtn: TclProButton;
  HeaderPnl: TclProPanel;

void OnMQTTConnected;
{
  MyMQTT.Subscribe('isabet/iot/data', 1);
}

void OnMQTTMessage;
var
  msg: String;
{
  msg = MainForm.clPayload;
  
  if (msg == '') Exit;
  
  TempLbl.Text = '🌡️ Hava: ' + Clomosy.CLParseJSON(msg, 'temp') + '°C';
  SoilLbl.Text = '💧 Toprak Nemi: %' + Clomosy.CLParseJSON(msg, 'soil');
  
  if (Clomosy.CLParseJSON(msg, 'rain') == '1')
  {
    RainLbl.Text = '🌧️ Durum: Yağmur Yağıyor';
    RainLbl.TextSettings.FontColor = clAlphaColor.clRed;
  } 
  else 
  {
    RainLbl.Text = '☀️ Durum: Hava Açık';
    RainLbl.TextSettings.FontColor = clAlphaColor.clLightgreen;
  }

  if (StrToInt(Clomosy.CLParseJSON(msg, 'tank')) > 20)
  {
    TankLbl.TextSettings.FontColor = clAlphaColor.clRed;
  }
  else
  {
    TankLbl.TextSettings.FontColor = clAlphaColor.clWhite;
  }
    
  TankLbl.Text = '🌊 Depo: ' + Clomosy.CLParseJSON(msg, 'tank') + ' cm';
}

void OnPumpClick;
{
  MyMQTT.Channel = 'isabet/iot/ctrl';

  if (PmpBtn.Text == 'SULAMAYI BAŞLAT')
  {
    MyMQTT.Send('PUMP_ON', 1, False); 
    
    PmpBtn.Text = 'DURDUR';
    PmpBtn.clProSettings.BackgroundColor = clAlphaColor.clRed;
  } 
  else 
  {
    MyMQTT.Send('PUMP_OFF', 1, False);
    
    PmpBtn.Text = 'SULAMAYI BAŞLAT';
    PmpBtn.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  }
  
  PmpBtn.SetclProSettings(PmpBtn.clProSettings);
}

{
  MainForm = TclForm.Create(Self);
  MainForm.SetFormColor('#1B2631', '', clGNone);
  
  MyMQTT = MainForm.AddNewMQTTClient(MainForm, 'MyMQTT');
  
  MainForm.AddNewEvent(MyMQTT, tbeOnMQTTClientMessage, 'OnMQTTMessage');
  MainForm.AddNewEvent(MyMQTT, tbeOnMQTTClientConnected, 'OnMQTTConnected');
  
  MyMQTT.BrokerHost = '192.168.1.20';
  MyMQTT.Port = 1883;
  
  MyMQTT.Connect; 

  HeaderPnl = MainForm.AddNewProPanel(MainForm, 'HeaderPnl');
  HeaderPnl.Align = alTop; 
  HeaderPnl.Height = 80;
  HeaderPnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C3E50');
  HeaderPnl.SetclProSettings(HeaderPnl.clProSettings);

  TempLbl = MainForm.AddNewLabel(HeaderPnl, 'TempLbl', 'Bekleniyor...');
  TempLbl.Align = alCenter; 
  TempLbl.TextSettings.FontColor = clAlphaColor.clWhite;

  SoilLbl = MainForm.AddNewLabel(MainForm, 'SoilLbl', '💧 Toprak: --');
  SoilLbl.Align = alTop; 
  SoilLbl.Margins.Top = 40;
  SoilLbl.TextSettings.HorzAlign = taCenter;

  RainLbl = MainForm.AddNewLabel(MainForm, 'RainLbl', '☀️ Durum: --');
  RainLbl.Align = alTop; 
  RainLbl.Margins.Top = 10;
  RainLbl.TextSettings.HorzAlign = taCenter;

  TankLbl = MainForm.AddNewLabel(MainForm, 'TankLbl', '🌊 Depo: --');
  TankLbl.Align = alTop; 
  TankLbl.Margins.Top = 10;
  TankLbl.TextSettings.HorzAlign = taCenter;

  PmpBtn = MainForm.AddNewProButton(MainForm, 'PmpBtn', 'SULAMAYI BAŞLAT');
  PmpBtn.Align = alBottom; 
  PmpBtn.Height = 80; 
  PmpBtn.clProSettings.BackgroundColor = clAlphaColor.clDarkgreen;
  PmpBtn.clProSettings.FontColor = clAlphaColor.clWhite;
  PmpBtn.SetclProSettings(PmpBtn.clProSettings);
  
  MainForm.AddNewEvent(PmpBtn, tbeOnClick, 'OnPumpClick');
  
  MainForm.Run;
}
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,032 Saniyede Yüklendi.