DivaneTR Posted January 12, 2013 Share Posted January 12, 2013 Table.Concat() Tablo içerisindeki tüm itemleri tek bir string haline dönüştürmenizi sağlar. İsterseniz itemler arasına ayraç(separator) da ekleyebilirsiniz. Örneğin ; tUyeler = {"Ahmet","Mehmet","Ali"} sUyeler = Table.Concat(tUyeler, ",", 1, TABLE_ALL); kodunu yazdığımızda bize "Ahmet,Mehmet,Ali" diye bir string olarak return verecektir. Table.Count() Tablo içerisindeki itemleri sayar. Number olarak return verir. Örneğin ; nUyeSayisi = Table.Count(tUyeler); Tablomuzdaki Ahmet,Mehmet,Ali itemlerini sayar ve nUyeSayisi değişkenine 3 numarasını atar. Table.Insert() Tablo içerisine yeni item eklemek için kullanılır. İtemi istediğiniz aralığa ekleyebilirsiniz. Table.Insert(tUyeler, 2, Ömer); Tablonun ikinci sırasına yeni bir item eklemiş olduk. Table.Remove() Tablo içerisinden istediğimiz sıradaki itemi silmek için kullanırız. Örneğin ; Table.Remove(tUyeler, 2) Böylece tablo içinde ikinci sırada yer alan itemi silmiş olduk. Table.Sort() Tablo içerisindeki itemleri istediğiniz şekilde sıralar. Örneğin ; Table.Sort(tUyeler, nil); Quote Link to comment Share on other sites More sharing options...
KintaRo Posted January 12, 2013 Share Posted January 12, 2013 Tablolar ve Döngüler Tablolar'daki veriyi çekmek için genelde while ve for döngüsünü kullanırız. for döngüsünü daha önce anlatmıştım. Döngü işlemi hem zaman ve kod kalabalığından tasarruf etmemizi sağlar, hem de bir tabloda kaç adet nesne olduğunu bilmemize gerek kalmadan veriyi çekmemizi sağlar. Çünkü veritabanından veri çekme gibi işlemlerde veritabanında kaç adet satır olduğunu bilemeyiz ve bu işi while döngüsüne bırakırız. O satır adedi bitene kadar veriyi çeker ve işlemi sonlandırır. Örnek olarak yukarıda bahsi geçen tUyeler tablosundaki verileri ListBox'a for döngüsü ile aktaralım:nSay = Table.Count(Uyeler); -- tabloda kaç nesne olduğunu say if nSay ~= 0 then for i,v in pairs(tUyeler) do ListBox.AddItem("ListBox1", v, "") end end -- buradaki i argümanı döngü esnasında o anki nesnenin sıra numarasını verir. v argümanı ise döngü esnasındaki sırada ola n metni verir. -- Yani ilk nesne Ahmet ise "v=Ahmet", "i=1" olacaktır. Sıradaki nesne Mehmet "v=Mehmet", "i=2" olacaktır. Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted January 13, 2013 Author Share Posted January 13, 2013 (edited) @KintaRo : Tablonun olduğu yerde döngü kaçınılmazdır. Anlatımın için teşekkürler. Tablolardan döngü olmadan veri çekmek için tırnak işareti içerisinde item sırasını girmemiz gerekir. Örneğin tablo içerisindeki ikinci elemanı almak için ; tUyeler[2] dememiz gerekir. Tablo itemleri 0'dan başladığı için ikinci elemanımızın item numarası 1 olacaktır. Yani bir diğer yol ; nSay = Table.Count(tUyeler); if nSay ~= 0 then for i=1 nSay do ListBox.AddItem("ListBox1", tUyeler[i], "") end end Lakin ilk örnekteki döngü daha sağlıklı olacaktır. Edited June 7, 2013 by DivaneTR Quote Link to comment Share on other sites More sharing options...
Editor pairs Posted January 13, 2013 Editor Share Posted January 13, 2013 (edited) Tablodan veri çekmek içinde PHP de kullanılan Foreach komutu kullanılabilir. table.foreach({1,"two",3,"four"},function(k,v)Dialog.Message("",v) end) t = { 1,2,"three"; pi=3.14159, banana="yellow" } table.foreachi(t,function(k,v) Dialog.Message("",v) end) Edited January 13, 2013 by pairs Quote Link to comment Share on other sites More sharing options...
KintaRo Posted January 13, 2013 Share Posted January 13, 2013 @DivaneTR; ufak bir hatanı düzelteyim; Tablolar 0 değil 1 indexlidir. Yani 1'den başlar. TreeList gibi bazı nesneler 0 index ile çalışmaktadır. Tablolar eğer 0 ile başlasaydı senin örneğinin şöyle olması gerekirdi: nSay = Table.Count(tUyeler); if nSay ~= 0 then for i=0,nSay-1 do ListBox.AddItem("ListBox1", tUyeler[i], "") end end Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted January 13, 2013 Author Share Posted January 13, 2013 Evet şimdi farkettim, bilgilendirme için teşekkürler. Autoit ile karıştırdım :) Kodu ezbere yazdığım için de hatalı oldu. Quote Link to comment Share on other sites More sharing options...
radyofon Posted January 22, 2013 Share Posted January 22, 2013 Bence bu konu sabitlenmeli. Quote Link to comment Share on other sites More sharing options...
DivaneTR Posted January 22, 2013 Author Share Posted January 22, 2013 (edited) Bu konu değil de anlatımları çoğaltıp tamamladıktan sonra bir arada toparladıktan sonra güzel birşey çıkar inşallah. İşte o zaman sabitlenmesini taleb edebiliriz. Edited January 22, 2013 by DivaneTR Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.