Jump to content

Tablolar (Table Class)


DivaneTR
 Share

Recommended Posts

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);
 
Link to comment
Share on other sites

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.
Link to comment
Share on other sites

@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 by DivaneTR
Link to comment
Share on other sites

  • Editor

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 by pairs
Link to comment
Share on other sites

@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
Link to comment
Share on other sites

  • 2 hafta sonra ...

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 by DivaneTR
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...