Sayfayı Yazdır | Pencereyi Kapat

uygulama görsel eklemek

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=1246
Tarih: 22 Aralık 2025 Saat 18:57
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: uygulama görsel eklemek
Mesajı Yazan: kayra.55
Konu: uygulama görsel eklemek
Mesaj Tarihi: 22 Aralık 2025 Saat 14:57
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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;
  UstPanel, TerminalPanel, AltPanel: TClProPanel;
  
  // GÖRSEL ENVANTER
  PnlEnvanter: TClProPanel;
  ImgInvTufek, ImgInvRadyo, ImgInvIlac: TClProImage;
  

  // AKSİYON GÖRSELİ
  PnlAction: TClProPanel;
  ImgAction: TClProImage;
  LblAction: TClProLabel;
  ActionTimer: TClTimer;
  BekleyenIslem: String; 
  
  // ALARM PANELİ
  PnlAlarm: TClProPanel;
  LblAlarm: TClProLabel;
  AlarmTimer: TClTimer;
  AlarmSayac: Integer;
  
  // GECE MODU
  PnlGece: TClProPanel;
  LblGeceMesaj: TClProLabel;
  GeceTimer: TClTimer;
  GunlukKararSayisi: Integer;
  
  // OYUN SONU
  PnlOyunSonu: TClProPanel;
  LblSonuBaslik, LblSonuDetay, LblSkor: TClProLabel;
  BtnRestart: TClProButton;
  
  // İstatistik Barları
  OksijenBarDis, ErzakBarDis, MoralBarDis: TClProPanel;
  OksijenBar, ErzakBar, MoralBar: TClProPanel;
  OksijenLbl, ErzakLbl, MoralLbl: TClProLabel;
  
  // Değerler
  OksijenDeger, ErzakDeger, MoralDeger, NufusDeger: Integer;
  GunSayisi: Integer;
  GunLabel, NufusLabel: TClProLabel;
  
  HastalikRiskiVar: Boolean;
  
  // Olay Ekranı
  OlayBaslikLbl, OlayDetayLbl: TClProLabel;
  BtnKabul, BtnRed: TClProButton;
  
  // Veri Dizileri
  OlayBasliklari, OlayAciklamalari: TclArrayString;
  OksijenEtkisiEvet, ErzakEtkisiEvet, MoralEtkisiEvet, NufusEtkisiEvet: TclArrayInteger;
  OksijenEtkisiHayir, ErzakEtkisiHayir, MoralEtkisiHayir, NufusEtkisiHayir: TclArrayInteger;
  
  MevcutSoruIndex: Integer;
  
  // RESPONSIVE DEĞİŞKENLERİ
  EkranYukseklik, EkranGenislik: Integer;
  BarYukseklik: Integer;
  
  // Eşya Durumları
  SahipTufek, SahipRadyo, SahipIlac: Boolean;
  Baslik : String;

void AssetleriYukle;

{

  MainForm.AddAssetFromUrl(' https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/tufek.png" rel="nofollow - https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/tufek.png ');  // tüfek

  MainForm.AddAssetFromUrl(' https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/ilac.png" rel="nofollow - https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/ilac.png ');  // ilaç

  MainForm.AddAssetFromUrl(' https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/radyo.png" rel="nofollow - https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/radyo.png '); // radyo maske 

  MainForm.AddAssetFromUrl(' https://raw.githubusercontent.com/emrkmn/ses/main/kesif.png" rel="nofollow - https://raw.githubusercontent.com/emrkmn/ses/main/kesif.png '); // kesif
  


void AlarmCalistir(Mesaj: String);
{
  PnlAlarm.Visible = True;
  PnlAlarm.BringToFront;
  LblAlarm.Text = Mesaj;
  AlarmSayac = 0;
  AlarmTimer.Enabled = True;
}

void ActionGoster(Mesaj: String);
{
  PnlAction.Visible = True;
  PnlAction.BringToFront;
  LblAction.Text = Mesaj;
}

void EnvanterGuncelle;
{
  if (SahipTufek) ImgInvTufek.Opacity = 1; else ImgInvTufek.Opacity = 0.3;
  if (SahipRadyo) ImgInvRadyo.Opacity = 1; else ImgInvRadyo.Opacity = 0.3;
  if (SahipIlac) ImgInvIlac.Opacity = 1; else ImgInvIlac.Opacity = 0.3;
}

void BarlariGuncelle;
{
  // Sınır Kontrolleri
  if (OksijenDeger > 100) OksijenDeger = 100; if (OksijenDeger < 0) OksijenDeger = 0;
  if (ErzakDeger > 100) ErzakDeger = 100; if (ErzakDeger < 0) ErzakDeger = 0;
  if (MoralDeger > 100) MoralDeger = 100; if (MoralDeger < 0) MoralDeger = 0;
  if (NufusDeger < 0) NufusDeger = 0;

  // Bar Genişlikleri
  OksijenBar.Width = (OksijenDeger * OksijenBarDis.Width) div 100;
  ErzakBar.Width = (ErzakDeger * ErzakBarDis.Width) div 100;
  MoralBar.Width = (MoralDeger * MoralBarDis.Width) div 100;
  
  // Etiketler
  OksijenLbl.Text = 'Oksijen: %' + IntToStr(OksijenDeger);
  ErzakLbl.Text = 'ERZAK: %' + IntToStr(ErzakDeger);
  MoralLbl.Text = 'MORAL: %' + IntToStr(MoralDeger);
  GunLabel.Text = 'GÜN: ' + IntToStr(GunSayisi);
  NufusLabel.Text = 'NÜFUS: ' + IntToStr(NufusDeger);
  
  // Renk Değişimi (Kritik Seviye)
  if (OksijenDeger < 30) OksijenBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D32F2F'); else OksijenBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0288D1'); OksijenBar.SetclProSettings(OksijenBar.clProSettings);
  if (ErzakDeger < 30) ErzakBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D32F2F'); else ErzakBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F57C00'); ErzakBar.SetclProSettings(ErzakBar.clProSettings);
  if (MoralDeger < 30) MoralBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D32F2F'); else MoralBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#388E3C'); MoralBar.SetclProSettings(MoralBar.clProSettings);
  
  EnvanterGuncelle;
}

