Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Birden Fazla öğe Nasıl Tek Bir Değişkende Biraraya Getirilir?


PColik
 Share

Recommended Posts

Arkadaşlar muhtemelen iyi bir başlık bulamadım ama sormak istediğim şu;

Mesela ben

Label.SetText(butunyazilar, "Merhaba");

dediğim zaman sayfada benim seçtiğim bütün Labellerin yazısı Merhaba olacak.

Örneğin;

butunyazilar = {"Label1","Label2","Label3"};
Label.SetText(butunyazilar, "Merhaba");

gibi...

Verdiğim örnekteki kodun yanlış olduğunu biliyorum, onu salladım fakat demek istediğimi anladınız muhtemelen. Cevabınızı bekliyorum arkadaşlar...

  • Thanks 1
Link to comment
Share on other sites

object_names = Page.EnumerateObjects();

if (object_names == nil) then
    Dialog.Message("Uyarı", "Yazı objesi yok.", MB_OK, MB_ICONEXCLAMATION);
    
   else
        output_string = "";
        for index, object in pairs(object_names) do
            type = Page.GetObjectType(object);
            if (type == OBJECT_LABEL) then
              	Label.SetText(object, "TNCTR");
            end
        end
    end

Yardım dosyasından giderek şunu uydurdum... Bir butona ekleyip test edin bakalım...

  • Like 2
Link to comment
Share on other sites

Cyph3r, 13.01.2018 - 20:41 yazdı:

object_names = Page.EnumerateObjects();

if (object_names == nil) then
    Dialog.Message("Uyarı", "Yazı objesi yok.", MB_OK, MB_ICONEXCLAMATION);
    
   else
        output_string = "";
        for index, object in pairs(object_names) do
            type = Page.GetObjectType(object);
            if (type == OBJECT_LABEL) then
              	Label.SetText(object, "TNCTR");
            end
        end
    end

Yardım dosyasından giderek şunu uydurdum... Bir butona ekleyip test edin bakalım...

Bu kod çalıştı. Sayfadaki bütün Label'ler üzerinde yaptı işlemi, ben buna istediklerimi ekleyebilir miyim. Mesela Label1, Label2 ve Label3 olsun. Veya Label1, Label2, Paraghraph1 gibi farklı öğeler olsun. O şekilde yapılabilir mi?

Link to comment
Share on other sites

Yapılır...

object_names = Page.EnumerateObjects();

Bu kod sayfadaki objeleri sayarak bir tabloya atıyor... aynı mantıkla kendi tablomuzu oluşturursak sadece oradakilerin yazısını değiştirir. 

Aşağıdaki kodu projenize göre düzenleyip yukarıdaki kod ile değiştirin...

object_names = {"Label1","Label2", "Label4" };

 

  • Like 1
Link to comment
Share on other sites

Cyph3r, 10 saat önce yazdı:

Yapılır...


object_names = Page.EnumerateObjects();

Bu kod sayfadaki objeleri sayarak bir tabloya atıyor... aynı mantıkla kendi tablomuzu oluşturursak sadece oradakilerin yazısını değiştirir. 

Aşağıdaki kodu projenize göre düzenleyip yukarıdaki kod ile değiştirin...


object_names = {"Label1","Label2", "Label4" };

 

Kardeşim aslında bu kodda çalıştı ama sanırım ben biraz acemi olduğum için yine yapmak istediğimi yapamadım :)

Ben direkt yapmaya çalıştığım şeyi söyleyeyim de seni daha fazla uğraştırmim :)

Şimdi Global Functions'a şunu ekledim:

objects = Page.EnumerateObjects();
objects = {"Label1","Label2","Paragraph1"};

Sayfa içine de bir buton ekledim.  O butona bastığım zaman Global'de ki object içindeki öğelerin rengini kırmızı yapacak. SetText gibi basit şeyleri yapabildim ama SetProperties biraz daha farklı galiba, onu yapamadım :(

Link to comment
Share on other sites

Giriş seviyesinden terk AMS ciyim :D fazla bilmiyorum ama globale eklediğin kod hatalı olur şu durumda...  Kendi obje tablomuzu oluşturduğumuz zaman  ....EnumerateObjects kodunu kullanmamıza gerek yok daha...  o kısmı siliyoruz...  renkle ilgili yaptığım deneme de böyle... 

object_names = {"Label1","Label2", "Label4" };

if (object_names == nil) then
    Dialog.Message("Uyarı", "Yazı objesi yok.", MB_OK, MB_ICONEXCLAMATION);
    
   else
        output_string = "";
        for index, object in pairs(object_names) do
            type = Page.GetObjectType(object);
            if (type == OBJECT_LABEL) then
              	tRenk = Label.GetProperties(object);
				tRenk.ColorNormal = Math.RGBToNumber(255, 0, 0);
				Label.SetProperties(object, tRenk);

            end
        end
    end

 

Globalde değil... direkt Page içinde bir butona koyup çalıştırdım...

  • Like 1
Link to comment
Share on other sites

Cyph3r, 19 saat önce yazdı:

Giriş seviyesinden terk AMS ciyim :D fazla bilmiyorum ama globale eklediğin kod hatalı olur şu durumda...  Kendi obje tablomuzu oluşturduğumuz zaman  ....EnumerateObjects kodunu kullanmamıza gerek yok daha...  o kısmı siliyoruz...  renkle ilgili yaptığım deneme de böyle... 


object_names = {"Label1","Label2", "Label4" };

if (object_names == nil) then
    Dialog.Message("Uyarı", "Yazı objesi yok.", MB_OK, MB_ICONEXCLAMATION);
    
   else
        output_string = "";
        for index, object in pairs(object_names) do
            type = Page.GetObjectType(object);
            if (type == OBJECT_LABEL) then
              	tRenk = Label.GetProperties(object);
				tRenk.ColorNormal = Math.RGBToNumber(255, 0, 0);
				Label.SetProperties(object, tRenk);

            end
        end
    end

 

Globalde değil... direkt Page içinde bir butona koyup çalıştırdım...

Bu sefer tamamdır, adamsın :):)

Link to comment
Share on other sites

pairs, 16.01.2018 - 16:44 yazdı:

İçine paragraph objesi eklersen kod çalışmaz.


if (type == OBJECT_LABEL) then

Çünk burada sadece Label olanlara bu işlemi yapıyor

Paragraph için;

if (type == OBJECT_PARAGRAPH) then

yaptım. Bu doğru değil mi?

Link to comment
Share on other sites

  • 2 hafta sonra ...
  • Editor

Evet dogrudur.  Nesneleri getirdikten sonra her nesnenin tipine bakıp ona göre settext yaparsın. Label.SetText paragraph ta çalışmaz örneğin. O yüzden bu yöntemi kullanmn gerekecek.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...