Merhaba Ahmet, Temel mantığın çok iyi olmuş. Kodun içerisinde bazı terimler TRObject yapısıyla uyumlu değil.
var MyForm: TclForm; PnlStart, PnlLens, PnlCell, PnlMicroscope, PnlInfo: TclProPanel; LblTitleStart: TclProLabel; BtnStart: TclProButton; LblTitleLens: TclProLabel; Btn4x, Btn10x, Btn40x, BtnLensBack: TclProButton; LblTitleCell: TclProLabel; BtnPlant, BtnAnimal, BtnCellBack: TclProButton; LblZoom, LblInfoText: TclProLabel; ImgMicroscope: TclProImage; BtnInfo, BtnReset, BtnBackToStart: TclProButton; selectedZoom: String; selectedCell: String; infoVisible: Boolean;
void ShowStartPage; forward; void ShowLensPage; forward; void ShowCellPage; forward; void ShowMicroscopePage; forward; void UpdateMicroscopeView; forward;
void BtnStartClick; { ShowLensPage; }
void BtnLensClick; var ClickedBtn: TclProButton; { ClickedBtn = TclProButton(MyForm.clSender); selectedZoom = ClickedBtn.clTagStr; ShowCellPage; }
void BtnCellClick; var ClickedBtn: TclProButton; { ClickedBtn = TclProButton(MyForm.clSender); selectedCell = ClickedBtn.clTagStr; ShowMicroscopePage; }
void BtnInfoClick; { infoVisible = not infoVisible; PnlInfo.Visible = infoVisible; }
void BtnResetClick; { ShowLensPage; }
void BtnBackToStartClick; { ShowStartPage; }
void UpdateMicroscopeView; var imgUrl: String; infoText: String; { if (selectedCell == 'Plant') { infoText = 'Bitki hücreleri kloroplast içerir ve fotosentez yapar. Hücre duvarları vardır.'; if (selectedZoom == '4x') imgUrl = ' https://via.placeholder.com/300/4CAF50/FFFFFF?text=Bitki+Hucresi+4X" rel="nofollow - https://via.placeholder.com/300/4CAF50/FFFFFF?text=Bitki+Hucresi+4X '; if (selectedZoom == '10x') imgUrl = ' https://via.placeholder.com/300/388E3C/FFFFFF?text=Bitki+Hucresi+10X" rel="nofollow - https://via.placeholder.com/300/388E3C/FFFFFF?text=Bitki+Hucresi+10X '; if (selectedZoom == '40x') imgUrl = ' https://via.placeholder.com/300/1B5E20/FFFFFF?text=Bitki+Hucresi+40X" rel="nofollow - https://via.placeholder.com/300/1B5E20/FFFFFF?text=Bitki+Hucresi+40X '; } else { infoText = 'Hayvan hücrelerinde hücre duvarı ve kloroplast bulunmaz.'; if (selectedZoom == '4x') imgUrl = ' https://via.placeholder.com/300/F44336/FFFFFF?text=Hayvan+Hucresi+4X" rel="nofollow - https://via.placeholder.com/300/F44336/FFFFFF?text=Hayvan+Hucresi+4X '; if (selectedZoom == '10x') imgUrl = ' https://via.placeholder.com/300/D32F2F/FFFFFF?text=Hayvan+Hucresi+10X" rel="nofollow - https://via.placeholder.com/300/D32F2F/FFFFFF?text=Hayvan+Hucresi+10X '; if (selectedZoom == '40x') imgUrl = ' https://via.placeholder.com/300/B71C1C/FFFFFF?text=Hayvan+Hucresi+40X" rel="nofollow - https://via.placeholder.com/300/B71C1C/FFFFFF?text=Hayvan+Hucresi+40X '; }
LblZoom.Text = 'Seçim: ' + selectedZoom + ' | ' + selectedCell + ' Hücresi'; LblInfoText.Text = infoText; ImgMicroscope.clProSettings.PictureSource = imgUrl; ImgMicroscope.SetclProSettings(ImgMicroscope.clProSettings); }
void HideAllPanels; { PnlStart.Visible = False; PnlLens.Visible = False; PnlCell.Visible = False; PnlMicroscope.Visible = False; }
void ShowStartPage; { HideAllPanels; selectedZoom = ''; selectedCell = ''; infoVisible = False; PnlStart.Visible = True; }
void ShowLensPage; { HideAllPanels; selectedZoom = ''; PnlLens.Visible = True; }
void ShowCellPage; { HideAllPanels; selectedCell = ''; PnlCell.Visible = True; }
void ShowMicroscopePage; { HideAllPanels; infoVisible = False; PnlInfo.Visible = False; UpdateMicroscopeView; PnlMicroscope.Visible = True; }
{ MyForm = TclForm.Create(Self); MyForm.SetFormColor('#E8F5E9', '', clGNone);
PnlStart = MyForm.AddNewProPanel(MyForm, 'PnlStart'); PnlStart.Align = alClient; LblTitleStart = MyForm.AddNewProLabel(PnlStart, 'LblTitleStart', 'Sanal Mikroskop'); LblTitleStart.Align = alTop; LblTitleStart.Height = 100; LblTitleStart.Margins.Top = 150; LblTitleStart.clProSettings.FontSize = 32; LblTitleStart.clProSettings.FontHorzAlign = palCenter; LblTitleStart.clProSettings.FontColor = clAlphaColor.clHexToColor('#1B5E20'); LblTitleStart.clProSettings.TextSettings.Font.Style = [fsBold]; LblTitleStart.SetclProSettings(LblTitleStart.clProSettings);
BtnStart = MyForm.AddNewProButton(PnlStart, 'BtnStart', 'Mikroskopa Başla'); BtnStart.Align = alTop; BtnStart.Height = 60; BtnStart.Margins.Left = 50; BtnStart.Margins.Right = 50; BtnStart.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2E7D32'); BtnStart.clProSettings.FontColor = clAlphaColor.clWhite; BtnStart.clProSettings.RoundHeight = 15; BtnStart.clProSettings.RoundWidth = 15; BtnStart.SetclProSettings(BtnStart.clProSettings); MyForm.AddNewEvent(BtnStart, tbeOnClick, 'BtnStartClick');
PnlLens = MyForm.AddNewProPanel(MyForm, 'PnlLens'); PnlLens.Align = alClient; LblTitleLens = MyForm.AddNewProLabel(PnlLens, 'LblTitleLens', '1. Adım: Mercek Seçin'); LblTitleLens.Align = alTop; LblTitleLens.Height = 80; LblTitleLens.Margins.Top = 50; LblTitleLens.clProSettings.FontSize = 24; LblTitleLens.clProSettings.FontHorzAlign = palCenter; LblTitleLens.clProSettings.FontColor = clAlphaColor.clHexToColor('#1B5E20'); LblTitleLens.SetclProSettings(LblTitleLens.clProSettings);
Btn4x = MyForm.AddNewProButton(PnlLens, 'Btn4x', '4X Mercek'); Btn4x.Align = alTop; Btn4x.Height = 60; Btn4x.Margins.Top = 20; Btn4x.Margins.Left = 50; Btn4x.Margins.Right = 50; Btn4x.clTagStr = '4x'; MyForm.AddNewEvent(Btn4x, tbeOnClick, 'BtnLensClick');
Btn10x = MyForm.AddNewProButton(PnlLens, 'Btn10x', '10X Mercek'); Btn10x.Align = alTop; Btn10x.Height = 60; Btn10x.Margins.Top = 20; Btn10x.Margins.Left = 50; Btn10x.Margins.Right = 50; Btn10x.clTagStr = '10x'; MyForm.AddNewEvent(Btn10x, tbeOnClick, 'BtnLensClick');
Btn40x = MyForm.AddNewProButton(PnlLens, 'Btn40x', '40X Mercek'); Btn40x.Align = alTop; Btn40x.Height = 60; Btn40x.Margins.Top = 20; Btn40x.Margins.Left = 50; Btn40x.Margins.Right = 50; Btn40x.clTagStr = '40x'; MyForm.AddNewEvent(Btn40x, tbeOnClick, 'BtnLensClick'); BtnLensBack = MyForm.AddNewProButton(PnlLens, 'BtnLensBack', '‹ Geri Dön'); BtnLensBack.Align = alBottom; BtnLensBack.Height = 60; BtnLensBack.Margins.Bottom = 50; BtnLensBack.Margins.Left = 50; BtnLensBack.Margins.Right = 50; MyForm.AddNewEvent(BtnLensBack, tbeOnClick, 'BtnBackToStartClick');
PnlCell = MyForm.AddNewProPanel(MyForm, 'PnlCell'); PnlCell.Align = alClient;
LblTitleCell = MyForm.AddNewProLabel(PnlCell, 'LblTitleCell', '2. Adım: Hücre Seçin'); LblTitleCell.Align = alTop; LblTitleCell.Height = 80; LblTitleCell.Margins.Top = 50; LblTitleCell.clProSettings.FontSize = 24; LblTitleCell.clProSettings.FontHorzAlign = palCenter; LblTitleCell.clProSettings.FontColor = clAlphaColor.clHexToColor('#1B5E20'); LblTitleCell.SetclProSettings(LblTitleCell.clProSettings);
BtnPlant = MyForm.AddNewProButton(PnlCell, 'BtnPlant', 'Bitki Hücresi (Soğan Zarı vb.)'); BtnPlant.Align = alTop; BtnPlant.Height = 60; BtnPlant.Margins.Top = 20; BtnPlant.Margins.Left = 30; BtnPlant.Margins.Right = 30; BtnPlant.clTagStr = 'Plant'; MyForm.AddNewEvent(BtnPlant, tbeOnClick, 'BtnCellClick');
BtnAnimal = MyForm.AddNewProButton(PnlCell, 'BtnAnimal', 'Hayvan Hücresi (Ağız İçi vb.)'); BtnAnimal.Align = alTop; BtnAnimal.Height = 60; BtnAnimal.Margins.Top = 20; BtnAnimal.Margins.Left = 30; BtnAnimal.Margins.Right = 30; BtnAnimal.clTagStr = 'Animal'; MyForm.AddNewEvent(BtnAnimal, tbeOnClick, 'BtnCellClick'); BtnCellBack = MyForm.AddNewProButton(PnlCell, 'BtnCellBack', '‹ Mercek Seçimine Dön'); BtnCellBack.Align = alBottom; BtnCellBack.Height = 60; BtnCellBack.Margins.Bottom = 50; BtnCellBack.Margins.Left = 50; BtnCellBack.Margins.Right = 50; MyForm.AddNewEvent(BtnCellBack, tbeOnClick, 'BtnResetClick');
PnlMicroscope = MyForm.AddNewProPanel(MyForm, 'PnlMicroscope'); PnlMicroscope.Align = alClient; PnlMicroscope.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#212121'); PnlMicroscope.SetclProSettings(PnlMicroscope.clProSettings);
LblZoom = MyForm.AddNewProLabel(PnlMicroscope, 'LblZoom', '-'); LblZoom.Align = alTop; LblZoom.Height = 50; LblZoom.Margins.Top = 20; LblZoom.clProSettings.FontSize = 18; LblZoom.clProSettings.FontColor = clAlphaColor.clWhite; LblZoom.clProSettings.FontHorzAlign = palCenter; LblZoom.SetclProSettings(LblZoom.clProSettings);
ImgMicroscope = MyForm.AddNewProImage(PnlMicroscope, 'ImgMicroscope'); ImgMicroscope.Align = alTop; ImgMicroscope.Height = 350; ImgMicroscope.Margins.Left = 20; ImgMicroscope.Margins.Right = 20; BtnInfo = MyForm.AddNewProButton(PnlMicroscope, 'BtnInfo', 'Hücre Bilgisini Göster/Gizle'); BtnInfo.Align = alTop; BtnInfo.Height = 50; BtnInfo.Margins.Top = 20; BtnInfo.Margins.Left = 40; BtnInfo.Margins.Right = 40; BtnInfo.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0277BD'); BtnInfo.clProSettings.FontColor = clAlphaColor.clWhite; BtnInfo.SetclProSettings(BtnInfo.clProSettings); MyForm.AddNewEvent(BtnInfo, tbeOnClick, 'BtnInfoClick');
PnlInfo = MyForm.AddNewProPanel(PnlMicroscope, 'PnlInfo'); PnlInfo.Align = alTop; PnlInfo.Height = 80; PnlInfo.Margins.Top = 10; PnlInfo.Margins.Left = 20; PnlInfo.Margins.Right = 20; PnlInfo.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#424242'); PnlInfo.clProSettings.IsRound = True; PnlInfo.clProSettings.RoundHeight = 10; PnlInfo.SetclProSettings(PnlInfo.clProSettings); LblInfoText = MyForm.AddNewProLabel(PnlInfo, 'LblInfoText', 'Bilgi metni...'); LblInfoText.Align = alClient; LblInfoText.clProSettings.FontColor = clAlphaColor.clWhite; LblInfoText.clProSettings.WordWrap = True; LblInfoText.clProSettings.FontHorzAlign = palCenter; LblInfoText.SetclProSettings(LblInfoText.clProSettings);
BtnReset = MyForm.AddNewProButton(PnlMicroscope, 'BtnReset', 'Başka Bir Hücre/Mercek İncele'); BtnReset.Align = alBottom; BtnReset.Height = 55; BtnReset.Margins.Bottom = 10; BtnReset.Margins.Left = 30; BtnReset.Margins.Right = 30; BtnReset.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FF8F00'); BtnReset.clProSettings.FontColor = clAlphaColor.clWhite; BtnReset.clProSettings.RoundHeight = 10; BtnReset.SetclProSettings(BtnReset.clProSettings); MyForm.AddNewEvent(BtnReset, tbeOnClick, 'BtnResetClick');
BtnBackToStart = MyForm.AddNewProButton(PnlMicroscope, 'BtnBackToStart', 'Ana Sayfaya Kapat'); BtnBackToStart.Align = alBottom; BtnBackToStart.Height = 55; BtnBackToStart.Margins.Bottom = 30; BtnBackToStart.Margins.Left = 30; BtnBackToStart.Margins.Right = 30; BtnBackToStart.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#C62828'); BtnBackToStart.clProSettings.FontColor = clAlphaColor.clWhite; BtnBackToStart.clProSettings.RoundHeight = 10; BtnBackToStart.SetclProSettings(BtnBackToStart.clProSettings); MyForm.AddNewEvent(BtnBackToStart, tbeOnClick, 'BtnBackToStartClick');
ShowStartPage; MyForm.Run; }
kodu inceleyebilir misin? https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - 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">
|