void OyunBitti(Baslik, Detay: String; RenkKodu: String);
{
  PnlOyunSonu.Visible = True; PnlOyunSonu.BringToFront;
  PnlOyunSonu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(RenkKodu);
  PnlOyunSonu.SetclProSettings(PnlOyunSonu.clProSettings);
  LblSonuBaslik.Text = Baslik;
  LblSonuDetay.Text = Detay;
  LblSkor.Text = 'HAYATTA KALINAN SÜRE: ' + IntToStr(GunSayisi) + ' GÜN';
}

void DurumKontrol;
{
  if (OksijenDeger <= 0) { OyunBitti('BOĞULARAK ÖLDÜNÜZ', 'Oksijen sistemi iflas etti.', '#263238'); Exit; }
  if (ErzakDeger <= 0) { OyunBitti('AÇLIKTAN ÖLDÜNÜZ', 'Stoklar tükendi.', '#3E2723'); Exit; }
  if (MoralDeger <= 0) { OyunBitti('İSYAN ÇIKTI', 'Yönetim ele geçirildi.', '#B71C1C'); Exit; }
  if (NufusDeger <= 0) { OyunBitti('HERKES ÖLDÜ', 'Sığınak sessizliğe gömüldü.', '#000000'); Exit; }

  GunlukKararSayisi = GunlukKararSayisi + 1;
  if (GunlukKararSayisi >= 5) 
  {
      PnlGece.Visible = True; PnlGece.BringToFront;
      LblGeceMesaj.Text = 'GÜN ' + IntToStr(GunSayisi) + ' SONA ERİYOR..';
      GeceTimer.Enabled = True;
  } 
  else 
  {
      // YENİ OLAY GETİR
      if (HastalikRiskiVar == True)
      {
        if (clMath.GenerateRandom(1, 100) < 30)
        {
          MevcutSoruIndex = 999;
          OlayBaslikLbl.Text = '⚠️ SALGIN UYARISI ⚠️';
          OlayDetayLbl.Text = 'Virüs yayılıyor! İlaç kullanıp karantina uygulayalım mı?';
          AlarmCalistir('BİYOLOJİK TEHLİKE!');
          BtnKabul.Text = 'İLAÇ KULLAN';
          BtnRed.Text = 'KADERİNE BIRAK';
          HastalikRiskiVar = False;
          BarlariGuncelle;
          Exit;
        }
      }

      MevcutSoruIndex = clMath.GenerateRandom(0, OlayBasliklari.Count);
      Baslik = OlayBasliklari.GetItem(MevcutSoruIndex);
      
      if (Baslik == 'GİZEMLİ SİNYAL')
      {
         if (GunSayisi < 12)
         {
            while (Baslik == 'GİZEMLİ SİNYAL')
            {
               MevcutSoruIndex = clMath.GenerateRandom(0, OlayBasliklari.Count);
               Baslik = OlayBasliklari.GetItem(MevcutSoruIndex);
            }
         }
      }

      OlayBaslikLbl.Text = Baslik;
      OlayDetayLbl.Text = OlayAciklamalari.GetItem(MevcutSoruIndex);
      
      // Buton Metinleri
      if (Baslik == 'HAYDUT SALDIRISI') { BtnKabul.Text = 'SAVAŞ (TÜFEK)'; BtnRed.Text = 'SAKLAN'; AlarmCalistir('SALDIRI ALTINDAYIZ!'); }
      else if (Baslik == 'TERK EDİLMİŞ POLİS ARACI') { BtnKabul.Text = 'ARAŞTIR'; BtnRed.Text = 'GİTME'; }
      else if (Baslik == 'ESKİ HASTANE') { BtnKabul.Text = 'KEŞİFÇİ YOLLA'; BtnRed.Text = 'RİSKLİ'; }
      else if (Baslik == 'GEZGİN TÜCCAR') { BtnKabul.Text = 'TAKAS (30 ERZAK)'; BtnRed.Text = 'REDDET'; }
      else if (Baslik == 'GİZEMLİ SİNYAL') { BtnKabul.Text = 'CEVAPLA (RADYO)'; BtnRed.Text = 'GÖRMEZDEN GEL'; }
      else if (Baslik == 'YARALI YABANCI') { BtnKabul.Text = 'İÇERİ AL'; BtnRed.Text = 'KOV'; }
      else { BtnKabul.Text = 'KABUL ET'; BtnRed.Text = 'REDDET'; }
      
      BarlariGuncelle;
  }
}

