Sayfayı Yazdır | Pencereyi Kapat

Kod sorunu

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=1485
Tarih: 07 Mayıs 2026 Saat 22:40
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Kod sorunu
Mesajı Yazan: zülfinaz
Konu: Kod sorunu
Mesaj Tarihi: 07 Mayıs 2026 Saat 19:19
Var
  MainForm: TclForm;
  MainScroll: TclVertScrollBox;
  PnlHero: TclProPanel;
  LblTitle: TclProLabel;
  PnlInputContainer: TclLayout;
  PnlKutleCard, PnlHacimCard: TclProPanel;
  EdtKutle, EdtHacim: TclProEdit;
  LblKutleTitle, LblHacimTitle: TclProLabel;
  PnlGlassContainer: TclProPanel;
  PnlGlassFrame: TclProPanel;
  PnlOilLayer: TclProPanel; 
  PnlWaterLayer: TclProPanel; 
  LblGlassInfo: TclProLabel;
  BtnCalculate, BtnReset: TclProButton;
  PnlResultCard: TclProPanel;
  LblResultLabel, LblResultValue: TclProLabel;

const
  C_DARK_BG = '#0F172A';
  C_CARD_BG = '#1E293B';
  C_NEON_CYAN = '#22D3EE';
  C_NEON_YELLOW = '#FDE047';
  C_OIL_COLOR = '#FACC15';
  C_WATER_COLOR = '#3B82F6';

procedure ResetSim;
begin
  EdtKutle.Text := '';
  EdtHacim.Text := '';
  LblResultValue.Text := '0.00';
  PnlOilLayer.Height := 40;
  PnlWaterLayer.Height := 60;
  LblGlassInfo.Text := 'Denge Bekleniyor...';
end;

procedure DoCalculate;
var
  m, v, d: Double;
begin
  if (EdtKutle.Text = '') or (EdtHacim.Text = '') then
  begin
    ShowMessage('Lütfen değerleri giriniz.');
    Exit;
  end;
  
  try
    m := StrToFloat(EdtKutle.Text);
    v := StrToFloat(EdtHacim.Text);
    
    if (v <= 0) then
    begin
      ShowMessage('Hacim sıfır olamaz!');
      Exit;
    end;
    
    d := m / v;
    LblResultValue.Text := FormatFloat('0.00', d);
    
    if (d < 1) then
    begin
      PnlOilLayer.Height := 80;
      PnlWaterLayer.Height := 30;
      LblGlassInfo.Text := '💧 Madde suyun üzerinde yüzer (Yağ gibi)';
    end else 
    begin
      PnlOilLayer.Height := 20;
      PnlWaterLayer.Height := 90;
      LblGlassInfo.Text := '⚓ Madde suyun dibine batar (Yoğunluk > 1)';
    end;
    
  except
    ShowMessage('Geçersiz bir sayı girdiniz.');
  end;
end;

procedure SetupUI;
begin
  MainForm := TclForm.Create(Self);
  MainForm.SetFormColor(C_DARK_BG, C_DARK_BG, clGCross);
  
  MainScroll := MainForm.AddNewVertScrollBox(MainForm, 'MainScroll');
  MainScroll.Align := alClient;
  
  PnlHero := MainForm.AddNewProPanel(MainScroll, 'PnlHero');
  PnlHero.Align := alTop; 
  PnlHero.Height := 80;
