Clomosy | Forum Ana Sayfa
Forum Anasayfa Forum Anasayfa > Form Oluşturma > TclForm Oluşturma
  Aktif Konular Aktif Konular RSS - ödev kodlarda hata
  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.

ödev kodlarda hata

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


Kayıt Tarihi: 11 Mayıs 2026
Durum: Aktif Değil
Puanlar: 4
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı erenertankef Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: ödev kodlarda hata
    Gönderim Zamanı: 11 Mayıs 2026 Saat 18:31
hocam biz ödev için konuyu belirledik dediğiniz yaptık taslağı hazırladık kodu yazdık düzeltmeye de çalıştık ama buraya kadar geldik yardım edebilir misiniz kodu çalıştırdık hatalı yerleri de bulduk ama düzeltmeye çalıştık olmadı 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
  MyForm: TClForm;
  beherLayout, scaleLayout, mainArea: TClProLayout;
  beherSivisi, phPointer: TClProShape;
  f1, f2, f3, f4, btnReset: TClProButton;
  txtPH, txtInfo: TClProLabel;
  currentPH: Single;

// pH değerine göre rengi belirleyen fonksiyon
function GetColorByPH(val: Single): string;
begin
  if val < 6.5 then // Asit (Kırmızı tonları)
    Result := '#FF' + IntToHex(Round((val/7)*255), 2) + '00'
  else if val > 7.5 then // Baz (Mavi tonları)
    Result := '00' + IntToHex(Round(((14-val)/7)*255), 2) + 'FF'
  else // Nötr
    Result := '#00FF00';
end;

// UI Güncelleme
procedure UpdateLab;
var
  pos: Integer;
begin
  beherSivisi.FillColor := clAlphaColor.FromHtml(GetColorByPH(currentPH));
 
  // İbreyi hareket ettir (Basit ölçeklendirme)
  pos := Round((currentPH / 14) * (scaleLayout.Width - 30));
  phPointer.Margins.Left := pos;
 
  txtPH.Text := 'pH Değeri: ' + FloatToStrF(currentPH, ffFixed, 1, 1);
end;

// Sıvı Ekleme
procedure AddLiquid(val: Single);
begin
  currentPH := currentPH + val;
  if currentPH > 14 then currentPH := 14;
  if currentPH < 0 then currentPH := 0;
 
  UpdateLab;
  txtInfo.Text := 'Tepkime gözleniyor...';
end;

// Tıklama Olayları
procedure OnF1; begin AddLiquid(-1.5); end; // Asit
procedure OnF2; begin AddLiquid(1.5);  end; // Baz
procedure OnF3; begin AddLiquid(-2.0); end; // Kuvvetli Asit
procedure OnF4; begin AddLiquid(2.0);  end; // Kuvvetli Baz

procedure ResetLab;
begin
  currentPH := 7.0;
  UpdateLab;
  txtInfo.Text := 'Şişelerdeki sıvıları behere ekleyerek test edin.';
end;

begin
  MyForm := TClForm.Create(Self);
  MyForm.SetFormColor('#121212', '', clGNone);

  // pH Skalası Tasarımı
  scaleLayout := MyForm.AddNewProLayout(MyForm, 'scaleLayout');
  scaleLayout.Align := alTop;
  scaleLayout.Height := 30;
  scaleLayout.Margins.Top := 50;
  scaleLayout.Margins.Left := 40;
  scaleLayout.Margins.Right := 40;
  scaleLayout.clConfig.BorderColor := clAlphaColor.FromHtml('#FFFFFF');
  scaleLayout.clConfig.BorderWidth := 1;
  scaleLayout.clConfig.BackgroundColor := clAlphaColor.FromHtml('#333333');

  phPointer := MyForm.AddNewProShape(scaleLayout, 'phPointer');
  phPointer.Align := alLeft;
  phPointer.Width := 15;
  phPointer.FillColor := clAlphaColor.FromHtml('#FFFFFF');
  phPointer.ShapeType := stCircle;

  txtPH := MyForm.AddNewProLabel(MyForm, 'txtPH', 'pH Değeri: 7.0');
  txtPH.Align := alTop;
  txtPH.Height := 40;
  txtPH.clTextSettings.FontColor := clAlphaColor.FromHtml('#FFFF00');
  txtPH.clTextSettings.HorzAlign := taCenter;

  // Ana Deney Alanı
  mainArea := MyForm.AddNewProLayout(MyForm, 'mainArea');
  mainArea.Align := alClient;
  mainArea.Margins.Top := 20;

  // Beher
  beherLayout := MyForm.AddNewProLayout(mainArea, 'beherLayout');
  beherLayout.Align := alCenter;
  beherLayout.Width := 140;
  beherLayout.Height := 180;
  beherLayout.clConfig.BorderColor := clAlphaColor.FromHtml('#E0E0E0');
  beherLayout.clConfig.BorderWidth := 4;
  beherLayout.clConfig.BackgroundColor := clAlphaColor.FromORGB(40, 255, 255, 255);

  beherSivisi := MyForm.AddNewProShape(beherLayout, 'beherSivisi');
  beherSivisi.Align := alBottom;
  beherSivisi.Height := 100;
  beherSivisi.Margins.Bottom := 5;
  beherSivisi.Margins.Left := 5;
  beherSivisi.Margins.Right := 5;
  beherSivisi.ShapeType := stRoundRec;

  // Erlenmayerler (Butonlar)
  f1 := MyForm.AddNewProButton(mainArea, 'f1', 'Sıvı 1');
  f1.Align := alLeft; f1.Width := 75; f1.Height := 80;
  f1.Margins.Left := 20; f1.clConfig.BackgroundColor := clAlphaColor.FromHtml('#ADD8E6');
  MyForm.AddNewEvent(f1, tbeOnClick, 'OnF1');

  f2 := MyForm.AddNewProButton(mainArea, 'f2', 'Sıvı 2');
  f2.Align := alLeft; f2.Width := 75; f2.Height := 80;
  f2.Margins.Left := 10; f2.clConfig.BackgroundColor := clAlphaColor.FromHtml('#ADD8E6');
  MyForm.AddNewEvent(f2, tbeOnClick, 'OnF2');

  f4 := MyForm.AddNewProButton(mainArea, 'f4', 'Sıvı 4');
  f4.Align := alRight; f4.Width := 75; f4.Height := 80;
  f4.Margins.Right := 20; f4.clConfig.BackgroundColor := clAlphaColor.FromHtml('#ADD8E6');
  MyForm.AddNewEvent(f4, tbeOnClick, 'OnF4');

  f3 := MyForm.AddNewProButton(mainArea, 'f3', 'Sıvı 3');
  f3.Align := alRight; f3.Width := 75; f3.Height := 80;
  f3.Margins.Right := 10; f3.clConfig.BackgroundColor := clAlphaColor.FromHtml('#ADD8E6');
  MyForm.AddNewEvent(f3, tbeOnClick, 'OnF3');

  // Bilgi ve Reset
  txtInfo := MyForm.AddNewProLabel(MyForm, 'txtInfo', 'Şişelere tıklayarak deneye başlayın.');
  txtInfo.Align := alBottom;
  txtInfo.Height := 50;
  txtInfo.Margins.Bottom := 70;
  txtInfo.clTextSettings.FontColor := clAlphaColor.FromHtml('#FFFFFF');
  txtInfo.clTextSettings.HorzAlign := taCenter;

  btnReset := MyForm.AddNewProButton(MyForm, 'btnReset', 'TEMİZLE');
  btnReset.Align := alBottom;
  btnReset.Height := 45;
  btnReset.Margins.Bottom := 20;
  btnReset.Margins.Left := 100; btnReset.Margins.Right := 100;
  btnReset.clConfig.BackgroundColor := clAlphaColor.FromHtml('#CC0000');
  MyForm.AddNewEvent(btnReset, tbeOnClick, 'ResetLab');

  ResetLab;
  MyForm.Run;
end;
< defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous"> < defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous"> < defer="" ="https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" -cf-beacon=""version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"_timing":"name":"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true,"location_startswith":null" crossorigin="anonymous">

Düzenleyen Emr.Erkmn - 11 Mayıs 2026 Saat 19:57
Yukarı Dön
Eren Ö. Açılır Kutu İzle
Yeni Üye
Yeni Üye
Simge

Kayıt Tarihi: 25 Eylül 2025
Durum: Aktif Değil
Puanlar: 36
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Eren Ö. Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 11 Saat 8 Dakika Önce Saat 09:26
Merhaba! Yazmış olduğunuz kod eski Clomosy motoruna göre uyarlanmış olduğundan kaynaklı hata alıyordunuz. Yeni Clomosy motorunda "Begin, end", ":=", "procedure" gibi terimleri kullanmıyoruz. Bunların yerine gelenler sırayla; "{ ... }", "=", "void".

Attığınız kodları düzeltip oluşturmaya çalıştığınız şeyleri korumaya çalıştım;

var
  MyForm: TClForm;
  beherLayout, scaleLayout, mainArea: TclProPanel;
  beherSivisi, phPointer: TclProPanel;
  f1, f2, f3, f4, btnReset: TclProButton;
  txtPH, txtInfo: TclProLabel;
  currentPH: Single;

// pH değerine göre rengi belirleyen fonksiyon
function GetColorByPH(val: Single): string;
{
  if (val < 6.5) // Asit (Kırmızı tonları)
    Result = '#FF' + IntToHex(Round((val/7)*255), 2) + '00';
  else if (val > 7.5) // Baz (Mavi tonları)
    Result = '#00' + IntToHex(Round(((14-val)/7)*255), 2) + 'FF';
  else // Nötr
    Result = '#00FF00';
}

// UI Güncelleme
void UpdateLab;
var
  pos: Integer;
{
  beherSivisi.clProSettings.BackgroundColor = clAlphaColor.clHexToColor(GetColorByPH(currentPH));
  beherSivisi.SetclProSettings(beherSivisi.clProSettings);
  
  // İbreyi hareket ettir (Basit ölçeklendirme)
  pos = Round((currentPH / 14) * (scaleLayout.Width - 30));
  phPointer.Margins.Left = pos;
  
  txtPH.Text = 'pH Değeri: ' + FloatToStrF(currentPH, ffFixed, 1, 1);
}

// Sıvı Ekleme
void AddLiquid(val: Single);
{
  currentPH = currentPH + val;
  if (currentPH > 14) currentPH = 14;
  if (currentPH < 0) currentPH = 0;
  
  UpdateLab;
  txtInfo.Text = 'Tepkime gözleniyor...';
}

// Tıklama Olayları
void OnF1; { AddLiquid(-1.5); } // Asit
void OnF2; { AddLiquid(1.5);  } // Baz
void OnF3; { AddLiquid(-2.0); } // Kuvvetli Asit
void OnF4; { AddLiquid(2.0);  } // Kuvvetli Baz

void ResetLab;
{
  currentPH = 7.0;
  UpdateLab;
  txtInfo.Text = 'Şişelerdeki sıvıları behere ekleyerek test edin.';
}