// Timer İşlemleri
void OnActionTimer;
{
  ActionTimer.Enabled = False;
  PnlAction.Visible = False;
  
  if (BekleyenIslem == 'HASTANE_SONUC')
  {
      if (clMath.GenerateRandom(0, 100) > 40) { 
        SahipIlac = True;
        ShowMessage('Keşif başarılı! İLAÇ bulduk.');
        EnvanterGuncelle;
      } else {
        ShowMessage('Keşifçi eli boş döndü ve yaralandı.');
        OksijenDeger = OksijenDeger - 10;
        MoralDeger = MoralDeger - 10;
      }
      BarlariGuncelle;
      DurumKontrol;
  }
  
  if (BekleyenIslem == 'POLIS_SONUC')
  {
       SahipTufek = True;
       ShowMessage('Risk aldık ama değdi! BİR TÜFEK BULDUK!');
       OksijenDeger = OksijenDeger - 10;
       EnvanterGuncelle;
       
       BarlariGuncelle;
       DurumKontrol;
  }
  
  BekleyenIslem = '';
}

void OnAlarmTimer;
{
  AlarmSayac = AlarmSayac + 1;
  if (PnlAlarm.Visible) PnlAlarm.Visible = False; else PnlAlarm.Visible = True;
  if (AlarmSayac > 6) { AlarmTimer.Enabled = False; PnlAlarm.Visible = False; }
}

void OyunuSifirla;
{
  OksijenDeger = 80; ErzakDeger = 100; MoralDeger = 80; NufusDeger = 5;
  GunSayisi = 1; GunlukKararSayisi = 0;
  HastalikRiskiVar = False;
  PnlOyunSonu.Visible = False; PnlGece.Visible = False; PnlAlarm.Visible = False; PnlAction.Visible = False;
  SahipTufek = False; SahipRadyo = False; SahipIlac = False;
  EnvanterGuncelle;
  DurumKontrol;
}

void OnGeceTimer;
{
  GeceTimer.Enabled = False;
  ErzakDeger = ErzakDeger - (NufusDeger * 1);
  OksijenDeger = OksijenDeger - (NufusDeger * 1);
  GunSayisi = GunSayisi + 1;
  GunlukKararSayisi = 0;
  PnlGece.Visible = False;
  BarlariGuncelle;
  DurumKontrol; 
}

void KararVer(EvetSecildi: Boolean);
var
  Olay: String;
{
  if (MevcutSoruIndex == 999) { // Salgın
    if (EvetSecildi) {
      if (SahipIlac) { ShowMessage('İlaç stoğumuz sayesinde salgını atlatmayı Başardık !'); SahipIlac = False; EnvanterGuncelle; } 
      else { ShowMessage('İlacımız yoktu! Erzaklar ziyan oldu.'); ErzakDeger = ErzakDeger - 40; }
    } else {
      NufusDeger = NufusDeger - 2; MoralDeger = MoralDeger - 30; ShowMessage('Müdahale edilmediği için 2 kişi öldü.');
    }
    BarlariGuncelle; DurumKontrol; Exit;
  }

  Olay = OlayBasliklari.GetItem(MevcutSoruIndex);

  if (Olay == 'YARALI YABANCI') { if (EvetSecildi) HastalikRiskiVar = True; }
  
  if (Olay == 'TERK EDİLMİŞ POLİS ARACI') {
    if (EvetSecildi) {
       ActionGoster('BÖLGE ARAŞTIRILIYOR...'); 
       BekleyenIslem = 'POLIS_SONUC';
       ActionTimer.Enabled = True;
       Exit; 
    }
  }

  if (Olay == 'ESKİ HASTANE') {
    if (EvetSecildi) {
      ActionGoster('KEŞİFÇİ GİDİYOR...'); 
      BekleyenIslem = 'HASTANE_SONUC';
      ActionTimer.Enabled = True; 
      Exit; 
    }
  }

  if (Olay == 'HAYDUT SALDIRISI') {
    if (EvetSecildi) {
       if (SahipTufek) { ShowMessage('Tüfek ateşiyle haydutları kaçırdık! Ganimet bıraktılar.'); ErzakDeger = ErzakDeger + 25; MoralDeger = MoralDeger + 10; } 
       else { ShowMessage('Silahımız yoktu! Bizi saldırıp erzakları çaldılar.'); ErzakDeger = ErzakDeger - 50; NufusDeger = NufusDeger - 1; MoralDeger = MoralDeger - 25; }
    } else { 
       ShowMessage('Saklandık. Deponun bir kısmını patlattılar.'); ErzakDeger = ErzakDeger - 20; OksijenDeger = OksijenDeger - 10;
    }
    BarlariGuncelle; DurumKontrol; Exit;
  }

  if (Olay == 'GEZGİN TÜCCAR') {
    if (EvetSecildi) {
      if (ErzakDeger >= 30) { SahipRadyo = True; ShowMessage('Tüccar ile anlaştık! Artık bir RADYOMUZ var.'); EnvanterGuncelle; } 
      else { ShowMessage('Yeterli erzak yok!'); BarlariGuncelle; DurumKontrol; Exit; }
    }
  }

  if (Olay == 'GİZEMLİ SİNYAL') {
    if (EvetSecildi) {
      if (SahipRadyo) { OyunBitti('KURTULUŞ!', 'Ordu geldi!', '#2E7D32'); Exit; } 
      else { ShowMessage('Radyo olmadan duyamayız.'); MoralDeger = MoralDeger - 10; }
    }
  }

  if (EvetSecildi) {
    OksijenDeger = OksijenDeger + OksijenEtkisiEvet.GetItem(MevcutSoruIndex);
    ErzakDeger = ErzakDeger + ErzakEtkisiEvet.GetItem(MevcutSoruIndex);
    MoralDeger = MoralDeger + MoralEtkisiEvet.GetItem(MevcutSoruIndex);
    NufusDeger = NufusDeger + NufusEtkisiEvet.GetItem(MevcutSoruIndex);
  } else {
    OksijenDeger = OksijenDeger + OksijenEtkisiHayir.GetItem(MevcutSoruIndex);
    ErzakDeger = ErzakDeger + ErzakEtkisiHayir.GetItem(MevcutSoruIndex);
    MoralDeger = MoralDeger + MoralEtkisiHayir.GetItem(MevcutSoruIndex);
    NufusDeger = NufusDeger + NufusEtkisiHayir.GetItem(MevcutSoruIndex);
  }
  
  BarlariGuncelle;
  DurumKontrol;
}