PnlHero.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#00FFFFFF');
  PnlHero.SetclProSettings(PnlHero.clProSettings);
  
  LblTitle := MainForm.AddNewProLabel(PnlHero, 'LblTitle', 'YOĞUNLUK LABORATUVARI');
  LblTitle.Align := alTop; LblTitle.Height := 40; LblTitle.Margins.Top := 20;
  LblTitle.clProSettings.FontColor := clAlphaColor.clHexToColor(C_NEON_CYAN);
  LblTitle.clProSettings.FontSize := 22; LblTitle.clProSettings.FontHorzAlign := palCenter;
  LblTitle.clProSettings.TextSettings.Font.Style := [fsBold];
  LblTitle.SetclProSettings(LblTitle.clProSettings);
  
  PnlInputContainer := MainForm.AddNewLayout(MainScroll, 'PnlInputContainer');
  PnlInputContainer.Align := alTop; PnlInputContainer.Height := 170;
  PnlInputContainer.Margins.Left := 20; PnlInputContainer.Margins.Right := 20;
  
  PnlKutleCard := MainForm.AddNewProPanel(PnlInputContainer, 'PnlKutleCard');
  PnlKutleCard.Align := alTop; PnlKutleCard.Height := 75; PnlKutleCard.Margins.Bottom := 10;
  PnlKutleCard.clProSettings.BackgroundColor := clAlphaColor.clHexToColor(C_CARD_BG);
  PnlKutleCard.clProSettings.RoundWidth := 10; PnlKutleCard.clProSettings.RoundHeight := 10;
  PnlKutleCard.SetclProSettings(PnlKutleCard.clProSettings);
  
  LblKutleTitle := MainForm.AddNewProLabel(PnlKutleCard, 'LblKutleTitle', 'Kütle (g):');
  LblKutleTitle.Align := alLeft; LblKutleTitle.Width := 80; LblKutleTitle.Margins.Left := 15;
  LblKutleTitle.clProSettings.FontColor := clAlphaColor.clWhite;
  LblKutleTitle.SetclProSettings(LblKutleTitle.clProSettings);
  
  EdtKutle := MainForm.AddNewProEdit(PnlKutleCard, 'EdtKutle', '');
  EdtKutle.Align := alClient; EdtKutle.Margins.Right := 15; EdtKutle.Margins.Top := 15; EdtKutle.Margins.Bottom := 15;
  EdtKutle.clProSettings.FontSize := 16; EdtKutle.clProSettings.FontColor := clAlphaColor.clHexToColor(C_NEON_YELLOW);
  EdtKutle.SetclProSettings(EdtKutle.clProSettings);
  
  PnlHacimCard := MainForm.AddNewProPanel(PnlInputContainer, 'PnlHacimCard');
  PnlHacimCard.Align := alTop; PnlHacimCard.Height := 75;
  PnlHacimCard.clProSettings.BackgroundColor := clAlphaColor.clHexToColor(C_CARD_BG);
  PnlHacimCard.clProSettings.RoundWidth := 10; PnlHacimCard.clProSettings.RoundHeight := 10;
  PnlHacimCard.SetclProSettings(PnlHacimCard.clProSettings);
  
  LblHacimTitle := MainForm.AddNewProLabel(PnlHacimCard, 'LblHacimTitle', 'Hacim (cm3):');
  LblHacimTitle.Align := alLeft; LblHacimTitle.Width := 80; LblHacimTitle.Margins.Left := 15;
  LblHacimTitle.clProSettings.FontColor := clAlphaColor.clWhite;
  LblHacimTitle.SetclProSettings(LblHacimTitle.clProSettings);
  
  EdtHacim := MainForm.AddNewProEdit(PnlHacimCard, 'EdtHacim', '');
  EdtHacim.Align := alClient; EdtHacim.Margins.Right := 15; EdtHacim.Margins.Top := 15; EdtHacim.Margins.Bottom := 15;
  EdtHacim.clProSettings.FontSize := 16; EdtHacim.clProSettings.FontColor := clAlphaColor.clHexToColor(C_NEON_CYAN);
  EdtHacim.SetclProSettings(EdtHacim.clProSettings);

  BtnCalculate := MainForm.AddNewProButton(MainScroll, 'BtnCalculate', 'HESAPLA');
  BtnCalculate.Align := alTop; BtnCalculate.Height := 50; BtnCalculate.Margins.Top := 15; BtnCalculate.Margins.Left := 20; BtnCalculate.Margins.Right := 20;
  BtnCalculate.clProSettings.BackgroundColor := clAlphaColor.clHexToColor(C_NEON_CYAN);
  BtnCalculate.clProSettings.FontColor := clAlphaColor.clHexToColor(C_DARK_BG);
  BtnCalculate.clProSettings.TextSettings.Font.Style := [fsBold];
  BtnCalculate.clProSettings.RoundWidth := 10; BtnCalculate.clProSettings.RoundHeight := 10;
  BtnCalculate.SetclProSettings(BtnCalculate.clProSettings);
  MainForm.AddNewEvent(BtnCalculate, tbeOnClick, 'DoCalculate');

  PnlGlassContainer := MainForm.AddNewProPanel(MainScroll, 'PnlGlassContainer');
  PnlGlassContainer.Align := alTop; PnlGlassContainer.Height := 180; PnlGlassContainer.Margins.Top := 10;
PnlGlassContainer.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#00FFFFFF');
  PnlGlassContainer.SetclProSettings(PnlGlassContainer.clProSettings);
  
  PnlGlassFrame := MainForm.AddNewProPanel(PnlGlassContainer, 'PnlGlassFrame');
  PnlGlassFrame.Align := alCenter; PnlGlassFrame.Width := 80; PnlGlassFrame.Height := 120;
  PnlGlassFrame.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#334155');
  PnlGlassFrame.clProSettings.BorderColor := clAlphaColor.clWhite; PnlGlassFrame.clProSettings.BorderWidth := 2;
  PnlGlassFrame.clProSettings.RoundWidth := 5; PnlGlassFrame.clProSettings.RoundHeight := 5;
  PnlGlassFrame.SetclProSettings(PnlGlassFrame.clProSettings);
  
  PnlWaterLayer := MainForm.AddNewProPanel(PnlGlassFrame, 'PnlWaterLayer');
  PnlWaterLayer.Align := alBottom; PnlWaterLayer.Height := 60;
  PnlWaterLayer.clProSettings.BackgroundColor := clAlphaColor.clHexToColor(C_WATER_COLOR);
  PnlWaterLayer.SetclProSettings(PnlWaterLayer.clProSettings);
  
  PnlOilLayer := MainForm.AddNewProPanel(PnlGlassFrame, 'PnlOilLayer');
  PnlOilLayer.Align := alBottom; PnlOilLayer.Height := 40;
  PnlOilLayer.clProSettings.BackgroundColor := clAlphaColor.clHexToColor(C_OIL_COLOR);
  PnlOilLayer.SetclProSettings(PnlOilLayer.clProSettings);
  
  LblGlassInfo := MainForm.AddNewProLabel(PnlGlassContainer, 'LblGlassInfo', 'Denge Bekleniyor...');
  LblGlassInfo.Align := alBottom; LblGlassInfo.Height := 30;
  LblGlassInfo.clProSettings.FontColor := clAlphaColor.clGray; LblGlassInfo.clProSettings.FontHorzAlign := palCenter;
  LblGlassInfo.SetclProSettings(LblGlassInfo.clProSettings);

  PnlResultCard := MainForm.AddNewProPanel(MainScroll, 'PnlResultCard');
  PnlResultCard.Align := alTop; PnlResultCard.Height := 80; PnlResultCard.Margins.Left := 20; PnlResultCard.Margins.Right := 20;
  PnlResultCard.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#020617');
  PnlResultCard.clProSettings.BorderColor := clAlphaColor.clHexToColor(C_NEON_CYAN); PnlResultCard.clProSettings.BorderWidth := 1;
  PnlResultCard.clProSettings.RoundWidth := 12; PnlResultCard.clProSettings.RoundHeight := 12;
  PnlResultCard.SetclProSettings(PnlResultCard.clProSettings);

  LblResultLabel := MainForm.AddNewProLabel(PnlResultCard, 'LblResultLabel', 'YOĞUNLUK (g/cm³)');
  LblResultLabel.Align := alTop; LblResultLabel.Height := 30; LblResultLabel.Margins.Top := 10;
  LblResultLabel.clProSettings.FontColor := clAlphaColor.clWhite; LblResultLabel.clProSettings.FontHorzAlign := palCenter;
  LblResultLabel.clProSettings.FontSize := 12;
  LblResultLabel.SetclProSettings(LblResultLabel.clProSettings);

  LblResultValue := MainForm.AddNewProLabel(PnlResultCard, 'LblResultValue', '0.00');
  LblResultValue.Align := alClient;
  LblResultValue.clProSettings.FontColor := clAlphaColor.clHexToColor(C_NEON_YELLOW); LblResultValue.clProSettings.FontHorzAlign := palCenter;
  LblResultValue.clProSettings.FontSize := 28; LblResultValue.clProSettings.TextSettings.Font.Style := [fsBold];
  LblResultValue.SetclProSettings(LblResultValue.clProSettings);

  BtnReset := MainForm.AddNewProButton(MainScroll, 'BtnReset', 'Temizle');
  BtnReset.Align := alTop; BtnReset.Height := 40; BtnReset.Margins.Top := 10; BtnReset.Margins.Left := 80; BtnReset.Margins.Right := 80;
BtnReset.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#00FFFFFF');
  BtnReset.clProSettings.FontColor := clAlphaColor.clGray;
  BtnReset.SetclProSettings(BtnReset.clProSettings);
  MainForm.AddNewEvent(BtnReset, tbeOnClick, 'ResetSim');

  MainForm.Run;
end;

begin
  SetupUI;
end;

https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - 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">



Cevaplar:
Mesajı Yazan: zülfinaz
Mesaj Tarihi: 07 Mayıs 2026 Saat 19:21
Yunus Emre hocam biz proje için kod yazdık. Bizim konumuz yoğunluğun hesaplanmasıydı. Bu proje yeterli midir?



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