Sayfayı Yazdır | Pencereyi Kapat

Formun Sıfırlanması

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Genel Programlama
Forum Adı: Genel İşlemler
Forum Tanımlaması: TRObject dili ile programlama yaparken karşılaşılan genel işlemler
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1206
Tarih: 10 Ekim 2025 Saat 00:10
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Formun Sıfırlanması
Mesajı Yazan: kaanl0
Konu: Formun Sıfırlanması
Mesaj Tarihi: 09 Ekim 2025 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ı



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 09 Ekim 2025 Saat 15:01
Kaan forumu kapatmak yerine gizlemeyi dener misin?
MyForm.ClHide ile 
https://www.docs.clomosy.com/index.php?title=TclUnit" rel="nofollow - https://www.docs.clomosy.com/index.php?title=TclUnit


Mesajı Yazan: kaanl0
Mesaj Tarihi: 09 Ekim 2025 Saat 17:37
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;
}


Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 09 Ekim 2025 Saat 17:51
Kodlara paylaştığına göre sanırım sorun tam çözülmedi. Hata devam ediyor


Mesajı Yazan: kaanl0
Mesaj Tarihi: 09 Ekim 2025 Saat 18:14
evet nasıl çözebiliriz ?



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net