Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Genel Programlama > Genel İşlemler
  Aktif Konular Aktif Konular RSS - Değişen soru paneli
  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.

Değişen soru paneli

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


Kayıt Tarihi: 07 Temmuz 2025
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mrvbzdn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: Değişen soru paneli
    Gönderim Zamanı: 21 Saat 11 Dakika Önce Saat 13:04
Merhaba,
Soru ve seçeneklerden oluşan bir sayfa oluşturuyorum. Soru cevaplandıktan sonra diğer soruya geçilecek, seçenekler sabit kalacak şekilde yapmak istiyorum. Sorularımı yazdığım kısımda sürekli hata alıyorum. Yardımcı olabilir misiniz?

  var
  Form1: TclForm;
  SkorLbl, BaslikLbl, SureLbl: TClProLabel;
  SoruLbl: TClProLabel;
  MetalBtn, YmetalBtn, AmetalBtn, SoygazBtn: TClProButton;
  Timer, SureTimer: TClTimer;
  Skor, HataSayisi, KalanSure: Integer;
  Grup: String;
  SurePnl, SureIcPnl: TClProPanel;



void SureGuncelle;
{
  KalanSure = KalanSure - 1;
  SureLbl.Text = 'Kalan Sure: ' + IntToStr(KalanSure) + ' sn';
  
  // Panel genişliğini süreye göre güncelle
  SureIcPnl.Width = (KalanSure * SurePnl.Width) div 60;
  
  if (KalanSure <= 10) {
    // Son 10 saniye kırmızı renk
    SureLbl.ClProSettings.FontColor = ClAlphaColor.ClHextoColor('#ff0000');
    SureLbl.SetclProSettings(SureLbl.ClProSettings);
    SureIcPnl.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#ff0000');
    SureIcPnl.SetclProSettings(SureIcPnl.ClProSettings);
  }
  
  if (KalanSure <= 0) {
    ShowMessage('Sure Doldu! Toplam Puan: ' + IntToStr(Skor));
    SureTimer.Enabled = False;
  }
}

void YeniAtik;
var 
  RastgeleSayi: Integer;
{
  RastgeleSayi = Random(4);
  
  if (RastgeleSayi == 0) {
    Grup = 'Ametal';
    Form1.SoruLbl.Text (SoruLbl, '18. grupta, renksiz, kokusuz, inert (tepkimeye girmeyen) bir gazdır. Hangi gruptadır?');
  } else if (RastgeleSayi == 1) {
    Grup = 'Yarı Metal';
    Form1.SoruLbl.Text (SoruLbl, '16. grupta bulunur, sarı renkli katı, kötü iletken ve kokulu bir elementtir. Hangi gruptadır?');
  } else if (RastgeleSayi == 2) {
    Grup = 'Soygaz';
    Form1.SoruLbl.Text (SoruLbl, 'Elektrik ve ısı iletkenliği yüksektir, 11. grupta bulunur. Hangi gruba aittir?');
  } else {
    Grup = 'Metal';
    Form1.SoruLbl.Text (SoruLbl, '15. grupta yarı iletken özellikleri gösterir, hem metal hem ametal özellikler taşır. Hangi gruba girer?');
  }
  SoruLbl.Visible = True;
}

void KontrolEt;
var
  SecilenKutu: String;
{
  SecilenKutu = TClProButton(Form1.ClSender).ClTagStr;
  
  if (SecilenKutu == AtikTipi) {
    Skor = Skor + 10;
    ShowMessage('Dogru! +10 puan');
  } else {
    HataSayisi = HataSayisi + 1;
    ShowMessage('Yanlis! Dogru kutu: ' + AtikTipi);
    if (HataSayisi >= 3) {
      ShowMessage('Oyun Bitti! Toplam Puan: ' + IntToStr(Skor));
      SureTimer.Enabled = False;
      Exit;
    }
  }
  
  SkorLbl.Text = 'Skor: ' + IntToStr(Skor) + ' Hata: ' + IntToStr(HataSayisi);
  YeniAtik;
}

