![]() |
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. |
Formun Sıfırlanması |
Yanıt Yaz ![]() |
Yazar | |
kaanl0 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: konya Durum: Aktif Puanlar: 18 |
![]() ![]() ![]() ![]() ![]() Gönderim Zamanı: Dün Saat 14:51 |
Unitimin içinde 1 edit 1de label var editin içindekini labele yazdırıyorum ama farklı bir unite gidip geldiğimde form yeniden oluşturulduğu için label sıfırlanıyor bunu önlemenin bir yolu var mı
|
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 336 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Kaan forumu kapatmak yerine gizlemeyi dener misin?
MyForm.ClHide ile https://www.docs.clomosy.com/index.php?title=TclUnit |
|
![]() |
|
kaanl0 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: konya Durum: Aktif Puanlar: 18 |
![]() ![]() ![]() ![]() ![]() |
Deneme amaçlı dün döngüler için kullandığım kodlara 2 label 1 adet edit ekliyorum ekle butonuna basınca edit e yazdığın kelime ekranda gözükecek . Her unit geçişi içinde clhide ekledim. Burda yapmak istediğim unit değiştirince ekrana yazdırdığım kelimelerin kaybolmaması
------------anakod------------------- uses homepage; var currentPlayerIndex: Integer; { try currentPlayerIndex = 0; Clomosy.rununit('homepage'); except ShowMessage('General Error '+'Exception Class: '+LastExceptionClassName+' Exception Message: '+LastExceptionMessage); } } ------------------homepage----------- var MainForm: TclForm; listpnl: TclProPanel; pname1, pname2, pname3, pname4: TClProLabel; startbtn: TClProButton; currentPlayerIndex: Integer; 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.TextSettings.Font.Style = [fsBold]; startbtn.SetclProSettings(startbtn.clProSettings); mainform.AddNewEvent(startbtn, tbeOnClick, 'startgameV'); } } void startgameV { { //ShowMessage(IntToStr(currentPlayerIndex)); currentPlayerIndex = 0; // İlk oyuncu için sıfırla Clomosy.RunUnit('uPlayer'); mainform.clhide; } } { mainform = TclForm.Create(Self); listpnlV; startbtnV; mainform.FormWaiting.Visible = False; mainform.BtnFormMenu.Visible = False; mainform.BtnGoBack.Visible = False; mainform.Run; } -------------------Uplayer------------------- uses homepage; var mainform2: TclForm; lb1, nameplayer: TClProLabel; okbtn: TClProButton; tempstring: String; void lb1V { { lb1 = mainform2.AddNewProLabel(mainform2, 'lb1', 'Oyuncu Sırası: '); 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.TextSettings.Font.Style = [fsBold, fsItalic]; 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); } } 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); } } void playerturn0V { { // Sıradaki oyuncuya geç currentPlayerIndex = currentPlayerIndex + 1; // 4 oyuncu döngüsü if (currentPlayerIndex > 4) { currentPlayerIndex = 1; } // Oyuncu ismini al 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; } } void WordButtonV { { Clomosy.RunUnit('uYourWord'); mainform2.clhide; } } { mainform2 = TclForm.Create(Self); lb1V; nameplayerV; okbtnV; playerturn0V; // Her seferinde sıradaki oyuncuyu göster mainform2.run; } ------------------uYourWord-------------------- uses uPlayer; var mainform3: TclForm; addwordbtn, okbtn, guessbtn: TClProButton; wordedit:TclProEdit; lb1,lb2:TClProLabel; void addwordsV { if wordedit.Text==''{ ShowMessage('Lütfen Bir İsim Giriniz'); } else if lb1.Text==''{ lb1.Text = AnsiUpperCase(wordedit.Text); } else if lb2.Text==''{ lb2.Text = AnsiUpperCase(wordedit.Text); } else { ShowMessage('Maksimum 2 kelime'); } wordedit.Text = ''; } void word1V { lb1 = mainform3.AddNewProLabel(mainform3, 'lb1', ''); lb1.Width = 250; lb1.Height = 50; //lb1.margins.bottom = 600; //lb1.margins.left = 200; lb1.Align=alCenter; lb1.margins.bottom=200; lb1.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); lb1.clProSettings.FontSize = 38; lb1.clProSettings.TextSettings.Font.Style = [fsBold, fsItalic]; //lb1.clProSettings.BorderWidth = 2; lb1.SetclProSettings(lb1.clProSettings); } void word2V { lb2 = mainform3.AddNewProLabel(mainform3, 'lb2', ''); lb2.Width = 250; lb2.Height = 50; //lb1.margins.bottom = 600; //lb1.margins.left = 200; lb2.Align=alCenter; lb2.margins.bottom=100 lb2.clProSettings.FontColor = clAlphaColor.clHexToColor('#000000'); lb2.clProSettings.FontSize = 38; lb2.clProSettings.TextSettings.Font.Style = [fsBold, fsItalic]; //lb2.clProSettings.BorderWidth = 2; lb2.SetclProSettings(lb2.clProSettings); } void editV { wordedit= mainform3.AddNewProEdit(mainform3, 'wordedit', 'Kelime Giriniz'); wordedit.Align = altop; wordedit.Width = 175; wordedit.Height = 60; wordedit.margins.top=25; wordedit.margins.left=30; wordedit.margins.right=30; wordedit.clProSettings.BorderColor = clAlphaColor.clHexToColor('#312626'); wordedit.clProSettings.RoundHeight = 15; wordedit.clProSettings.RoundWidth = 15; wordedit.clProSettings.BorderWidth = 1; wordedit.maxlength= 8; //wordedit.clProSettings.IsFill = True; //wordedit.clProSettings.IsRound = True; wordedit.SetclProSettings(wordedit.clProSettings); } void okbtnV { { Clomosy.RunUnit('uPlayer'); mainform3.clhide; } } 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.SetclProSettings(okbtn.clProSettings); addwordbtn= mainform3.AddNewProButton(mainform3, 'addwordbtn', 'EKLE'); addwordbtn.Align = altop; addwordbtn.Width = 175; addwordbtn.Height = 60; addwordbtn.margins.top=25; addwordbtn.margins.left=30; addwordbtn.margins.right=30; addwordbtn.clProSettings.FontSize = 21; addwordbtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#099ea4'); addwordbtn.clProSettings.TextSettings.Font.Style = [fsBold]; addwordbtn.clProSettings.BorderColor = clAlphaColor.clHexToColor('#312626'); addwordbtn.clProSettings.RoundHeight = 15; addwordbtn.clProSettings.RoundWidth = 15; addwordbtn.clProSettings.BorderWidth = 2; addwordbtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#e6efef'); mainform3.AddNewEvent(addwordbtn,tbeOnClick,'addwordsV'); addwordbtn.SetclProSettings(addwordbtn.clProSettings); } } { mainform3 = TclForm.Create(Self); addwordbtnV; word1V; word2V; editV; mainform3.run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 336 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Kodlara paylaştığına göre sanırım sorun tam çözülmedi. Hata devam ediyor
|
|
![]() |
|
kaanl0 ![]() Yeni Üye ![]() ![]() Kayıt Tarihi: 16 Eylül 2025 Konum: konya Durum: Aktif Puanlar: 18 |
![]() ![]() ![]() ![]() ![]() |
evet nasıl çözebiliriz ?
|
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 336 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Merhaba Kaan,
Bir kaç çözüm denedim, GlobalVariableString ile yaptım, aşağıda kodu bırakıyorum, ----------------Anakod----------------- var Form1: TCLForm; BtnAnaKod: TclButton; LblAnaKod: TclLabel; uMutfak: TclUnit; void BirimeGit { { uMutfak.UnitName = 'uLogin'; uMutfak.CallerForm = Form1; uMutfak.Run; } } { Form1 = TCLForm.Create(Self); Form1.clSetCaption('Ana Kod'); uMutfak = TclUnit.Create; LblAnaKod = Form1.AddNewLabel(Form1, 'LblAnaKod', 'Ana Kod'); LblAnaKod.Align = alTop; LblAnaKod.Height = 70; LblAnaKod.StyledSettings = ssFamily; LblAnaKod.TextSettings.Font.Size = 20; BtnAnaKod = Form1.AddNewButton(Form1, 'btnAnaKod', 'Birime git!'); BtnAnaKod.Width = 100; Form1.AddNewEvent(BtnAnaKod, tbeOnClick, 'BirimeGit'); Form1.Run; } --------------------uLogin------------------------ var Form2: TCLForm; Button2: TclButton; Edit1: TclEdit; LblBirim: TclLabel; void AnaKodaGit { { // Edit içeriğini global değişkene kaydet Clomosy.GlobalVariableString = Edit1.Text; Form2.clHide; CallerForm.clShow; } } void EditIceriginiYazdir { { // Edit içeriğini label'a yazdır LblBirim.Text = 'Edit içeriği: ' + Edit1.Text; } } { Form2 = TCLForm.Create(Self); Form2.clSetCaption('Birim'); // Label oluştur LblBirim = Form2.AddNewLabel(Form2, 'LblBirim', 'Edit içeriği burada görünecek'); LblBirim.Align = alTop; LblBirim.Height = 50; LblBirim.StyledSettings = ssFamily; LblBirim.TextSettings.Font.Size = 16; LblBirim.TextSettings.Font.Style = [fsBold]; // Edit oluştur Edit1 = Form2.AddNewEdit(Form2, 'Edit1', 'Buraya yazın...'); Edit1.Align = alTop; Edit1.Height = 40; Edit1.Margins.Top = 10; Edit1.Margins.Left = 20; Edit1.Margins.Right = 20; Form2.AddNewEvent(Edit1, tbeOnChange, 'EditIceriginiYazdir'); // Global değişkenden edit içeriğini yükle if (Clomosy.GlobalVariableString <> '') { Edit1.Text = Clomosy.GlobalVariableString; LblBirim.Text = 'Edit içeriği: ' + Edit1.Text; } // Buton oluştur Button2 = Form2.AddNewButton(Form2, 'Button2', 'Ana Koda Dön'); Button2.Align = alTop; Button2.Height = 50; Button2.Margins.Top = 20; Button2.Margins.Left = 20; Button2.Margins.Right = 20; Form2.AddNewEvent(Button2, tbeOnClick, 'AnaKodaGit'); Form2.Run; } |
|
![]() |
|
Emr.Erkmn ![]() Moderatör ![]() Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 336 |
![]() Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
![]() ![]() ![]() ![]() |
Bir diğer çözüm de,
Üye verilerini tutmak için bir lib oluşturup sonra da formu standart unit ile değil de kullanıcı özelinde ister parametrik ister kendi isteğiyle uses olarak kullanıldı. Form kapanırken de veriyi lib de ki değişkene atıldı. Daha farklı yapılarla da yapılabilir. --anakod-- uses uMemberLib,uLogin; var Form1: TCLForm; BtnAnaKod: TclButton; LblAnaKod: TclLabel; uMutfak: TclUnit; LoginForm:TCLForm; void BtnAnaKodOnClick(Sender){ LoginForm = uLogin.Create; uLogin.Edit1.Text = uMemberLib.UserName; LoginForm.Show; } { Form1 = TCLForm.Create(Self); Form1.clSetCaption('Ana Kod'); uMemberLib.Init; LblAnaKod = Form1.AddNewLabel(Form1, 'LblAnaKod', 'Ana Kod'); LblAnaKod.Align = alTop; LblAnaKod.Height = 70; LblAnaKod.StyledSettings = ssFamily; LblAnaKod.TextSettings.Font.Size = 20; BtnAnaKod = Form1.AddNewButton(Form1, 'btnAnaKod', 'Birime git!'); BtnAnaKod.Width = 100; BtnAnaKod.OnClick = 'BtnAnaKodOnClick' Form1.Run; } --------uLogin------------- var Form2: TCLForm; Button2: TclButton; Edit1: TclEdit; LblBirim: TclLabel; void Form2OnCloseQuery{ uMemberLib.UserName = Edit1.Text; } function Create:TCLForm; { Form2 = TCLForm.Create(Self); Form2.AddNewEvent(Form2,tbeOnFormCloseQuery,'Form2OnCloseQuery'); Form2.clSetCaption('Birim'); // Label oluştur LblBirim = Form2.AddNewLabel(Form2, 'LblBirim', 'Edit içeriği burada görünecek'); LblBirim.Align = alTop; LblBirim.Height = 50; LblBirim.StyledSettings = ssFamily; LblBirim.TextSettings.Font.Size = 16; LblBirim.TextSettings.Font.Style = [fsBold]; // Edit oluştur Edit1 = Form2.AddNewEdit(Form2, 'Edit1', 'Buraya yazın...'); Edit1.Align = alTop; Edit1.Height = 40; Edit1.Margins.Top = 10; Edit1.Margins.Left = 20; Edit1.Margins.Right = 20; // Buton oluştur Button2 = Form2.AddNewButton(Form2, 'Button2', 'Ana Koda Dön'); Button2.Align = alTop; Button2.Height = 50; Button2.Margins.Top = 20; Button2.Margins.Left = 20; Button2.Margins.Right = 20; Result = Form2; } void Show{ Form2.Run; } void Hide{ Form2.ClHide; } ----------uMemberlib------------ (Birim dili = TRLibrary) var UserName, Password:string; void init; { UserName = ''; Password = ''; } |
|
![]() |
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 |