Sayfayı Yazdır | Pencereyi Kapat

resim değişmiyor

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1046
Tarih: 03 Temmuz 2025 Saat 09:05
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: resim değişmiyor
Mesajı Yazan: Sudesigirci
Konu: resim değişmiyor
Mesaj Tarihi: 02 Temmuz 2025 Saat 13:12
aşağıdaki kodda sula butonuna bastıktan sonra filizlenmiş bitki görselini ekranda göremiyorum

var
wateringform:TclStyleForm;
waterbtn:TClProButton;
lblwateringtitle:TClProLabel;
waterimg,plantimg,dropimg:TClProImage;
actiontimer,downtimer:TCLTimer;
direction:Integer;
canwater:Boolean;
watersound:TclMediaPlayer;

var
bouncecount:Integer;
wateringcount:Integer;

void actionwater;
{
  waterimg.Margins.Top=waterimg.Margins.Top+direction;
  
  if (waterimg.Margins.Top >=100) {
  direction=-1;
    bouncecount=bouncecount+1;
    
  }
  if (waterimg.Margins.Top <=90 ) {
    direction=1;
    bouncecount=bouncecount+1;
  }
   if (bouncecount >= 4) {
    actiontimer.Enabled = False;
    bouncecount = 0;
  }
  

}


void downwater;
{
  direction = -1;
  actiontimer.Enabled = True;
  downtimer.Enabled = False;

  canwater = True; 
}



void watering;
{
  if (canwater==False) {
    ShowMessage('Bitki zaten sulandı, lütfen biraz bekleyin');
  }

  direction = 1;
  bouncecount=0;
  actiontimer.Enabled = True;
  ShowMessage('Bitki Sulandı!');
  //watersound.CurrentTime = 0;
 //watersound.Play;
  canwater = False; 
  downtimer.Enabled = True; 
  
  wateringcount = wateringcount + 1;
   try
  {
    Clomosy.DBSQLiteQuery.SQL.Text = 
      'UPDATE bitki SET sulama = ' + IntToStr(wateringcount) + ' WHERE id = 1';
    Clomosy.DBSQLiteQuery.OpenOrExecute;
  }
  except
    ShowMessage('Exception class: ' + LastExceptionClassName + ' Exception Message: ' + LastExceptionMessage);
  }

  if (wateringcount == 1) {
   plantimg.Height = 800;
   plantimg.Width = 1000;
   plantimg.Margins.Top = 0;
   plantimg.Margins.Bottom = 0
   plantimg.clProSettings.PictureSource = ' https://raw.githubusercontent.com/sudesgrc/assets/refs/heads/main/kucukbitki.png" rel="nofollow - https://raw.githubusercontent.com/sudesgrc/assets/refs/heads/main/kucukbitki.png '; //filizlenme
   plantimg.clProSettings.PictureAutoFit = True;
   plantimg.SetclProSettings(plantimg.clProSettings);
   plantimg.BringToFront;
  } else if (wateringcount == 2) {
    plantimg.clProSettings.PictureSource = ' https://i.imgur.com/cCPZQKi.png" rel="nofollow - https://i.imgur.com/cCPZQKi.png '; //çiçek açmış hali
    plantimg.SetclProSettings(plantimg.clProSettings);
      plantimg.BringToFront;
  } else if(wateringcount==3) {
    plantimg.clProSettings.PictureSource = ' https://i.imgur.com/TV3flTB.png" rel="nofollow - https://i.imgur.com/TV3flTB.png '; //olgunlaşmış bitki
    plantimg.SetclProSettings(plantimg.clProSettings);
      plantimg.BringToFront;
  }
}

{
  wateringform = TclStyleForm.Create(Self);
  wateringform.SetFormColor('#bef28a', ' ', clGNone);
  canwater=True;
  
 /* watersound = TclMediaPlayer.Create(wateringform);
  wateringform.AddAssetFromUrl(' https://www.soundjay.com/drinks/sounds/pouring-liquid-2.mp3" rel="nofollow - https://www.soundjay.com/drinks/sounds/pouring-liquid-2.mp3 ');
  watersound.FileName = clPathCombine('pouring-liquid-2.mp3', Clomosy.AppFilesPath);
  watersound.Volume = 0.8;*/


  lblwateringtitle = wateringform.AddNewProLabel(wateringform, 'lblwateringtitle', 'SULAMA');
  lblwateringtitle.Align = alTop;
  lblwateringtitle.Margins.Top = 20;
  lblwateringtitle.Height = 40;
  lblwateringtitle.Width = 300;
  lblwateringtitle.clProSettings.FontSize = 26;
  lblwateringtitle.clProSettings.TextSettings.FontColor = clAlphaColor.clHexToColor('#2e6417');
  lblwateringtitle.clProSettings.FontColor=clAlphaColor.clHexToColor('#2e6417');
  lblwateringtitle.clProSettings.FontVertAlign = palCenter;
  lblwateringtitle.clProSettings.FontHorzAlign = palCenter;
  lblwateringtitle.clProSettings.TextSettings.Font.Style = [fsBold];
  lblwateringtitle.SetclProSettings(lblwateringtitle.clProSettings);

  waterimg = wateringform.AddNewProImage(wateringform, 'waterimg');
  waterimg.Align = alTop;
  waterimg.Margins.Top =100;
  waterimg.Margins.Left =20;
  waterimg.Margins.Right=100;
  waterimg.Height =90;
  waterimg.Width =90;
  waterimg.clProSettings.PictureSource = ' https://i.imgur.com/uZQCAk5.png" rel="nofollow - https://i.imgur.com/uZQCAk5.png ';
  waterimg.clProSettings.PictureAutoFit = True;
  waterimg.SetclProSettings(waterimg.clProSettings); 
  waterimg.SendToBack;

  plantimg = wateringform.AddNewProImage(wateringform, 'plantimg');
  plantimg.Align=alCenter;
  plantimg.Margins.Bottom=240;
  plantimg.Margins.Left = 30;
  plantimg.Margins.Right=30;
  plantimg.Height =800;           
  plantimg.Width =1000;            
  plantimg.clProSettings.PictureSource = ' https://i.imgur.com/L0f54ex.png" rel="nofollow - https://i.imgur.com/L0f54ex.png ';
  plantimg.clProSettings.PictureAutoFit = True;
  plantimg.SetclProSettings(plantimg.clProSettings);
  plantimg.BringToFront;

  waterbtn = wateringform.AddNewProButton(wateringform, 'waterbtn', 'SULA');
  waterbtn.clProSettings.TextSettings.FontColor = clAlphaColor.clHexToColor('#bef28a');
  waterbtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2e6417');
  waterbtn.clProSettings.FontSize = 18;
  waterbtn.clProSettings.RoundHeight = 20;
  waterbtn.clProSettings.RoundWidth = 20;
  waterbtn.Height = 40;
  waterbtn.Width = 150;
  waterbtn.Margins.Top = 100;     
  waterbtn.SetclProSettings(waterbtn.clProSettings);
  wateringform.AddNewEvent(waterbtn,tbeOnClick,'watering');
  
  actiontimer = wateringform.AddNewTimer(wateringform,'actiontimer', 30);
  wateringform.AddNewEvent(actiontimer, tbeOnTimer, 'actionwater');
  
  downtimer = wateringform.AddNewTimer(wateringform,'downtimer', 2000); // 12 saat = 43200000 ms
  wateringform.AddNewEvent(downtimer, tbeOnTimer, 'downwater');

  wateringform.Run;
}




Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 02 Temmuz 2025 Saat 14:27
Merhaba Sude,

Projendeki başlıca eksik ve hatalar aşağıdaki şekilde:

plantimg.Align = alCenter kullanılmış. Bu ayar, görseli merkeze sabitlediği için Margins değerleri düzgün çalışmaz. Bunun yerine alClient tercih edilmelidir.

wateringcount değişkeni tanımlanmış ancak başlangıç değeri verilmemiş. Form açıldığında wateringcount = 0; olarak başlatılması gerekiyor.

Bazı görsel değişimlerinde PictureAutoFit ayarı eksik. Bu ayarın yapılmaması, görsellerin doğru şekilde görünmesini engelleyebilir. Her görsel değişiminde PictureAutoFit = True; eklenmeli.



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net