{
  Form1 = TclForm.Create(self);
  Form1.SetFormColor('#e8f5e9', '#81c784', clGVertical);
  
  BaslikLbl = Form1.AddNewProLabel(Form1, 'BaslikLbl', 'ELEMENTLERİ SINIFLANDIRALIM');
  BaslikLbl.Align = alTop;
  BaslikLbl.Height = 50;
  BaslikLbl.ClProSettings.FontSize = 24;
  BaslikLbl.ClProSettings.FontColor = ClAlphaColor.ClHextoColor('#1b5e20');
  
  BaslikLbl.ClProSettings.FontHorzAlign = palCenter;
  BaslikLbl.SetclProSettings(BaslikLbl.ClProSettings);
  
  SureLbl = Form1.AddNewProLabel(Form1, 'SureLbl', 'Kalan Sure: 60 sn');
  SureLbl.Align = alTop;
  SureLbl.Height = 30;
  SureLbl.ClProSettings.FontSize = 18;
  SureLbl.ClProSettings.FontHorzAlign = palCenter;
  SureLbl.SetclProSettings(SureLbl.ClProSettings);
  
  SurePnl = Form1.AddNewProPanel(Form1, 'SurePnl');
  SurePnl.Align = alTop;
  SurePnl.Height = 10;
  SurePnl.Margins.Left = 20;
  SurePnl.Margins.Right = 20;
  SurePnl.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#e0e0e0');
  SurePnl.SetclProSettings(SurePnl.ClProSettings);
  
  SureIcPnl = Form1.AddNewProPanel(SurePnl, 'SureIcPnl');
  SureIcPnl.Align = alLeft;
  SureIcPnl.Width = SurePnl.Width;
  SureIcPnl.Height = 10;
  SureIcPnl.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#4caf50');
  SureIcPnl.SetclProSettings(SureIcPnl.ClProSettings);
  
  SkorLbl = Form1.AddNewProLabel(Form1, 'SkorLbl', 'Skor: 0 Hata: 0');
  SkorLbl.Align = alTop;
  SkorLbl.Height = 30;
  SkorLbl.ClProSettings.FontSize = 18;
  SkorLbl.ClProSettings.FontHorzAlign = palCenter;
  SkorLbl.SetclProSettings(SkorLbl.ClProSettings);
  
  SoruLbl = Form1.AddNewProLabel(Form1, 'SoruLbl');
  SoruLbl.Align = alTop;
  SoruLbl.Margins.Top = 20;
  SoruLbl.Width = 150;
  SoruLbl.Height = 150;
  SoruLbl.ClProSettings.PictureAutoFit = True;
  SoruLbl.SetclProSettings(SoruLbl.ClProSettings);
  
  YmetalBtn = Form1.AddNewProButton(Form1, 'YmetalBtn', 'Yarı Metal');
  YmetalBtn.Align = alBottom;
  YmetalBtn.Height = 60;
  YmetalBtn.Margins.Bottom = 10;
  YmetalBtn.ClProSettings.FontSize = 18;
  YmetalBtn.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#2196f3');
  YmetalBtn.ClProSettings.FontColor = ClAlphaColor.clWhite;
  YmetalBtn.clTagStr = 'Yarı Metal';
  YmetalBtn.SetclProSettings(YmetalBtn.ClProSettings);
  
  AmetalBtn = Form1.AddNewProButton(Form1, 'AmetalBtn', 'Ametal');
  AmetalBtn.Align = alBottom;
  AmetalBtn.Height = 60;
  AmetalBtn.Margins.Bottom = 10;
  AmetalBtn.ClProSettings.FontSize = 18;
  AmetalBtn.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#4caf50');
  AmetalBtn.ClProSettings.FontColor = ClAlphaColor.clWhite;
  AmetalBtn.clTagStr = 'Ametal';
  AmetalBtn.SetclProSettings(AmetalBtn.ClProSettings);
  
  SoygazBtn = Form1.AddNewProButton(Form1, 'SoygazBtn', 'Soygaz (Asal Gaz)');
  SoygazBtn.Align = alBottom;
  SoygazBtn.Height = 60;
  SoygazBtn.Margins.Bottom = 10;
  SoygazBtn.ClProSettings.FontSize = 18;
  SoygazBtn.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#ff9800');
  SoygazBtn.ClProSettings.FontColor = ClAlphaColor.clWhite;
  SoygazBtn.clTagStr = 'Soygaz';
  SoygazBtn.SetclProSettings(SoygazBtn.ClProSettings);
  
  MetalBtn = Form1.AddNewProButton(Form1, 'MetalBtn', 'Metal');
  MetalBtn.Align = alBottom;
  MetalBtn.Height = 60;
  MetalBtn.Margins.Bottom = 10;
  MetalBtn.ClProSettings.FontSize = 18;
  MetalBtn.ClProSettings.BackgroundColor = ClAlphaColor.ClHextoColor('#f44336');
  MetalBtn.ClProSettings.FontColor = ClAlphaColor.clWhite;
  MetalBtn.clTagStr = 'Metal';
  MetalBtn.SetclProSettings(MetalBtn.ClProSettings);
  
  Form1.AddNewEvent(YmetalBtn, tbeOnClick, 'KontrolEt');
  Form1.AddNewEvent(AmetalBtn, tbeOnClick, 'KontrolEt');
  Form1.AddNewEvent(SoygazBtn, tbeOnClick, 'KontrolEt');
  Form1.AddNewEvent(MetalBtn, tbeOnClick, 'KontrolEt');
  
  SureTimer = Form1.AddNewTimer(Form1, 'SureTimer', 1000);
  SureTimer.Enabled = True;
  Form1.AddNewEvent(SureTimer, tbeOnTimer, 'SureGuncelle');
  
  KalanSure = 60;
  Skor = 0;
  HataSayisi = 0;
  YeniAtik;
  
  Form1.Run;
}
Yukarı Dön
Emr.Erkmn Açılır Kutu İzle
Moderatör
Moderatör


Kayıt Tarihi: 28 Şubat 2025
Durum: Aktif
Puanlar: 176
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı Emr.Erkmn Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 19 Saat 23 Dakika Önce Saat 14:52
Merhaba Merve,

Prosedürü aşağıda yazdığım gibi çalıştırır mısın?

void YeniAtik;
var 
  RastgeleSayi: Integer;
{
  RastgeleSayi = Random(4);
  
  if (RastgeleSayi == 0) {
    Grup = 'Ametal';
    SoruLbl.Text = '18. grupta, renksiz, kokusuz, inert (tepkimeye girmeyen) bir gazdır. Hangi gruptadır?';
  } else if (RastgeleSayi == 1) {
    Grup = 'Yarı Metal';
    SoruLbl.Text = '16. grupta bulunur, sarı renkli katı, kötü iletken ve kokulu bir elementtir. Hangi gruptadır?';
  } else if (RastgeleSayi == 2) {
    Grup = 'Soygaz';
    SoruLbl.Text = 'Elektrik ve ısı iletkenliği yüksektir, 11. grupta bulunur. Hangi gruba aittir?';
  } else {
    Grup = 'Metal';
    SoruLbl.Text ='15. grupta yarı iletken özellikleri gösterir, hem metal hem ametal özellikler taşır. Hangi gruba girer?';
  }
  SoruLbl.Visible = True;
}
İyi çalışmalar.
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,047 Saniyede Yüklendi.