void BtnKabulClick; { KararVer(True); }
void BtnRedClick; { KararVer(False); }

void VerileriYukle;
{
  OlayBasliklari = TclArrayString.Create; OlayAciklamalari = TclArrayString.Create;
  OksijenEtkisiEvet = TclArrayInteger.Create; ErzakEtkisiEvet = TclArrayInteger.Create; MoralEtkisiEvet = TclArrayInteger.Create; NufusEtkisiEvet = TclArrayInteger.Create;
  OksijenEtkisiHayir = TclArrayInteger.Create; ErzakEtkisiHayir = TclArrayInteger.Create; MoralEtkisiHayir = TclArrayInteger.Create; NufusEtkisiHayir = TclArrayInteger.Create;

  OlayBasliklari.Add('YARALI YABANCI'); OlayAciklamalari.Add('Kapıda biri var. Öksürüyor ama yardıma ihtiyacı var yardım etsek mi?.');
  OksijenEtkisiEvet.Add(-2); ErzakEtkisiEvet.Add(-10); MoralEtkisiEvet.Add(5); NufusEtkisiEvet.Add(1);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(-5); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('HAVALANDIRMA'); OlayAciklamalari.Add('Fanlar bozuldu. Tamir etmek yorucu.');
  OksijenEtkisiEvet.Add(15); ErzakEtkisiEvet.Add(-15); MoralEtkisiEvet.Add(0); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(-25); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(-10); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('SAKLI ERZAK'); OlayAciklamalari.Add('Eski bir kutuda konserve bulduk.');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(20); MoralEtkisiEvet.Add(5); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(-5); MoralEtkisiHayir.Add(-5); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('HAYDUT SALDIRISI'); OlayAciklamalari.Add('Silahlı grup kapıda Tehlikedeyiz!');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(0); MoralEtkisiEvet.Add(0); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(0); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('TERK EDİLMİŞ POLİS ARACI'); OlayAciklamalari.Add('Dışarıda polis aracı var. Silah olabilir.');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(0); MoralEtkisiEvet.Add(0); NufusEtkisiEvet.Add(0); 
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(0); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('GEZGİN TÜCCAR'); OlayAciklamalari.Add('Tüccar geldi. 30 Erzak = Radyo.');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(-30); MoralEtkisiEvet.Add(10); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(0); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('ESKİ HASTANE'); OlayAciklamalari.Add('Yıkık hastanede ilaç olabilir.');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(0); MoralEtkisiEvet.Add(0); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(0); NufusEtkisiHayir.Add(0);

  OlayBasliklari.Add('GİZEMLİ SİNYAL'); OlayAciklamalari.Add('Radyodan ses geliyor.');
  OksijenEtkisiEvet.Add(0); ErzakEtkisiEvet.Add(0); MoralEtkisiEvet.Add(0); NufusEtkisiEvet.Add(0);
  OksijenEtkisiHayir.Add(0); ErzakEtkisiHayir.Add(0); MoralEtkisiHayir.Add(-5); NufusEtkisiHayir.Add(0);
}

