var
GirisForm: TclForm;
LogoImg : TclImage;
BaslaBtn: TClProButton;
HeaderPanel: TClProPanel;
HeaderLogo: TclImage;
// konu butonları
Buton1, Buton2, Buton3, Buton4, Buton5 : TClProButton;
/*
// soru nesneleri
SoruLabel, SoruNoLabel: TclLabel;
BtnA, BtnB, BtnC, BtnD: TClProButton;
SoruPanel: TClProPanel;
Seckonu: String;
Sorusira: Integer;
Dcevap: String;
BasariYuzdesi: Float;
DogruSayisi: Integer;
void SoruGetir;
{
if (Seckonu == 'ÇARPANLAR VE KATLAR')
{
SoruNoLabel.Text = 'Soru: ' + IntToStr(Sorusira);
if (Sorusira == 1)
{
SoruLabel.Text = '24 sayısının kaç tane pozitif tam sayı çarpanı vardır?';
BtnA.Text = '4';
BtnB.Text = '6';
BtnC.Text = '8';
BtnD.Text = '10';
Dcevap = '8';
}
else if (Sorusira == 2)
{
SoruLabel.Text = 'Aşağıdakilerden hangisi 60 sayısının asal çarpanlarından biri değildir?';
BtnA.Text = '5';
BtnB.Text = '4';
BtnC.Text = '2';
BtnD.Text = '3';
Dcevap = '4';
}
else if (Sorusira == 3)
{
SoruLabel.Text = 'Aralarında asal olan iki sayının EBOBu her zaman kaçtır?';
BtnA.Text = 'Sayıların toplamı';
BtnB.Text = 'Sayıların çarpımı';
BtnC.Text = '1';
BtnD.Text = '0';
Dcevap = '1';
}
else if (Sorusira == 4)
{
SoruLabel.Text = '9 ve 15 sayılarının EKOKu kaçtır?';
BtnA.Text = '3';
BtnB.Text = '30';
BtnC.Text = '45';
BtnD.Text = '90';
Dcevap = '45';
}
else if (Sorusira == 5)
{
SoruLabel.Text = 'Aşağıdaki sayı çiftlerinden hangisi aralarında asaldır?';
BtnA.Text = '8 ve 25';
BtnB.Text = '14 ve 21';
BtnC.Text = '10 ve 20';
BtnD.Text = '6 ve 51';
Dcevap = '8 ve 25';
}
}
else if (Seckonu == 'ÜSLÜ İFADELER')
{
SoruNoLabel.Text = 'Soru: ' + IntToStr(Sorusira);
if (Sorusira == 1)
{
SoruLabel.Text = '(-2)⁴ ifadesinin eşiti nedir?';
BtnA.Text = '-8';
BtnB.Text = '16';
BtnC.Text = '-8';
BtnD.Text = '-16';
Dcevap = '16';
}
else if (Sorusira == 2)
{
SoruLabel.Text = '10⁰ + 1¹⁰⁰ + 0⁵ işleminin sonucu nedir?';
BtnA.Text = '0';
BtnB.Text = '1';
BtnC.Text = '2';
BtnD.Text = '11';
Dcevap = '2';
}
else if (Sorusira == 3)
{
SoruLabel.Text = '(2³)² ifadesi aşağıdakilerden hangisine eşittir?';
BtnA.Text = '8²';
BtnB.Text = '4²';
BtnC.Text = '64²';
BtnD.Text = '2⁵';
Dcevap = '8²';
}
else if (Sorusira == 4)
{
SoruLabel.Text = '3⁵.3³ işleminin sonucu nedir?';
BtnA.Text = '9⁸';
BtnB.Text = '3⁸';
BtnC.Text = '3¹⁵';
BtnD.Text = '6⁸';
Dcevap = '3⁸';
}
else if (Sorusira == 5)
{
SoruLabel.Text = 'Aşağıdaki üslü ifadelerden hangisinin değeri sayı doğrusunda 0 ile 1 arasında değildir?';
BtnA.Text = '(-3)⁻²';
BtnB.Text = '3⁻²';
BtnC.Text = '(-2)⁻³';
BtnD.Text = '2⁻³';
Dcevap = '(-2)⁻³';
}
}
else if (Seckonu == 'KAREKÖKLÜ İFADELER')
{
SoruNoLabel.Text = 'Soru: ' + IntToStr(Sorusira);
if (Sorusira == 1)
{
SoruLabel.Text = '√28 sayısı a√b şeklinde nasıl ifade edilir?';
BtnA.Text = '2√7';
BtnB.Text = '4√7';
BtnC.Text = '7√2';
BtnD.Text = '2√14';
Dcevap = '2√7';
}
else if (Sorusira == 2)
{
SoruLabel.Text = '2√5 sayısı √a şeklinde nasıl ifade edilir?';
BtnA.Text = '√10';
BtnB.Text = '√20';
BtnC.Text = '√7';
BtnD.Text = '√50';
Dcevap = '√20';
}
else if (Sorusira == 3)
{
SoruLabel.Text = '√80 - √20 işleminin sonucu kaçtır?';
BtnA.Text = '√60';
BtnB.Text = '2√5';
BtnC.Text = '2√15';
BtnD.Text = '√40';
Dcevap = '2√5';
}
else if (Sorusira == 4)
{
SoruLabel.Text = '√1,21 ifadesinin değeri aşağıdakilerden hangisidir?';
BtnA.Text = '11';
BtnB.Text = '121';
BtnC.Text = '0,11';
BtnD.Text = '1,1';
Dcevap = '1,1';
}
else if (Sorusira == 5)
{
SoruLabel.Text = 'Aşağıdaki sayılardan hangisi bir tam kare sayı değildir?';
BtnA.Text = '289';
BtnB.Text = '256';
BtnC.Text = '150';
BtnD.Text = '144';
Dcevap = '150';
}
}
else if (Seckonu == 'OLASILIK')
{
SoruNoLabel.Text = 'Soru: ' + IntToStr(Sorusira);
if (Sorusira == 1)
{
SoruLabel.Text = 'Bir torbada 4 kırmızı, 5 mavi ve 3 sarı bilye vardır. Torbadan rastgele çekilen bir bilyenin sarı olmama olasılığı kaçtır?';
BtnA.Text = '1/2';
BtnB.Text = '1/4';
BtnC.Text = '3/4';
BtnD.Text = '5/12';
Dcevap = '3/4';
}
else if (Sorusira == 2)
{
SoruLabel.Text = 'Bir olayın olma olasılığı x ise, olmama olasılığı aşağıdakilerden hangisidir?';
BtnA.Text = '1-x';
BtnB.Text = 'x';
BtnC.Text = '0';
BtnD.Text = '1/x';
Dcevap = '1-x';
}
else if (Sorusira == 3)
{
SoruLabel.Text = '20 kişilik bir sınıfta rastgele seçilen bir öğrencinin erkek olma olasılığı 2/5 tir. Bu sınıfta kaç kız öğrenci vardır?';
BtnA.Text = '8';
BtnB.Text = '10';
BtnC.Text = '12';
BtnD.Text = '15';
Dcevap = '12';
}
else if (Sorusira == 4)
{
SoruLabel.Text = 'MATEMATİK kelimesinin harfleri kartlara yazılıp bir kutuya atılıyor. Çekilen bir kartın üzerinde M harfi yazma olasılığı kaçtır?';
BtnA.Text = '1/3';
BtnB.Text = '2/9';
BtnC.Text = '2/8';
BtnD.Text = '1';
Dcevap = '2/9';
}
else if (Sorusira == 5)
{
SoruLabel.Text = 'Aşağıdaki değerlerden hangisi bir olayın gerçekleşme olasılığı olamaz?';
BtnA.Text = '3/4';
BtnB.Text = '0';
BtnC.Text = '%49,5';
BtnD.Text = '1,2';
Dcevap = '1,2';
}
}
else if (Seckonu == 'CEBİRSEL İFADELER VE ÖZDEŞLİKLER')
{
SoruNoLabel.Text = 'Soru: ' + IntToStr(Sorusira);
if (Sorusira == 1)
{
SoruLabel.Text = '3x²−5x+7 cebirsel ifadesinin katsayılar toplamı kaçtır?';
BtnA.Text = '15';
BtnB.Text = '-2';
BtnC.Text = '10';
BtnD.Text = '5';
Dcevap = '5';
}
else if (Sorusira == 2)
{
SoruLabel.Text = '(x + 4)² ifadesinin özdeşliği aşağıdakilerden hangisidir?';
BtnA.Text = 'x²+4x+8';
BtnB.Text = 'x²+8x+16';
BtnC.Text = 'x²+8x+8';
BtnD.Text = 'x²+16';
Dcevap = 'x²+8x+16';
}
else if (Sorusira == 3)
{
SoruLabel.Text = 'a² - 49 cebirsel ifadesinin çarpanlarına ayrılmış hali hangisidir?';
BtnA.Text = '(a−7)⋅(a−7)';
BtnB.Text = '(a+7)⋅(a+7)';
BtnC.Text = '(a−7)⋅(a−7)';
BtnD.Text = 'a(a-49)';
Dcevap = '(a+7)⋅(a−7)';
}
else if (Sorusira == 4)
{
SoruLabel.Text = '12x²y - 18xy² ifadesinin çarpanlarından biri aşağıdakilerden hangisidir?';
BtnA.Text = '4x';
BtnB.Text = '3y²';
BtnC.Text = '2x-3y';
BtnD.Text = '6x²';
Dcevap = '2x-3y';
}
else if (Sorusira == 5)
{
SoruLabel.Text = 'a = 105 ve b = 100 için a² - 2ab + b² ifadesinin değeri kaçtır?';
BtnA.Text = '5';
BtnB.Text = '100';
BtnC.Text = '42025';
BtnD.Text = '25';
Dcevap = '25';
}
//renk sıfırla
BtnA.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#5c679c');
BtnA.SetclProSettings(BtnA.clProSettings);
BtnB.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#5c679c');
BtnB.SetclProSettings(BtnB.clProSettings);
BtnC.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#5c679c');
BtnC.SetclProSettings(BtnC.clProSettings);
BtnD.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#5c679c');
BtnD.SetclProSettings(BtnD.clProSettings);
}
void Cevap;
{
if (TClProButton(GirisForm.ClSender).Text == Dcevap)
{
DogruSayisi = DogruSayisi + 1;
ShowMessage('Tebrikler! Doğru Cevap.');
}
else
{
ShowMessage('Hatalı Cevap! Doğru cevap: ' + Dcevap);
}
{
if (Sorusira < 5)
{
Sorusira = Sorusira + 1;
SoruGetir;
}
else { ShowMessage('Sorular Bitti! Harikaydın.');
SoruPanel.Visible = False;
LogoImg.Visible = True;
BaslaBtn.Visible = True; }
}
else
{
ShowMessage('Hatalı Cevap, tekrar dene!');
}
if (Sorusira < 5)
{
Sorusira = Sorusira + 1;
SoruGetir;
}
else
{
BasariYuzdesi = (DogruSayisi / 5.0) * 100;
ShowMessage('Sınav Bitti! Doğru Sayısı: '+IntToStr(DogruSayisi)+'Başarı Yüzdesi: %'+ FloatToStr(BasariYuzdesi));
SoruPanel.Visible = False;
LogoImg.Visible = True;
BaslaBtn.Visible = True;
HeaderPanel.Visible = False;
}
*/
//baslama
void OnBaslaClick;
{
// İlk sayfadaki nesneleri gizle
LogoImg.Visible = False;
BaslaBtn.Visible = False;
// 2. Sayfa nesneleri görünür yap
HeaderPanel.Visible = True;
Buton1.Visible = True;
Buton2.Visible = True;
Buton3.Visible = True;
Buton4.Visible = True;
Buton5.Visible = True;
GirisForm.SetFormColor('#FFFFFF', '#E2E8F0', clGVertical);
}
// Konu butonuna tıklandığında çalışacak bölüm
void OnKonuClick;
{
ShowMessage(TClProButton(GirisForm.ClSender).Text + ' konusuna ait alıştırma soruları hazırlanıyor...');
/*
Seckonu = TClProButton(GirisForm.ClSender).Text;
Buton1.Visible = False;
Buton2.Visible = False;
Buton3.Visible = False;
Buton4.Visible = False;
Buton5.Visible = False;
SoruPanel.Visible = True;
Sorusira = 1;
SoruGetir;
*/
}
{
GirisForm = TclForm.Create(Self);
GirisForm.LytTopBar.Visible = False;
GirisForm.SetFormColor('#F8FAFC', '#F8FAFC', clGVertical);
HeaderPanel = GirisForm.AddNewProPanel(GirisForm, 'HeaderPanel');
HeaderPanel.Align = alTop;
HeaderPanel.Height = 95;
HeaderPanel.Margins.Top = 1;
HeaderPanel.Margins.Left = 1;
HeaderPanel.Margins.Right = 1;
HeaderPanel.Visible = False;
clComponent.SetupComponent(HeaderPanel, '{"BorderColor":"#0CB492", "BorderWidth":2, "BackgroundColor":"#F8FAFC"}');
HeaderLogo = GirisForm.AddNewImage(HeaderPanel, 'HeaderLogo');
HeaderLogo.Align = alCenter;
HeaderLogo.Width = 300;
HeaderLogo.Height = 90;
GirisForm.setImage(HeaderLogo, ' https://i.ibb.co/b5GkB1yn/logo.png" rel="nofollow - https://i.ibb.co/b5GkB1yn/logo.png ');
// Sayfa 1
LogoImg = GirisForm.AddNewImage(GirisForm,'LogoImg');
LogoImg.Width = 500;
LogoImg.Height = 500;
GirisForm.setImage(LogoImg,' https://i.ibb.co/b5GkB1yn/logo.png" rel="nofollow - https://i.ibb.co/b5GkB1yn/logo.png ');
BaslaBtn = GirisForm.AddNewProButton(GirisForm, 'BaslaBtn', 'Hadi Başlayalım!');
BaslaBtn.Align = alBottom;
BaslaBtn.Margins.Bottom = 100;
BaslaBtn.Margins.Left = 200;
BaslaBtn.Margins.Right = 200;
BaslaBtn.Height = 50;
BaslaBtn.clProSettings.FontSize = 16;
BaslaBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0CB492');
BaslaBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
BaslaBtn.clProSettings.IsRound = True;
BaslaBtn.clProSettings.RoundHeight = 10;
BaslaBtn.clProSettings.RoundWidth = 10;
BaslaBtn.SetclProSettings(BaslaBtn.clProSettings);
// Sayfa 2
// 1. çarpanlar ve katlar butonu
Buton5 = GirisForm.AddNewProButton(GirisForm, 'Buton5', 'ÇARPANLAR VE KATLAR');
Buton5.Align = alTop;
Buton5.Margins.Top = 15;
Buton5.Margins.Left = 1;
Buton5.Margins.Right = 1;
Buton5.Height = 60;
Buton5.Visible = False;
Buton5.clProSettings.FontSize = 18;
Buton5.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#5c679c');
Buton5.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
Buton5.clProSettings.IsRound = True;
Buton5.clProSettings.RoundHeight = 10;
Buton5.clProSettings.RoundWidth = 10;
Buton5.SetclProSettings(Buton5.clProSettings);
// 2. üslü ifadeler butonu
Buton4 = GirisForm.AddNewProButton(GirisForm, 'Buton4', 'ÜSLÜ İFADELER');
Buton4.Align = alTop;
Buton4.Margins.Top = 15;
Buton4.Margins.Left = 1;
Buton4.Margins.Right = 1;
Buton4.Height = 60;
Buton4.Visible = False;
Buton4.clProSettings.FontSize = 18;
Buton4.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#6d597a');
Buton4.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
Buton4.clProSettings.IsRound = True;
Buton4.clProSettings.RoundHeight = 10;
Buton4.clProSettings.RoundWidth = 10;
Buton4.SetclProSettings(Buton4.clProSettings);
// 3. kareköklü ifadeler butonu
Buton3 = GirisForm.AddNewProButton(GirisForm, 'Buton3', 'KAREKÖKLÜ İFADELER');
Buton3.Align = alTop;
Buton3.Margins.Top = 15;
Buton3.Margins.Left = 1;
Buton3.Margins.Right = 1;
Buton3.Height = 60;
Buton3.Visible = False;
Buton3.clProSettings.FontSize = 18;
Buton3.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#b56576');
Buton3.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
Buton3.clProSettings.IsRound = True;
Buton3.clProSettings.RoundHeight = 10;
Buton3.clProSettings.RoundWidth = 10;
Buton3.SetclProSettings(Buton3.clProSettings);
// 4. olasılık butonu
Buton2 = GirisForm.AddNewProButton(GirisForm, 'Buton2', 'OLASILIK');
Buton2.Align = alTop;
Buton2.Margins.Top = 15;
Buton2.Margins.Left = 1;
Buton2.Margins.Right = 1;
Buton2.Height = 60;
Buton2.Visible = False;
Buton2.clProSettings.FontSize = 18;
Buton2.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c27a69');
Buton2.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
Buton2.clProSettings.IsRound = True;
Buton2.clProSettings.RoundHeight = 10;
Buton2.clProSettings.RoundWidth = 10;
Buton2.SetclProSettings(Buton2.clProSettings);
// 5. cebirsel ifadeler butonu
Buton1 = GirisForm.AddNewProButton(GirisForm, 'Buton1', 'CEBİRSEL İFADELER VE ÖZDEŞLİKLER');
Buton1.Align = alTop;
Buton1.Margins.Top = 15;
Buton1.Margins.Left = 1;
Buton1.Margins.Right = 1;
Buton1.Height = 60;
Buton1.Visible = False;
Buton1.clProSettings.FontSize = 18;
Buton1.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#eaac8b');
Buton1.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
Buton1.clProSettings.IsRound = True;
Buton1.clProSettings.RoundHeight = 10;
Buton1.clProSettings.RoundWidth = 10;
Buton1.SetclProSettings(Buton1.clProSettings);
/*
// Sayfa 3
SoruPanel = GirisForm.AddNewProPanel(GirisForm, 'SoruPanel');
SoruPanel.Align = alClient;
SoruPanel.Visible = False;
SoruNoLabel = GirisForm.AddNewLabel(SoruPanel, 'SoruNoLabel', 'Soru: 1');
SoruNoLabel.Align = alTop; SoruNoLabel.Height = 30;
SoruLabel = GirisForm.AddNewLabel(SoruPanel, 'SoruLabel', '-');
SoruLabel.Align = alTop;
SoruLabel.Height = 80;
SoruLabel.TextSettings.WordWrap = True;
//Seçenek butonları
BtnA = GirisForm.AddNewProButton(SoruPanel, 'BtnA', 'A');
BtnA.Align = alTop;
BtnA.Height = 50;
BtnA.Margins.Top = 10;
BtnA.clProSettings.FontSize = 18;
BtnA.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c1c4d6');
BtnA.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
BtnA.clProSettings.IsRound = True;
BtnA.clProSettings.RoundHeight = 5;
BtnA.clProSettings.RoundWidth = 5;
BtnA.SetclProSettings(BtnA.clProSettings);
BtnB = GirisForm.AddNewProButton(SoruPanel, 'BtnB', 'B');
BtnB.Align = alTop;
BtnB.Height = 50;
BtnB.Margins.Top = 10;
BtnB.clProSettings.FontSize = 18;
BtnB.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c1c4d6');
BtnB.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
BtnB.clProSettings.IsRound = True;
BtnB.clProSettings.RoundHeight = 5;
BtnB.clProSettings.RoundWidth = 5;
BtnB.SetclProSettings(BtnB.clProSettings);
BtnC = GirisForm.AddNewProButton(SoruPanel, 'BtnC', 'C');
BtnC.Align = alTop;
BtnC.Height = 50;
BtnC.Margins.Top = 10;
BtnC.clProSettings.FontSize = 18;
BtnC.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c1c4d6');
BtnC.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
BtnC.clProSettings.IsRound = True;
BtnC.clProSettings.RoundHeight = 5;
BtnC.clProSettings.RoundWidth = 5;
BtnC.SetclProSettings(BtnC.clProSettings);
BtnD = GirisForm.AddNewProButton(SoruPanel, 'BtnD', 'D');
BtnD.Align = alTop;
BtnD.Height = 50;
BtnD.Margins.Top = 10;
BtnD.clProSettings.FontSize = 18;
BtnD.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#c1c4d6');
BtnD.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff');
BtnD.clProSettings.IsRound = True;
BtnD.clProSettings.RoundHeight = 5;
BtnD.clProSettings.RoundWidth = 5;
BtnD.SetclProSettings(BtnD.clProSettings);
*/
// Butonlar
GirisForm.AddNewEvent(BaslaBtn, tbeOnClick, 'OnBaslaClick');
GirisForm.AddNewEvent(Buton1, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(Buton2, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(Buton3, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(Buton4, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(Buton5, tbeOnClick, 'OnKonuClick');
/*
GirisForm.AddNewEvent(BtnA, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(BtnB, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(BtnC, tbeOnClick, 'OnKonuClick');
GirisForm.AddNewEvent(BtnD, tbeOnClick, 'OnKonuClick');
*/
GirisForm.Run;
}