|
8.sınıf müfredatında bulunan periyodik tablo konusundaki ilk 18 element ile ilgili sanal laboratuvar uygulaması hazırlamak istiyorum.Aynı zamada uygulama elementleri metal, ametal,soygaz olarak sınıflandıracak şekilde tasarlanmış olmalıdır.Bu uygulamanın çalışması için gerekli kodu yazmaya çalıştım ancak hata verdi.Hata nereden kaynaklanıyor olabilir.Yardımcı olabilir misiniz?
var AnaForm: TclForm; UstPanel, DetayPanel: TclProPanel; ElementListe: TClProListView; BilgiEtiketi: TclProLabel; // Veri yapıları için TclArray kullanımı (Kitap Bölüm 7'ye uygun) ElementAdlari, ElementSiniflari, ElementBilgileri: TclArray;
procedure ElementSecildi; begin // Seçilen elementin detaylarını alt panelde göster BilgiEtiketi.Text := '📌 Element: ' + ElementAdlari.ItemValue(ElementListe.ItemIndex) + #13 + '🧪 Sınıf: ' + ElementSiniflari.ItemValue(ElementListe.ItemIndex) + #13 + '📝 Özellik: ' + ElementBilgileri.ItemValue(ElementListe.ItemIndex); DetayPanel.Visible := True; end;
begin [span_0](start_span)// Form Oluşturma (Kitap Kod 75 referans alındı)[span_0](end_span) AnaForm := TclForm.Create(Self); AnaForm.SetFormColor('#2C3E50', '#4CA1AF', clGVertical); [span_1](start_span)// Kitap Tablo 14'e uygun geçiş[span_1](end_span)
[span_2](start_span)// Verilerin Hazırlanması (TclArray kullanımı)[span_2](end_span) ElementAdlari := ClsetupArray; ElementAdlari.Add('Hidrojen (H)'); ElementAdlari.Add('Helyum (He)'); ElementAdlari.Add('Lityum (Li)'); ElementAdlari.Add('Berilyum (Be)');
ElementSiniflari := ClsetupArray; ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Soygaz'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Metal');
ElementBilgileri := ClsetupArray; ElementBilgileri.Add('Evrenin en hafif ve en bol elementidir.'); ElementBilgileri.Add('Güneş ve yıldızların temel enerji kaynağıdır.'); ElementBilgileri.Add('En hafif metaldir, şarj edilebilir pillerde kullanılır.'); ElementBilgileri.Add('Hafif ve serttir, uzay teknolojilerinde tercih edilir.');
// Başlık Paneli UstPanel := AnaForm.AddNewProPanel(AnaForm, 'UstPanel'); UstPanel.Align := alTop; UstPanel.Height := 50; UstPanel.Color := clAlphaColor.clHexToColor('#34495E');
// Liste Bileşeni (ProListView) ElementListe := AnaForm.AddNewProListView(AnaForm, 'ElementListe'); ElementListe.Align := alClient; ElementListe.Margins.Top := 5; ElementListe.Margins.Bottom := 5; [span_3](start_span)// Detay Paneli (Bilgi Ekranı)[span_3](end_span) DetayPanel := AnaForm.AddNewProPanel(AnaForm, 'DetayPanel'); DetayPanel.Align := alBottom; DetayPanel.Height := 180; DetayPanel.Visible := False; [span_4](start_span)// Başlangıçta gizli[span_4](end_span) DetayPanel.Color := clAlphaColor.clHexToColor('#ECF0F1');
[span_5](start_span)// Bilgi Etiketi (TclProLabel)[span_5](end_span) BilgiEtiketi := AnaForm.AddNewProLabel(DetayPanel, 'BilgiEtiketi', 'İncelemek için bir element seçin.'); BilgiEtiketi.Align := alClient; BilgiEtiketi.Margins.Left := 20; BilgiEtiketi.Margins.Top := 20; BilgiEtiketi.TextSettings.Font.Size := 15; BilgiEtiketi.TextSettings.Font.Color := clAlphaColor.clHexToColor('#2C3E50');
[span_6](start_span)// Listeyi Verilerle Doldur ve Olayı Bağla (Bölüm 12 referansı)[span_6](end_span) ElementListe.Properties.Items := ElementAdlari; AnaForm.AddNewEvent(ElementListe, tbeOnItemClick, 'ElementSecildi');
[span_7](start_span)// Uygulamayı Çalıştır[span_7](end_span) AnaForm.Run; end;
|