|
Merhabalar yasemin koddun da oluşan sorunları çözdüm aşağıda koddun çalışan hali mevcut iyi çalışmalar dilerim var MyForm: TclForm; TitleLabel, InfoLabel, ScoreLabel: TclLabel; LayoutTop, LayoutInfo, LayoutTable, LayoutButtons, LayoutBottomBar: TclLayout; LayoutRow1, LayoutRow2, LayoutRow3: TclLayout; LayoutAns1, LayoutAns2: TclLayout; BtnMetal, BtnAmetal, BtnYarimetal, BtnSoygaz, BtnReset: TclButton; SelectedElement: String; SelectedBtn: TclButton; CorrectCount: Integer; Btn1, Btn2, Btn3, Btn4, Btn5, Btn6, Btn7, Btn8, Btn9, Btn10: TclButton; Btn11, Btn12, Btn13, Btn14, Btn15, Btn16, Btn17, Btn18: TclButton;
void ElementSelect; var ClickedBtn: TclButton; { ClickedBtn = TclButton(MyForm.clSender); SelectedElement = ClickedBtn.Caption; SelectedBtn = ClickedBtn; InfoLabel.Text = 'SECILEN: ' + SelectedElement + ' -> Grubunu asagidan seciniz.'; }
void CheckClassification; var ClickedClassBtn: TclButton; UserChoice, CorrectClass, SearchStr: String; { if (SelectedElement == '') { InfoLabel.Text = 'UYARI: Lutfen once yukaridan bir element seciniz!'; } else { ClickedClassBtn = TclButton(MyForm.clSender); UserChoice = ClickedClassBtn.Caption; CorrectClass = ''; SearchStr = ',' + SelectedElement + ','; if (Pos(SearchStr, ',H,C,N,O,F,P,S,Cl,') > 0) { CorrectClass = 'Ametal'; } else if (Pos(SearchStr, ',He,Ne,Ar,') > 0) { CorrectClass = 'Soy Gaz'; } else if (Pos(SearchStr, ',Li,Be,Na,Mg,Al,') > 0) { CorrectClass = 'Metal'; } else if (Pos(SearchStr, ',B,Si,') > 0) { CorrectClass = 'Yarimetal'; } if (UserChoice == CorrectClass) { CorrectCount = CorrectCount + 1; InfoLabel.Text = 'DOGRU! ' + SelectedElement + ' elementi ' + CorrectClass + ' grubundadir.'; SelectedBtn.Enabled = False; SelectedElement = ''; ScoreLabel.Text = 'Skor: ' + IntToStr(CorrectCount) + ' / 18'; if (CorrectCount == 18) { InfoLabel.Text = 'TEBRIKLER! Tum elementleri basariyla tamamladiniz!'; } } else { InfoLabel.Text = 'YANLIS! ' + SelectedElement + ' bir ' + UserChoice + ' degildir. Tekrar dene!'; } } }
void ResetGame; { Btn1.Enabled = True; Btn2.Enabled = True; Btn3.Enabled = True; Btn4.Enabled = True; Btn5.Enabled = True; Btn6.Enabled = True; Btn7.Enabled = True; Btn8.Enabled = True; Btn9.Enabled = True; Btn10.Enabled = True; Btn11.Enabled = True; Btn12.Enabled = True; Btn13.Enabled = True; Btn14.Enabled = True; Btn15.Enabled = True; Btn16.Enabled = True; Btn17.Enabled = True; Btn18.Enabled = True; SelectedElement = ''; CorrectCount = 0; InfoLabel.Text = 'Laboratuvar sifirlandi. Bir element secerek baslayin.'; ScoreLabel.Text = 'Skor: 0 / 18'; }
{ MyForm = TclForm.Create(Self); SelectedElement = ''; CorrectCount = 0;
// --- 1. UST BASLIK ALANI --- LayoutTop = MyForm.AddNewLayout(MyForm, 'LayoutTop'); LayoutTop.Align = alTop; LayoutTop.Height = 50;
TitleLabel = MyForm.AddNewLabel(LayoutTop, 'TitleLabel', '8. Sinif Ilk 18 Element Laboratuvari'); TitleLabel.Align = alClient; TitleLabel.Margins.Top = 10; TitleLabel.Margins.Left = 10;
// --- 2. BILGI VE SKOR PANELI --- LayoutInfo = MyForm.AddNewLayout(MyForm, 'LayoutInfo'); LayoutInfo.Align = alTop; LayoutInfo.Height = 40; LayoutInfo.Margins.Left = 10; LayoutInfo.Margins.Right = 10;
ScoreLabel = MyForm.AddNewLabel(LayoutInfo, 'ScoreLabel', 'Skor: 0 / 18'); ScoreLabel.Align = alRight; ScoreLabel.Width = 80;
InfoLabel = MyForm.AddNewLabel(LayoutInfo, 'InfoLabel', 'Tablodan bir element seciniz.'); InfoLabel.Align = alClient;
// --- 3. MUTLAK UYUMLU PERIYODIK TABLO ALANI --- LayoutTable = MyForm.AddNewLayout(MyForm, 'LayoutTable'); LayoutTable.Align = alClient; LayoutTable.Margins.Left = 10; LayoutTable.Margins.Right = 10; LayoutTable.Margins.Top = 15;
// 1. Periyot (H solda, He sagda - Gercek duzen) LayoutRow1 = MyForm.AddNewLayout(LayoutTable, 'LayoutRow1'); LayoutRow1.Align = alTop; LayoutRow1.Height = 42; LayoutRow1.Margins.Bottom = 6; Btn1 = MyForm.AddNewButton(LayoutRow1, 'Btn1', 'H'); Btn1.Align = alLeft; Btn1.Width = 38; Btn2 = MyForm.AddNewButton(LayoutRow1, 'Btn2', 'He'); Btn2.Align = alRight; Btn2.Width = 38;
// 2. Periyot (8 Element eksiksiz yan yana) LayoutRow2 = MyForm.AddNewLayout(LayoutTable, 'LayoutRow2'); LayoutRow2.Align = alTop; LayoutRow2.Height = 42; LayoutRow2.Margins.Bottom = 6; Btn3 = MyForm.AddNewButton(LayoutRow2, 'Btn3', 'Li'); Btn3.Align = alLeft; Btn3.Width = 38; Btn3.Margins.Right = 2; Btn4 = MyForm.AddNewButton(LayoutRow2, 'Btn4', 'Be'); Btn4.Align = alLeft; Btn4.Width = 38; Btn4.Margins.Right = 2; Btn5 = MyForm.AddNewButton(LayoutRow2, 'Btn5', 'B'); Btn5.Align = alLeft; Btn5.Width = 38; Btn5.Margins.Right = 2; Btn6 = MyForm.AddNewButton(LayoutRow2, 'Btn6', 'C'); Btn6.Align = alLeft; Btn6.Width = 38; Btn6.Margins.Right = 2; Btn7 = MyForm.AddNewButton(LayoutRow2, 'Btn7', 'N'); Btn7.Align = alLeft; Btn7.Width = 38; Btn7.Margins.Right = 2; Btn8 = MyForm.AddNewButton(LayoutRow2, 'Btn8', 'O'); Btn8.Align = alLeft; Btn8.Width = 38; Btn8.Margins.Right = 2; Btn9 = MyForm.AddNewButton(LayoutRow2, 'Btn9', 'F'); Btn9.Align = alLeft; Btn9.Width = 38; Btn9.Margins.Right = 2; Btn10 = MyForm.AddNewButton(LayoutRow2, 'Btn10', 'Ne'); Btn10.Align = alLeft; Btn10.Width = 38;
// 3. Periyot (8 Element eksiksiz yan yana) LayoutRow3 = MyForm.AddNewLayout(LayoutTable, 'LayoutRow3'); LayoutRow3.Align = alTop; LayoutRow3.Height = 42; Btn11 = MyForm.AddNewButton(LayoutRow3, 'Btn11', 'Na'); Btn11.Align = alLeft; Btn11.Width = 38; Btn11.Margins.Right = 2; Btn12 = MyForm.AddNewButton(LayoutRow3, 'Btn12', 'Mg'); Btn12.Align = alLeft; Btn12.Width = 38; Btn12.Margins.Right = 2; Btn13 = MyForm.AddNewButton(LayoutRow3, 'Btn13', 'Al'); Btn13.Align = alLeft; Btn13.Width = 38; Btn13.Margins.Right = 2; Btn14 = MyForm.AddNewButton(LayoutRow3, 'Btn14', 'Si'); Btn14.Align = alLeft; Btn14.Width = 38; Btn14.Margins.Right = 2; Btn15 = MyForm.AddNewButton(LayoutRow3, 'Btn15', 'P'); Btn15.Align = alLeft; Btn15.Width = 38; Btn15.Margins.Right = 2; Btn16 = MyForm.AddNewButton(LayoutRow3, 'Btn16', 'S'); Btn16.Align = alLeft; Btn16.Width = 38; Btn16.Margins.Right = 2; Btn17 = MyForm.AddNewButton(LayoutRow3, 'Btn17', 'Cl'); Btn17.Align = alLeft; Btn17.Width = 38; Btn17.Margins.Right = 2; Btn18 = MyForm.AddNewButton(LayoutRow3, 'Btn18', 'Ar'); Btn18.Align = alLeft; Btn18.Width = 38;
// Element Butonlari Tiklama Olaylari MyForm.AddNewEvent(Btn1, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn2, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn3, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn4, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn5, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn6, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn7, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn8, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn9, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn10, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn11, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn12, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn13, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn14, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn15, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn16, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn17, tbeOnClick, 'ElementSelect'); MyForm.AddNewEvent(Btn18, tbeOnClick, 'ElementSelect');
// --- 4. EN ALT ALAN: SIFIRLAMA BARBARI --- LayoutBottomBar = MyForm.AddNewLayout(MyForm, 'LayoutBottomBar'); LayoutBottomBar.Align = alBottom; LayoutBottomBar.Height = 50; LayoutBottomBar.Margins.Left = 15; LayoutBottomBar.Margins.Right = 15; LayoutBottomBar.Margins.Bottom = 10;
BtnReset = MyForm.AddNewButton(LayoutBottomBar, 'BtnReset', 'Laboratuvari Yeniden Baslat'); BtnReset.Align = alClient; MyForm.AddNewEvent(BtnReset, tbeOnClick, 'ResetGame');
// --- 5. SINIFLANDIRMA SECENEKLERI (2x2 Genis Butonlar) --- LayoutButtons = MyForm.AddNewLayout(MyForm, 'LayoutButtons'); LayoutButtons.Align = alBottom; LayoutButtons.Height = 110; LayoutButtons.Margins.Left = 15; LayoutButtons.Margins.Right = 15; LayoutButtons.Margins.Bottom = 5;
// Cevap Grubu 1. Satir LayoutAns1 = MyForm.AddNewLayout(LayoutButtons, 'LayoutAns1'); LayoutAns1.Align = alTop; LayoutAns1.Height = 50; LayoutAns1.Margins.Bottom = 6;
BtnMetal = MyForm.AddNewButton(LayoutAns1, 'BtnMetal', 'Metal'); BtnMetal.Align = alLeft; BtnMetal.Width = 140;
BtnAmetal = MyForm.AddNewButton(LayoutAns1, 'BtnAmetal', 'Ametal'); BtnAmetal.Align = alRight; BtnAmetal.Width = 140;
// Cevap Grubu 2. Satir LayoutAns2 = MyForm.AddNewLayout(LayoutButtons, 'LayoutAns2'); LayoutAns2.Align = alTop; LayoutAns2.Height = 50;
BtnYarimetal = MyForm.AddNewButton(LayoutAns2, 'BtnYarimetal', 'Yarimetal'); BtnYarimetal.Align = alLeft; BtnYarimetal.Width = 140;
BtnSoygaz = MyForm.AddNewButton(LayoutAns2, 'BtnSoygaz', 'Soy Gaz'); BtnSoygaz.Align = alRight; BtnSoygaz.Width = 140;
// Sınıflandırma Butonları Event Atamaları MyForm.AddNewEvent(BtnMetal, tbeOnClick, 'CheckClassification'); MyForm.AddNewEvent(BtnAmetal, tbeOnClick, 'CheckClassification'); MyForm.AddNewEvent(BtnYarimetal, tbeOnClick, 'CheckClassification'); MyForm.AddNewEvent(BtnSoygaz, tbeOnClick, 'CheckClassification');
MyForm.Run; } https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" rel="nofollow - 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">
|