{
  MyForm = TClForm.Create(Self);
  MyForm.SetFormColor('#121212', '', clGNone);

  // pH Skalası Tasarımı
  scaleLayout = MyForm.AddNewProPanel(MyForm, 'scaleLayout');
  scaleLayout.Align = alTop;
  scaleLayout.Height = 30;
  scaleLayout.Margins.Top = 50;
  scaleLayout.Margins.Left = 40;
  scaleLayout.Margins.Right = 40;
  scaleLayout.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FFFFFF');
  scaleLayout.clProSettings.BorderWidth = 1;
  scaleLayout.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#333333');
  scaleLayout.SetclProSettings(scaleLayout.clProSettings);

  phPointer = MyForm.AddNewProPanel(scaleLayout, 'phPointer');
  phPointer.Align = alLeft;
  phPointer.Width = 15;
  phPointer.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  phPointer.clProSettings.RoundHeight = 15;
  phPointer.clProSettings.RoundWidth = 15;
  phPointer.SetclProSettings(phPointer.clProSettings);

  txtPH = MyForm.AddNewProLabel(MyForm, 'txtPH', 'pH Değeri: 7.0');
  txtPH.Align = alTop;
  txtPH.Height = 40;
  txtPH.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFF00');
  txtPH.clProSettings.FontHorzAlign = palCenter;
  txtPH.SetclProSettings(txtPH.clProSettings);

  // Ana Deney Alanı
  mainArea = MyForm.AddNewProPanel(MyForm, 'mainArea');
  mainArea.Align = alClient;
  mainArea.Margins.Top = 20;
  mainArea.clProSettings.IsTransparent = True;
  mainArea.SetclProSettings(mainArea.clProSettings);

  // Beher
  beherLayout = MyForm.AddNewProPanel(mainArea, 'beherLayout');
  beherLayout.Align = alCenter;
  beherLayout.Width = 140;
  beherLayout.Height = 180;
  beherLayout.clProSettings.BorderColor = clAlphaColor.clHexToColor('#E0E0E0');
  beherLayout.clProSettings.BorderWidth = 4;
  beherLayout.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#28FFFFFF');
  beherLayout.SetclProSettings(beherLayout.clProSettings);

  beherSivisi = MyForm.AddNewProPanel(beherLayout, 'beherSivisi');
  beherSivisi.Align = alBottom;
  beherSivisi.Height = 100;
  beherSivisi.Margins.Bottom = 5;
  beherSivisi.Margins.Left = 5;
  beherSivisi.Margins.Right = 5;
  beherSivisi.clProSettings.RoundHeight = 10;
  beherSivisi.clProSettings.RoundWidth = 10;
  beherSivisi.SetclProSettings(beherSivisi.clProSettings);

  // Erlenmayerler (Butonlar)
  f1 = MyForm.AddNewProButton(mainArea, 'f1', 'Sıvı 1');
  f1.Align = alLeft; f1.Width = 75; f1.Height = 80;
  f1.Margins.Left = 20; 
  f1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ADD8E6');
  f1.SetclProSettings(f1.clProSettings);
  MyForm.AddNewEvent(f1, tbeOnClick, 'OnF1');

  f2 = MyForm.AddNewProButton(mainArea, 'f2', 'Sıvı 2');
  f2.Align = alLeft; f2.Width = 75; f2.Height = 80;
  f2.Margins.Left = 10; 
  f2.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ADD8E6');
  f2.SetclProSettings(f2.clProSettings);
  MyForm.AddNewEvent(f2, tbeOnClick, 'OnF2');

  f4 = MyForm.AddNewProButton(mainArea, 'f4', 'Sıvı 4');
  f4.Align = alRight; f4.Width = 75; f4.Height = 80;
  f4.Margins.Right = 20; 
  f4.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ADD8E6');
  f4.SetclProSettings(f4.clProSettings);
  MyForm.AddNewEvent(f4, tbeOnClick, 'OnF4');

  f3 = MyForm.AddNewProButton(mainArea, 'f3', 'Sıvı 3');
  f3.Align = alRight; f3.Width = 75; f3.Height = 80;
  f3.Margins.Right = 10; 
  f3.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#ADD8E6');
  f3.SetclProSettings(f3.clProSettings);
  MyForm.AddNewEvent(f3, tbeOnClick, 'OnF3');

  // Bilgi ve Reset
  txtInfo = MyForm.AddNewProLabel(MyForm, 'txtInfo', 'Şişelere tıklayarak deneye başlayın.');
  txtInfo.Align = alBottom;
  txtInfo.Height = 50;
  txtInfo.Margins.Bottom = 70;
  txtInfo.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF');
  txtInfo.clProSettings.FontHorzAlign = palCenter;
  txtInfo.SetclProSettings(txtInfo.clProSettings);

  btnReset = MyForm.AddNewProButton(MyForm, 'btnReset', 'TEMİZLE');
  btnReset.Align = alBottom;
  btnReset.Height = 45;
  btnReset.Margins.Bottom = 20;
  btnReset.Margins.Left = 100; btnReset.Margins.Right = 100;
  btnReset.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#CC0000');
  btnReset.SetclProSettings(btnReset.clProSettings);
  MyForm.AddNewEvent(btnReset, tbeOnClick, 'ResetLab');

  ResetLab;
  MyForm.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,047 Saniyede Yüklendi.