![]() |
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. |
Döngüyü düzgün çalıştıramıyorum |
Yanıt Yaz ![]() |
Yazar | |
kaanl0 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: konya Durum: Aktif Değil Puanlar: 11 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: 7 Saat 35 Dakika Önce Saat 18:10 |
Merhaba hocam üzerinde çalıştığım projede bir problem yaşıyorum karışıklığın önüne geçmek sadeleştirip sadece problemi size anlatabileceğim kısımları size atıyorum Sorunum ise homepage'de 4 tane isim var bu isimleri her döngüde sırayla uPlayer isimli unitte yazdırmak istiyorum 1. ismi başarılı bir şekilde yazdırıyor sonra tekrardan uPlayer unitine gelince 2. ismide yazdırıyor fakat 3. ve 4. ismi asla alamıyorum
------------------Ana Kod---------- uses homepage; { try Clomosy.rununit('homepage'); except ShowMessage('General Error '+'Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } ---------------------'homepage' isimli unit----------------- var MainForm: TclForm; listpnl:TclProPanel; pname1,pname2,pname3,pname4:TClProLabel; startbtn:TClProButton; void listpnlV { listpnl = mainform.AddNewPropanel(mainform,'listpnl'); listpnl.Align = alClient; listpnl.Margins.Bottom = 390; listpnl.Margins.Top = 20; listpnl.Margins.Right = 30; listpnl.Margins.Left = 23; listpnl.clProSettings.ColCount = 1; listpnl.clProSettings.ItemHeight = 100; listpnl.clProSettings.ItemSpace = 10; listpnl.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFCFF'); listpnl.clProSettings.BorderColor = clAlphaColor.clHexToColor('#524c4c'); listpnl.clProSettings.BorderWidth = 5; listpnl.clProSettings.RoundHeight = 5; listpnl.clProSettings.RoundWidth =3; listpnl.SetclProSettings(listpnl.clProSettings); pname1 = mainform.AddNewProLabel(listpnl, 'pname1','Kaan'); pname1.Align = alMostTop; pname1.Width = 300; pname1.Height = 55; pname1.Margins.Left = 150; pname1.margins.top = 20; pname1.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); pname1.clProSettings.FontSize =28; pname1.clProSettings.TextSettings.Font.Style = [fsItalic]; pname1.SetclProSettings(pname1.clProSettings) pname2 = mainform.AddNewProLabel(listpnl, 'pname2','Eren'); pname2.Align = alTop; pname2.Width = 300; pname2.Height = 55; pname2.Margins.Left = 150; pname2.margins.top = 30; pname2.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); pname2.clProSettings.FontSize =28; pname2.clProSettings.TextSettings.Font.Style = [fsItalic]; pname2.SetclProSettings(pname2.clProSettings) pname3 = mainform.AddNewProLabel(listpnl, 'pname3','Sülo'); pname3.Align = alTop; pname3.Width = 300; pname3.Height = 55; pname3.Margins.Left = 150; pname3.margins.top = 30; pname3.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); pname3.clProSettings.FontSize =28; pname3.clProSettings.TextSettings.Font.Style = [fsItalic]; pname3.SetclProSettings(pname3.clProSettings) pname4 = mainform.AddNewProLabel(listpnl, 'pname4','Samet'); pname4.Align = alTop; pname4.Width = 300; pname4.Height = 55; pname4.Margins.Left = 150; pname4.margins.top = 30; pname4.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); pname4.clProSettings.FontSize =28; pname4.clProSettings.TextSettings.Font.Style = [fsItalic]; pname4.SetclProSettings(pname4.clProSettings) } void startbtnV { startbtn = mainform.AddNewProButton(mainform,'startbtn','Oyunu Başlat'); startbtn.Align = alCenter; startbtn.Width = 250; startbtn.Height = 100; startbtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#ffffff'); startbtn.clProSettings.FontSize = 24; startbtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#000000'); startbtn.clProSettings.BorderWidth = 2; startbtn.clProSettings.RoundWidth = 50; startbtn.clProSettings.RoundHeight = 50; startbtn.Margins.top= 350; startbtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#081368'); //startbtn.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing //startbtn.clProSettings.FontHorzAlign = palCenter; startbtn.clProSettings.TextSettings.Font.Style = [fsBold]; //startbtn.clProSettings.IsFill = True; startbtn.SetclProSettings(startbtn.clProSettings); mainform.AddNewEvent(startbtn,tbeOnClick,'startgameV'); } void startgameV { Clomosy.RunUnit('uPlayer'); } { mainform = TclForm.Create(Self); listpnlV; startbtnV; mainform.FormWaiting.Visible = False; mainform.BtnFormMenu.Visible = False; mainform.BtnGoBack.Visible=False; mainform.Run; } --------------'uPlayer' isimli unit-------------------- uses homepage; var mainform2:TclForm; lb1,nameplayer:TClProLabel; okbtn:TClProButton; tempstring: string; void lb1V { lb1= mainform2.AddNewProLabel(mainform2, 'lb1', 'Oyuncu Sırası: '); //lb1.Align = alCenter; lb1.Width = 440; lb1.Height = 50; lb1.margins.bottom=600; lb1.margins.left=200; lb1.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFD700'); lb1.clProSettings.FontSize = 38; //lb1.clProSettings.FontVertAlign = palcenter; //lb1.clProSettings.FontHorzAlign = palLeading; lb1.clProSettings.TextSettings.Font.Style = [fsBold,fsItalic]; //lb1.clProSettings.IsFill = True; //lb1.clProSettings.IsRound = True; lb1.SetclProSettings(lb1.clProSettings); } void nameplayerV { nameplayer= mainform2.AddNewProLabel(mainform2, 'nameplayer', ''); nameplayer.Align = alCenter; nameplayer.Width=Length(pname1.text)*25; nameplayer.Height = 50; nameplayer.margins.bottom=400; nameplayer.clProSettings.FontColor = clAlphaColor.clHexToColor('#35b673'); nameplayer.clProSettings.FontSize = 38; nameplayer.clProSettings.TextSettings.Font.Style = [fsBold,fsItalic]; nameplayer.SetclProSettings(nameplayer.clProSettings); //nameplayer.Width = 130; //nameplayer.margins.left=80; //nameplayer.clProSettings.FontVertAlign = palcenter; //nameplayer.clProSettings.FontHorzAlign = palLeading; //nameplayer.clProSettings.IsFill = True; //nameplayer.clProSettings.IsRound = True; } void okbtnV { okbtn= mainform2.AddNewProButton(mainform2, 'okbtn', 'Tamam'); okbtn.Align = alCenter; okbtn.margins.bottom=210; okbtn.Width = 200; okbtn.Height = 70; okbtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFD700'); okbtn.clProSettings.FontSize = 30; okbtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#DAA520'); okbtn.clProSettings.BorderWidth = 5; okbtn.clProSettings.RoundWidth = 15; okbtn.clProSettings.RoundHeight = 15; okbtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2C7E7E'); mainform2.AddNewEvent(okbtn,tbeOnClick,'WordButtonV'); okbtn.clProSettings.TextSettings.Font.Style = [fsBold,fsItalic]; okbtn.SetclProSettings(okbtn.clProSettings); //okbtn.clProSettings.IsFill = True; //okbtn.clProSettings.FontVertAlign = palcenter;//palLeading , palCenter , palTrailing //okbtn.clProSettings.FontHorzAlign = palCenter; } void playerturn0V { if (nameplayer.text==''){ tempstring = homepage.pname1.Text; nameplayer.Text = tempstring; } } void playerTurn { if(nameplayer.text==homepage.pname1.Text){ tempstring = homepage.pname2.Text; //ShowMessage(tempstring); }else if (tempstring==nameplayer.text){ tempstring = homepage.pname3.Text; }else if (tempstring==nameplayer.text){ tempstring = homepage.pname4.Text; }else if (tempstring==nameplayer.text){ tempstring = homepage.pname1.Text; }else ShowMessage('Çalışmadı'); nameplayer.Text = tempstring; //ShowMessage('nameplayer:'+nameplayer.text + 'player turn çalıştı'); } void WordButtonV { Clomosy.RunUnit('uYourWord'); } { mainform2 = TclForm.Create(Self); lb1V; nameplayerV; okbtnV; playerturn0V; //playerTurn; mainform2.run; } -------------------'uYourWord' isimli unit----------------------- uses uPlayer; var mainform3:TclForm; addwordbtn,okbtn,guessbtn:TClProButton; void okbtnV { Clomosy.RunUnit('uPlayer'); uPlayer.playerTurn; } void addwordbtnV { okbtn= mainform3.AddNewProButton(mainform3, 'okbtn', 'Geri Dön'); okbtn.Align = alCenter; okbtn.Width = 175; okbtn.Height = 60; okbtn.margins.top=25; okbtn.margins.left=30; okbtn.margins.right=30; okbtn.clProSettings.FontSize = 21; okbtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#099ea4'); okbtn.clProSettings.TextSettings.Font.Style = [fsBold]; okbtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#312626'); okbtn.clProSettings.RoundHeight = 15; okbtn.clProSettings.RoundWidth = 15; okbtn.clProSettings.BorderWidth = 2; okbtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#e6efef'); mainform3.AddNewEvent(okbtn,tbeOnClick,'okbtnV') //okbtn.clProSettings.IsFill = True; //okbtn.clProSettings.IsRound = True; okbtn.SetclProSettings(okbtn.clProSettings); } { mainform3=TclForm.Create(self); addwordbtnV; mainform3.run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 307 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
playerTurn fonksiyonunda tempstring değişkeni sürekli güncelleniyor ama nameplayer.text ile karşılaştırma yapılıyor. Bu yüzden 3. ve 4. isimler asla gelmiyor.
currentPlayerIndex: Integer; değişken tanılayıp { if (nameplayer.text == '') { currentPlayerIndex = 1; // İlk oyuncu tempstring = homepage.pname1.Text; nameplayer.Text = tempstring; } } } void playerTurn { { currentPlayerIndex = currentPlayerIndex + 1; if (currentPlayerIndex > 4) { currentPlayerIndex = 1; } case currentPlayerIndex of { 1: tempstring = homepage.pname1.Text; 2: tempstring = homepage.pname2.Text; 3: tempstring = homepage.pname3.Text; 4: tempstring = homepage.pname4.Text; } nameplayer.Text = tempstring; } } |
|
![]() |
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 |