{
  MainForm = TclForm.Create(Self);
  MainForm.clSetCaption('Sığınak Yöneticisi: Dark Edition');
  // 1. ANA TASARIM: Koyu Füme/Siyah Arka Plan
  MainForm.SetFormColor('#ADD8E6', '#ADD8E6', clGVertical);
  MainForm.AddAssetFromUrl(' https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/formum.png" rel="nofollow - https://raw.githubusercontent.com/kayra12oztruk-byte/oyun-/main/formum.png ');
  
  
  EkranYukseklik = MainForm.clHeight; EkranGenislik = MainForm.clWidth; BarYukseklik = (EkranYukseklik * 3) div 100;
  AssetleriYukle; VerileriYukle;

  // ÜST PANEL (Daha koyu, bordersız)
  UstPanel = MainForm.AddNewProPanel(MainForm, 'UstPanel'); UstPanel.Align = alTop; UstPanel.Height = (EkranYukseklik * 30) div 100; 
  UstPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ADD8E6'); UstPanel.SetclProSettings(UstPanel.clProSettings);
  
  // Gün ve Nüfus (Vurgulu Renkler)
  GunLabel = MainForm.AddNewProLabel(UstPanel, 'GunLabel', 'GÜN: 1'); GunLabel.Align = alTop; GunLabel.Height = (UstPanel.Height * 15) div 100; GunLabel.Margins.Top = 5; 
  GunLabel.clProSettings.FontSize = 24; GunLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFC107'); // Amber
  GunLabel.clProSettings.FontHorzAlign = palCenter; GunLabel.clProSettings.TextSettings.Font.Style = [fsBold]; GunLabel.SetclProSettings(GunLabel.clProSettings);
  
  NufusLabel = MainForm.AddNewProLabel(UstPanel, 'NufusLabel', 'NÜFUS: 5'); NufusLabel.Align = alTop; NufusLabel.Height = (UstPanel.Height * 12) div 100; 
  NufusLabel.clProSettings.FontSize = 16; NufusLabel.clProSettings.FontColor = clAlphaColor.clHexToColor('#E0E0E0'); 
  NufusLabel.clProSettings.FontHorzAlign = palCenter; NufusLabel.SetclProSettings(NufusLabel.clProSettings);

  // BARLAR (Dish rengi koyultuldu)
  OksijenBarDis = MainForm.AddNewProPanel(UstPanel, 'OksijenBarDis'); OksijenBarDis.Align = alTop; OksijenBarDis.Height = BarYukseklik; OksijenBarDis.Margins.Top = 5; OksijenBarDis.Margins.Left = 10; OksijenBarDis.Margins.Right = 10; 
  OksijenBarDis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C2C2C'); OksijenBarDis.clProSettings.IsRound = True; OksijenBarDis.SetclProSettings(OksijenBarDis.clProSettings);
  OksijenBar = MainForm.AddNewProPanel(OksijenBarDis, 'OksijenBar'); OksijenBar.Align = alLeft; OksijenBar.Width = 100; OksijenBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0288D1'); OksijenBar.clProSettings.IsRound = True; OksijenBar.SetclProSettings(OksijenBar.clProSettings);
  OksijenLbl = MainForm.AddNewProLabel(UstPanel, 'OksijenLbl', 'Oksijen'); OksijenLbl.Align = alTop; OksijenLbl.Height = 15; OksijenLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#B0BEC5'); OksijenLbl.clProSettings.FontSize = 11; OksijenLbl.SetclProSettings(OksijenLbl.clProSettings);

  ErzakBarDis = MainForm.AddNewProPanel(UstPanel, 'ErzakBarDis'); ErzakBarDis.Align = alTop; ErzakBarDis.Height = BarYukseklik; ErzakBarDis.Margins.Top = 2; ErzakBarDis.Margins.Left = 10; ErzakBarDis.Margins.Right = 10; 
  ErzakBarDis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C2C2C'); ErzakBarDis.clProSettings.IsRound = True; ErzakBarDis.SetclProSettings(ErzakBarDis.clProSettings);
  ErzakBar = MainForm.AddNewProPanel(ErzakBarDis, 'ErzakBar'); ErzakBar.Align = alLeft; ErzakBar.Width = 100; ErzakBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#F57C00'); ErzakBar.clProSettings.IsRound = True; ErzakBar.SetclProSettings(ErzakBar.clProSettings);
  ErzakLbl = MainForm.AddNewProLabel(UstPanel, 'ErzakLbl', 'Erzak'); ErzakLbl.Align = alTop; ErzakLbl.Height = 15; ErzakLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#B0BEC5'); ErzakLbl.clProSettings.FontSize = 11; ErzakLbl.SetclProSettings(ErzakLbl.clProSettings);
  
  MoralBarDis = MainForm.AddNewProPanel(UstPanel, 'MoralBarDis'); MoralBarDis.Align = alTop; MoralBarDis.Height = BarYukseklik; MoralBarDis.Margins.Top = 2; MoralBarDis.Margins.Left = 10; MoralBarDis.Margins.Right = 10; 
  MoralBarDis.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C2C2C'); MoralBarDis.clProSettings.IsRound = True; MoralBarDis.SetclProSettings(MoralBarDis.clProSettings);
  MoralBar = MainForm.AddNewProPanel(MoralBarDis, 'MoralBar'); MoralBar.Align = alLeft; MoralBar.Width = 100; MoralBar.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#388E3C'); MoralBar.clProSettings.IsRound = True; MoralBar.SetclProSettings(MoralBar.clProSettings);
  MoralLbl = MainForm.AddNewProLabel(UstPanel, 'MoralLbl', 'Moral'); MoralLbl.Align = alTop; MoralLbl.Height = 15; MoralLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#B0BEC5'); MoralLbl.clProSettings.FontSize = 11; MoralLbl.SetclProSettings(MoralLbl.clProSettings);

  // ALT PANEL (Butonlar)
  AltPanel = MainForm.AddNewProPanel(MainForm, 'AltPanel'); AltPanel.Align = alBottom; AltPanel.Height = (EkranYukseklik * 15) div 100; 
  AltPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#121212'); AltPanel.SetclProSettings(AltPanel.clProSettings);
  
  BtnRed = MainForm.AddNewProButton(AltPanel, 'BtnRed', 'REDDET'); BtnRed.Align = alLeft; BtnRed.Width = (EkranGenislik * 45) div 100; BtnRed.Margins.Top = 10; BtnRed.Margins.Bottom = 10; BtnRed.Margins.Left = 10; 
  BtnRed.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#C62828'); // Koyu Kırmızı
  BtnRed.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnRed.clProSettings.IsRound = True; BtnRed.clProSettings.RoundWidth = 5; // Daha keskin köşe
  BtnRed.SetclProSettings(BtnRed.clProSettings); MainForm.AddNewEvent(BtnRed, tbeOnClick, 'BtnRedClick');
  
  BtnKabul = MainForm.AddNewProButton(AltPanel, 'BtnKabul', 'KABUL ET'); BtnKabul.Align = alRight; BtnKabul.Width = (EkranGenislik * 45) div 100; BtnKabul.Margins.Top = 10; BtnKabul.Margins.Bottom = 10; BtnKabul.Margins.Right = 10; 
  BtnKabul.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E7D32'); // Koyu Yeşil
  BtnKabul.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnKabul.clProSettings.IsRound = True; BtnKabul.clProSettings.RoundWidth = 5;
  BtnKabul.SetclProSettings(BtnKabul.clProSettings); MainForm.AddNewEvent(BtnKabul, tbeOnClick, 'BtnKabulClick');

  // ENVANTER (HUD Tasarımı)
  PnlEnvanter = MainForm.AddNewProPanel(MainForm, 'PnlEnvanter'); PnlEnvanter.Align = alBottom; PnlEnvanter.Height = (EkranYukseklik * 8) div 100; 
  PnlEnvanter.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#263238'); // Slate
  PnlEnvanter.clProSettings.BorderColor = clAlphaColor.clHexToColor('#37474F'); PnlEnvanter.clProSettings.BorderWidth = 1; PnlEnvanter.SetclProSettings(PnlEnvanter.clProSettings);
  
  ImgInvTufek = MainForm.AddNewProImage(PnlEnvanter, 'ImgInvTufek'); ImgInvTufek.Align = alLeft; ImgInvTufek.Width = (PnlEnvanter.Width * 33) div 100; ImgInvTufek.Margins.top = 5; 
  ImgInvTufek.Margins.bottom = 5;
  ImgInvTufek.Margins.left = 5;
  ImgInvTufek.Margins.Right = 5;
  ImgInvTufek.clProSettings.PictureSource = 'tufek.png'; ImgInvTufek.clProSettings.PictureAutoFit = True; ImgInvTufek.SetclProSettings(ImgInvTufek.clProSettings);
  ImgInvRadyo = MainForm.AddNewProImage(PnlEnvanter, 'ImgInvRadyo'); ImgInvRadyo.Align = alLeft; ImgInvRadyo.Width = (PnlEnvanter.Width * 33) div 100; ImgInvRadyo.Margins.top = 5; 
  ImgInvRadyo.Margins.bottom = 5;
  ImgInvRadyo.Margins.left = 5;
  ImgInvRadyo.Margins.Right = 5;
  ImgInvRadyo.clProSettings.PictureSource = 'radyo.png'; ImgInvRadyo.clProSettings.PictureAutoFit = True; ImgInvRadyo.SetclProSettings(ImgInvRadyo.clProSettings);
  ImgInvIlac = MainForm.AddNewProImage(PnlEnvanter, 'ImgInvIlac'); ImgInvIlac.Align = alLeft; ImgInvIlac.Width = (PnlEnvanter.Width * 33) div 100; ImgInvIlac.Margins.top = 5;
  ImgInvIlac.Margins.left = 5;
  ImgInvIlac.Margins.Right = 5;
  ImgInvIlac.Margins.bottom = 5;
  ImgInvIlac.clProSettings.PictureSource = 'ilac.png'; ImgInvIlac.clProSettings.PictureAutoFit = True; ImgInvIlac.SetclProSettings(ImgInvIlac.clProSettings);
  
  
  
  
  // TERMINAL PANELİ (Cyber-Monitor Havası)
  TerminalPanel = MainForm.AddNewProPanel(MainForm, 'TerminalPanel'); TerminalPanel.Align = alClient; TerminalPanel.Margins.Top = 10; TerminalPanel.Margins.Bottom = 10; TerminalPanel.Margins.Left = 10; TerminalPanel.Margins.Right = 10; 
  TerminalPanel.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#000000'); // Tam Siyah
  TerminalPanel.clProSettings.BorderColor = clAlphaColor.clHexToColor('#4CAF50'); // Neon Yeşil Çerçeve
  TerminalPanel.clProSettings.BorderWidth = 2; TerminalPanel.clProSettings.IsRound = True; TerminalPanel.clProSettings.RoundWidth = 5;
  TerminalPanel.SetclProSettings(TerminalPanel.clProSettings);
   
   
  OlayBaslikLbl = MainForm.AddNewProLabel(TerminalPanel, 'OlayBaslikLbl', 'SİSTEM BAŞLATILIYOR...'); OlayBaslikLbl.Align = alTop; OlayBaslikLbl.Height = (EkranYukseklik * 10) div 100; 
  OlayBaslikLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#4CAF50'); // Yeşil Başlık
  OlayBaslikLbl.clProSettings.FontSize = 22; OlayBaslikLbl.clProSettings.FontHorzAlign = palCenter; OlayBaslikLbl.clProSettings.TextSettings.Font.Style = [fsBold]; OlayBaslikLbl.SetclProSettings(OlayBaslikLbl.clProSettings);
  
  OlayDetayLbl = MainForm.AddNewProLabel(TerminalPanel, 'OlayDetayLbl', 'Veriler yükleniyor...'); OlayDetayLbl.Align = alClient; OlayDetayLbl.Margins.top = 15;
  OlayDetayLbl.Margins.left = 15;
  OlayDetayLbl.Margins.Right = 15;
  OlayDetayLbl.Margins.bottom = 15;
  OlayDetayLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#A5D6A7'); // Açık Yeşil Yazı
  OlayDetayLbl.clProSettings.FontSize = 18; OlayDetayLbl.clProSettings.FontHorzAlign = palCenter; OlayDetayLbl.clProSettings.FontVertAlign = palCenter; OlayDetayLbl.clProSettings.WordWrap = True; OlayDetayLbl.SetclProSettings(OlayDetayLbl.clProSettings);

  // GİZLİ PANELLER
  PnlAlarm = MainForm.AddNewProPanel(MainForm, 'PnlAlarm'); PnlAlarm.Align = alCenter; PnlAlarm.Width = (EkranGenislik * 80) div 100; PnlAlarm.Height = (EkranYukseklik * 20) div 100; PnlAlarm.Visible = False; PnlAlarm.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D32F2F'); PnlAlarm.clProSettings.IsRound = True; PnlAlarm.SetclProSettings(PnlAlarm.clProSettings);
  LblAlarm = MainForm.AddNewProLabel(PnlAlarm, 'LblAlarm', 'ALARM!'); LblAlarm.Align = alCenter; LblAlarm.Height = 50; LblAlarm.Width = (PnlAlarm.Width * 90) div 100; LblAlarm.clProSettings.FontSize = 24; LblAlarm.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); LblAlarm.clProSettings.FontHorzAlign = palCenter; LblAlarm.clProSettings.TextSettings.Font.Style = [fsBold]; LblAlarm.SetclProSettings(LblAlarm.clProSettings);
  
  PnlAction = MainForm.AddNewProPanel(MainForm, 'PnlAction'); PnlAction.Align = alCenter; PnlAction.Width = (EkranGenislik * 70) div 100; PnlAction.Height = (EkranYukseklik * 40) div 100; PnlAction.Visible = False; 
  PnlAction.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#263238'); // Koyu Arkaplan
  PnlAction.clProSettings.IsRound = True; PnlAction.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FFFFFF'); PnlAction.clProSettings.BorderWidth = 2; PnlAction.SetclProSettings(PnlAction.clProSettings);
  ImgAction = MainForm.AddNewProImage(PnlAction, 'ImgAction'); ImgAction.Align = alClient; ImgAction.Height = (PnlAction.Height * 70) div 100; ImgAction.clProSettings.PictureSource = 'kesif.png'; ImgAction.clProSettings.PictureAutoFit = True; ImgAction.SetclProSettings(ImgAction.clProSettings);
  LblAction = MainForm.AddNewProLabel(PnlAction, 'LblAction', '...'); LblAction.Align = alClient; LblAction.clProSettings.FontSize = 18; LblAction.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); LblAction.clProSettings.FontHorzAlign = palCenter; LblAction.clProSettings.FontVertAlign = palCenter; LblAction.SetclProSettings(LblAction.clProSettings);

  PnlGece = MainForm.AddNewProPanel(MainForm, 'PnlGece'); PnlGece.Align = alContents; PnlGece.Visible = False; PnlGece.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#000000'); PnlGece.SetclProSettings(PnlGece.clProSettings);
  LblGeceMesaj = MainForm.AddNewProLabel(PnlGece, 'LblGeceMesaj', 'GÜN BİTTİ...'); LblGeceMesaj.Align = alCenter; LblGeceMesaj.Width = (EkranGenislik * 80) div 100; LblGeceMesaj.Height = 100; LblGeceMesaj.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); LblGeceMesaj.clProSettings.FontSize = 24; LblGeceMesaj.clProSettings.FontHorzAlign = palCenter; LblGeceMesaj.SetclProSettings(LblGeceMesaj.clProSettings);

  PnlOyunSonu = MainForm.AddNewProPanel(MainForm, 'PnlOyunSonu'); PnlOyunSonu.Align = alContents; PnlOyunSonu.Visible = False; PnlOyunSonu.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c0392b'); PnlOyunSonu.SetclProSettings(PnlOyunSonu.clProSettings);
  LblSonuBaslik = MainForm.AddNewProLabel(PnlOyunSonu, 'LblSonuBaslik', 'OYUN BİTTİ'); LblSonuBaslik.Align = alTop; LblSonuBaslik.Height = (EkranYukseklik * 15) div 100; LblSonuBaslik.Margins.Top = 40; LblSonuBaslik.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); LblSonuBaslik.clProSettings.FontSize = 30; LblSonuBaslik.clProSettings.FontHorzAlign = palCenter; LblSonuBaslik.clProSettings.TextSettings.Font.Style = [fsBold]; LblSonuBaslik.SetclProSettings(LblSonuBaslik.clProSettings);
  LblSkor = MainForm.AddNewProLabel(PnlOyunSonu, 'LblSkor', 'SKOR: 0'); LblSkor.Align = alTop; LblSkor.Height = 50; LblSkor.clProSettings.FontColor = clAlphaColor.clHexToColor('#f1c40f'); LblSkor.clProSettings.FontSize = 20; LblSkor.clProSettings.FontHorzAlign = palCenter; LblSkor.SetclProSettings(LblSkor.clProSettings);
  LblSonuDetay = MainForm.AddNewProLabel(PnlOyunSonu, 'LblSonuDetay', '...'); LblSonuDetay.Align = alClient; LblSonuDetay.Margins.top = 20; LblSonuDetay.Margins.bottom = 20; LblSonuDetay.Margins.Left = 20; LblSonuDetay.Margins.Right = 20; LblSonuDetay.clProSettings.FontColor = clAlphaColor.clHexToColor('#ecf0f1'); LblSonuDetay.clProSettings.FontSize = 18; LblSonuDetay.clProSettings.FontHorzAlign = palCenter; LblSonuDetay.clProSettings.WordWrap = True; LblSonuDetay.SetclProSettings(LblSonuDetay.clProSettings);
  BtnRestart = MainForm.AddNewProButton(PnlOyunSonu, 'BtnRestart', 'YENİDEN BAŞLAT'); BtnRestart.Align = alBottom; BtnRestart.Height = (EkranYukseklik * 10) div 100; BtnRestart.Margins.Left = 50; BtnRestart.Margins.Right = 50; BtnRestart.Margins.Bottom = 50; BtnRestart.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#263238'); BtnRestart.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); BtnRestart.clProSettings.IsRound = True; BtnRestart.clProSettings.FontSize = 20; BtnRestart.SetclProSettings(BtnRestart.clProSettings); MainForm.AddNewEvent(BtnRestart, tbeOnClick, 'OyunuSifirla');
  
  // Timerlar
  AlarmTimer = MainForm.AddNewTimer(MainForm, 'AlarmTimer', 500); AlarmTimer.Enabled = False; MainForm.AddNewEvent(AlarmTimer, tbeOnTimer, 'OnAlarmTimer');
  GeceTimer = MainForm.AddNewTimer(MainForm, 'GeceTimer', 2000); GeceTimer.Enabled = False; MainForm.AddNewEvent(GeceTimer, tbeOnTimer, 'OnGeceTimer');
  ActionTimer = MainForm.AddNewTimer(MainForm, 'ActionTimer', 2000); ActionTimer.Enabled = False; MainForm.AddNewEvent(ActionTimer, tbeOnTimer, 'OnActionTimer');

  OyunuSifirla; 

  MainForm.Run;      yaptığım oyunda bir monitör kısmı ve bunu oluşturduğum görseli bu monitör kısmının içine koymak istiyorum ama yapamadım
}
















Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 22 Aralık 2025 Saat 16:46
Merhaba Kayra, 
Bir tane Global Image bileşeni oluşturup, bu bileşene görseli atayarak yapabilirsin.
Image bileşenini de TerminalPanel içerisin de gruplandırmaya alırsın istediğin görüntüyü elde edebilirsin 

   
   Img = MainForm.AddNewImage(TerminalPanel,'Img');
   Img.Align=alContents;
   MainForm.SetImage(Img,'formum.png');
https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" 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">



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