![]() |
| 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. |
Sınıf atama |
Yanıt Yaz
|
| Yazar | |
Nuran Özdemir
Yeni Üye
Kayıt Tarihi: 14 Mayıs 2026 Durum: Aktif Değil Puanlar: 6 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Nuran Özdemir
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Konu: Sınıf atamaGönderim Zamanı: 14 Mayıs 2026 Saat 22:44 |
|
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;
|
|
![]() |
|
kayra.55
Yeni Üye
Kayıt Tarihi: 17 Kasım 2025 Durum: Aktif Değil Puanlar: 32 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 50 Dakika Önce Saat 11:45 |
|
|
|
![]() |
|
kayra.55
Yeni Üye
Kayıt Tarihi: 17 Kasım 2025 Durum: Aktif Değil Puanlar: 32 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 49 Dakika Önce Saat 11:46 |
|
Merhaba Nuran kodunu inceledim ve hatalarını düzelttim hatasız olan kodun aşağıda bulunmaktadır iyi çalışmalar dilerim var AnaForm: TclForm; UstPanel, TabloPaneli, SolKolon, SagKolon, DetayPanel, RenkPaneli: TclProPanel; BaslikEtiketi, SembolEtiketi, SinifEtiketi, BilgiEtiketi: TclProLabel; ElementAdlari, ElementSiniflari, ElementBilgileri: TclArrayString; // --- ANA GÖSTERİM PROSEDÜRÜ --- void Sec(Index: Integer); var sinifBilgisi: String; { sinifBilgisi = ElementSiniflari.GetItem(Index); SembolEtiketi.Text = ElementAdlari.GetItem(Index); SinifEtiketi.Text = '🧪 Sınıfı: ' + sinifBilgisi; BilgiEtiketi.Text = '📝 Bilgi: ' + ElementBilgileri.GetItem(Index); RenkPaneli.clProSettings.BorderColor = clAlphaColor.clHexToColor('#FFFFFF'); RenkPaneli.clProSettings.BorderWidth = 2; RenkPaneli.clProSettings.IsRound = True; RenkPaneli.clProSettings.RoundHeight = 15; RenkPaneli.clProSettings.RoundWidth = 15; // Renkler sadece detay panelinde ortaya çıkacak if (sinifBilgisi == 'Ametal') { RenkPaneli.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#D4AC0D'); } // Koyu Sarı else if (sinifBilgisi == 'Metal') { RenkPaneli.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2980B9'); } // Koyu Mavi else if (sinifBilgisi == 'Soygaz') { RenkPaneli.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#8E44AD'); } // Koyu Mor else if (sinifBilgisi == 'Yarı Metal') { RenkPaneli.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#27AE60'); } // Koyu Yeşil RenkPaneli.SetclProSettings(RenkPaneli.clProSettings); DetayPanel.Visible = True; } // --- 18 BUTON İÇİN GÜVENLİ OLAY TETİKLEYİCİLERİ --- void Sec0; { Sec(0); } void Sec1; { Sec(1); } void Sec2; { Sec(2); } void Sec3; { Sec(3); } void Sec4; { Sec(4); } void Sec5; { Sec(5); } void Sec6; { Sec(6); } void Sec7; { Sec(7); } void Sec8; { Sec(8); } void Sec9; { Sec(9); } void Sec10; { Sec(10); } void Sec11; { Sec(11); } void Sec12; { Sec(12); } void Sec13; { Sec(13); } void Sec14; { Sec(14); } void Sec15; { Sec(15); } void Sec16; { Sec(16); } void Sec17; { Sec(17); } // --- BUTON OLUŞTURMA YARDIMCISI (RENK PARAMETRESİ KALDIRILDI) --- void ButonEkle(KolonSecim: Integer; AName, AText, AEvent: String); var Btn: TclProButton; { if (KolonSecim == 1) { Btn = AnaForm.AddNewProButton(SolKolon, AName, AText); } else { Btn = AnaForm.AddNewProButton(SagKolon, AName, AText); } Btn.Align = alTop; Btn.Height = 35; Btn.Margins.Top = 2; Btn.Margins.Bottom = 2; Btn.Margins.Left = 5; Btn.Margins.Right = 5; // Tüm butonlar tek tip, sade ve şık bir renge büründü Btn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#34495E'); Btn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); Btn.clProSettings.IsRound = True; Btn.clProSettings.RoundHeight = 8; Btn.clProSettings.RoundWidth = 8; Btn.SetclProSettings(Btn.clProSettings); AnaForm.AddNewEvent(Btn, tbeOnClick, AEvent); } { AnaForm = TclForm.Create(Self); AnaForm.SetFormColor('#1E2A38', '#2C3E50', clGVertical); // Daha yumuşak bir arka plan geçişi ElementAdlari = TclArrayString.Create; ElementAdlari.Add('1. Hidrojen (H)'); ElementAdlari.Add('2. Helyum (He)'); ElementAdlari.Add('3. Lityum (Li)'); ElementAdlari.Add('4. Berilyum (Be)'); ElementAdlari.Add('5. Bor (B)'); ElementAdlari.Add('6. Karbon (C)'); ElementAdlari.Add('7. Azot (N)'); ElementAdlari.Add('8. Oksijen (O)'); ElementAdlari.Add('9. Flor (F)'); ElementAdlari.Add('10. Neon (Ne)'); ElementAdlari.Add('11. Sodyum (Na)'); ElementAdlari.Add('12. Magnezyum (Mg)'); ElementAdlari.Add('13. Alüminyum (Al)'); ElementAdlari.Add('14. Silisyum (Si)'); ElementAdlari.Add('15. Fosfor (P)'); ElementAdlari.Add('16. Kükürt (S)'); ElementAdlari.Add('17. Klor (Cl)'); ElementAdlari.Add('18. Argon (Ar)'); ElementSiniflari = TclArrayString.Create; ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Soygaz'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Yarı Metal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Soygaz'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Metal'); ElementSiniflari.Add('Yarı Metal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Ametal'); ElementSiniflari.Add('Soygaz'); ElementBilgileri = TclArrayString.Create; ElementBilgileri.Add('Evrenin en hafif ve en bol elementidir. 1A grubundadır ama METAL DEĞİLDİR!'); ElementBilgileri.Add('Balonlarda kullanılır, yanıcı değildir. Değerlik elektronu 2 olmasına rağmen 8A grubundadır!'); ElementBilgileri.Add('Cep telefonu pillerinin vazgeçilmez hafif metalidir.'); ElementBilgileri.Add('Uzay araçlarında ve uçaklarda hafifliği sebebiyle kullanılır.'); ElementBilgileri.Add('Türkiye rezervinde dünya birincisidir. Isıya dayanıklı cam yapımında kullanılır.'); ElementBilgileri.Add('Canlıların temel taşıdır. Kömür, grafit ve elmasın ana maddesidir.'); ElementBilgileri.Add('Soluduğumuz havanın %78''ini oluşturur. Gübre yapımında kullanılır.'); ElementBilgileri.Add('Havanın %21''ini oluşturur. Solunum ve yanma olayları için şarttır.'); ElementBilgileri.Add('Diş macunlarının yapısında bulunur, çürümeyi önler. En reaktif ametaldir.'); ElementBilgileri.Add('Renkli ışıklı tabelalarda (neon lambalar) bolca kullanılır.'); ElementBilgileri.Add('Sofra tuzunun (NaCl) yapısında bulunur. Suda patlayarak tepkime verir.'); ElementBilgileri.Add('Hafif alaşımlarda ve fotoğraf flaşlarında kullanılır.'); ElementBilgileri.Add('İçecek kutularında ve mutfak folyolarında kullanılan yaygın metaldir.'); ElementBilgileri.Add('Kumun ve akıllı telefon çiplerinin/işlemcilerinin ana maddesidir.'); ElementBilgileri.Add('DNA''nın yapısında ve kibrit uçlarında bulunur.'); ElementBilgileri.Add('Sarı renklidir. Barut ve tarım ilaçları yapımında kullanılır.'); ElementBilgileri.Add('Havuz sularının ve dezenfeksiyon ürünlerinin temelidir.'); ElementBilgileri.Add('Ampullerin içinde ve kaynak işlemlerinde koruyucu gaz olarak kullanılır.'); UstPanel = AnaForm.AddNewProPanel(AnaForm, 'UstPanel'); UstPanel.Align = alTop; UstPanel.Height = 50; BaslikEtiketi = AnaForm.AddNewProLabel(UstPanel, 'BaslikEtiketi', '🔬 İlk 18 Element Dashboard'); BaslikEtiketi.Align = alCenter; BaslikEtiketi.clProSettings.FontSize = 16; BaslikEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); BaslikEtiketi.clProSettings.FontVertAlign = palCenter; BaslikEtiketi.SetclProSettings(BaslikEtiketi.clProSettings); TabloPaneli = AnaForm.AddNewProPanel(AnaForm, 'TabloPaneli'); TabloPaneli.Align = alTop; TabloPaneli.Height = 360; SolKolon = AnaForm.AddNewProPanel(TabloPaneli, 'SolKolon'); SolKolon.Align = alLeft; SolKolon.Width = 180; SagKolon = AnaForm.AddNewProPanel(TabloPaneli, 'SagKolon'); SagKolon.Align = alClient; // Renk karmaşası bitti, tüm butonlar standart eklendi ButonEkle(1, 'Btn0', '1. H (Hidrojen)', 'Sec0'); ButonEkle(1, 'Btn1', '2. He (Helyum)', 'Sec1'); ButonEkle(1, 'Btn2', '3. Li (Lityum)', 'Sec2'); ButonEkle(1, 'Btn3', '4. Be (Berilyum)', 'Sec3'); ButonEkle(1, 'Btn4', '5. B (Bor)', 'Sec4'); ButonEkle(1, 'Btn5', '6. C (Karbon)', 'Sec5'); ButonEkle(1, 'Btn6', '7. N (Azot)', 'Sec6'); ButonEkle(1, 'Btn7', '8. O (Oksijen)', 'Sec7'); ButonEkle(1, 'Btn8', '9. F (Flor)', 'Sec8'); ButonEkle(2, 'Btn9', '10. Ne (Neon)', 'Sec9'); ButonEkle(2, 'Btn10', '11. Na (Sodyum)', 'Sec10'); ButonEkle(2, 'Btn11', '12. Mg (Magnezyum)', 'Sec11'); ButonEkle(2, 'Btn12', '13. Al (Alüminyum)', 'Sec12'); ButonEkle(2, 'Btn13', '14. Si (Silisyum)', 'Sec13'); ButonEkle(2, 'Btn14', '15. P (Fosfor)', 'Sec14'); ButonEkle(2, 'Btn15', '16. S (Kükürt)', 'Sec15'); ButonEkle(2, 'Btn16', '17. Cl (Klor)', 'Sec16'); ButonEkle(2, 'Btn17', '18. Ar (Argon)', 'Sec17'); DetayPanel = AnaForm.AddNewProPanel(AnaForm, 'DetayPanel'); DetayPanel.Align = alClient; DetayPanel.Margins.Top = 10; DetayPanel.Margins.Bottom = 10; DetayPanel.Margins.Left = 10; DetayPanel.Margins.Right = 10; DetayPanel.Visible = False; RenkPaneli = AnaForm.AddNewProPanel(DetayPanel, 'RenkPaneli'); RenkPaneli.Align = alClient; SembolEtiketi = AnaForm.AddNewProLabel(RenkPaneli, 'SembolEtiketi', ''); SembolEtiketi.Align = alTop; SembolEtiketi.Height = 40; SembolEtiketi.clProSettings.FontSize = 20; SembolEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); SembolEtiketi.SetclProSettings(SembolEtiketi.clProSettings); SinifEtiketi = AnaForm.AddNewProLabel(RenkPaneli, 'SinifEtiketi', ''); SinifEtiketi.Align = alTop; SinifEtiketi.Height = 35; SinifEtiketi.clProSettings.FontSize = 16; SinifEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); SinifEtiketi.SetclProSettings(SinifEtiketi.clProSettings); BilgiEtiketi = AnaForm.AddNewProLabel(RenkPaneli, 'BilgiEtiketi', ''); BilgiEtiketi.Align = alClient; BilgiEtiketi.Margins.Top = 10; BilgiEtiketi.Margins.Left = 10; BilgiEtiketi.Margins.Right = 10; BilgiEtiketi.clProSettings.FontSize = 14; BilgiEtiketi.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); BilgiEtiketi.SetclProSettings(BilgiEtiketi.clProSettings); AnaForm.Run; } https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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">
|
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |