[YARDIM] Tablo ve Gridlist

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı skandinav

  • Yeni Üye
  • *
    • İleti: 4
: 29 Mart 2020, 11:11:24
Selamlar, öncelikle yapmak istediğim şey tablodaki elemanı grid'e aktarıcak ve gridde seçilen eleman'n karşılığını label'a aktaracak bir türlü yapamadım yardım edin lütfen.

Kod
local sx, sy = guiGetScreenSize()
local g, u = 350, 300
local x, y = (sx-g)/2, (sy-u)/2

sorulart = { -- Soruları çektim.
   ["Soru"] = "Soru doğru",
   ["Soru1"] = "Soru1 doğru"
}
win = guiCreateWindow(x, y, g, u, "", false)
gridlist = guiCreateGridList(10, 25, 330, 150, false, win)
sorular = guiGridListAddColumn(gridlist, "Sorular", 0.95)
cevap = guiCreateLabel(15, 180, g, u, "", false, win)
guiSetFont(cevap, "default-bold-small")
guiGridListSetSelectionMode(gridlist, 0)

guiGridListClear(gridlist)
for i, v in pairs(sorulart) do
   row = guiGridListAddRow(gridlist)
   guiGridListSetItemText(gridlist,row,sorular,i,false,false)
   guiGridListSetItemData(gridlist,row,sorular,i) -- Burada data olarak aslında direk sayı olarak data verse dedim yani..
--guiGridListSetItemData(gridlist,row,sorular,i+i-1) kısacası i=2 ise 2 daha ekleyip 1 çıkaracak 3 olacak yani, böyle sıra sıra gitsin diye ama olmadı.
end
addEventHandler("onClientGUIClick", getRootElement(), function()
   for i, v in pairs(sorulart) do -- tabloyu tekrar döndürdüm
      local text = guiGridListGetItemData(gridlist, row, sorular) -- datayı çektim
      guiSetText(cevap, v[text]) -- yazıyı ayarladım ama olmadı
   end
end)
 


MTASATURK

[YARDIM] Tablo ve Gridlist
« : 29 Mart 2020, 11:11:24 »

Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #1 : 29 Mart 2020, 12:56:43
Kod
for i, v in pairs(sorulart) do
döngü içerisinde i yi sayı gibi kullanmışsın ancak i senin tablondaki anahtarlar; "Soru" "Soru1"

Kod
local text = guiGridListGetItemData(gridlist, row, sorular)
bu satırda ise row değişkeni tanımsız veya üstteki döngüden kalan son row değerini ifade ediyor, kısacası click fonksiyonunda get data yaptığın kısımda hata var
« Son Düzenleme: 29 Mart 2020, 13:01:41 Gönderen: ertrldtcu »
system
 


Çevrimdışı skandinav

  • Yeni Üye
  • *
    • İleti: 4
Yanıtla #2 : 29 Mart 2020, 18:27:22
Nadil kullanacagim hakkinda bir ornek atarmisin Linki görebilmek için Kayıt olun yada Giriş yapın.

Mesaj Birleştirildi: 29 Mart 2020, 18:30:24
Karşıtını nasıl çebilirim? Linki görebilmek için Kayıt olun yada Giriş yapın.
« Son Düzenleme: 29 Mart 2020, 18:30:24 Gönderen: skandinav »
 


Çevrimdışı wicky

  • hasssssssikome
  • Acemi Üye
  • *
    • İleti: 170
Yanıtla #3 : 29 Mart 2020, 20:43:48
for döngülerini az daha öğrenmen lazım

Kod
for i,v in ipairs(table) do
body...
end
ipairs: tabloda ki elemanları index (sıra) ve value (değer) olarak çevirir
örn;
Kod
table = {
    ["index1"] = "value1",
    ["index2"] = "value2",
    ["index3"] = "value3",
}
for i,v in ipairs(table) do
    print("index: "..i.." value: "..v)
end
çıktısı
--> index: 1 value: value1
--> index: 2 value: value2
--> index: 3 value: value3
pairs: tabloda ki elemanları key (anahtar) value (değer) olarak çevirir
örn:
Kod
table = {
    ["key1"] = "value1",
    ["key2"] = "value2",
    ["key3"] = "value3",
}
for k,v in pairs(table) do
    print("key: "..k.." value: "..v)
end
çıktısı
--> key: key1 value: value1
--> key: key2 value: value2
--> key: key3 value: value3
« Son Düzenleme: 29 Mart 2020, 20:45:38 Gönderen: wicky »
 
Mesajı Beğenenler: MertA178, aslanpogacasi, GrandX, skandinav


Çevrimdışı skandinav

  • Yeni Üye
  • *
    • İleti: 4
Yanıtla #4 : 29 Mart 2020, 21:36:21
Linki görebilmek için Kayıt olun yada Giriş yapın. row'u yapamadım, yardımcı olurmusun
 


Çevrimdışı ertrldtcu

  • Uzman Üye
  • *
    • İleti: 589
Yanıtla #5 : 29 Mart 2020, 21:44:00
Linki görebilmek için Kayıt olun yada Giriş yapın.
ipairs: tabloda ki elemanları index (sıra) ve value (değer) olarak çevirir
örn;
Kod
table = {
    ["index1"] = "value1",
    ["index2"] = "value2",
    ["index3"] = "value3",
}
for i,v in ipairs(table) do
    print("index: "..i.." value: "..v)
end
çıktısı
--> index: 1 value: value1
--> index: 2 value: value2
--> index: 3 value: value3
ipairs sadece indexi sayı olan elemanları döndürmeyi sağlar, verdiğin örneği denedim ve dediğim gibi oldu. Herhangi bi çıktı yok.
system
 


MTASATURK

Ynt: [YARDIM] Tablo ve Gridlist
« Yanıtla #5 : 29 Mart 2020, 21:44:00 »

Çevrimdışı wicky

  • hasssssssikome
  • Acemi Üye
  • *
    • İleti: 170
Yanıtla #6 : 30 Mart 2020, 02:29:38
Linki görebilmek için Kayıt olun yada Giriş yapın.
ipairs sadece indexi sayı olan elemanları döndürmeyi sağlar, verdiğin örneği denedim ve dediğim gibi oldu. Herhangi bi çıktı yok.
uyarın için teşekkürler, daha önce bu şekilde kullanmadığım için bilmiyordum, Lua sitesinde de karşılaşmadım. (ya da kör gözlerim görmemiştir)
 


Çevrimdışı skandinav

  • Yeni Üye
  • *
    • İleti: 4
Yanıtla #7 : 30 Mart 2020, 04:35:06
Linki görebilmek için Kayıt olun yada Giriş yapın. 'e teşekkür ederim.
« Son Düzenleme: 18 Ocak 2021, 11:35:31 Gönderen: Narkoz »
 
Mesajı Beğenenler: MertA178, GrandX