Ceyai - 23-10-2015 19:31 GMT -
böyle birşey yazdım list.sira yi oluşturuyor ama siraya tekrar girmeye çalıştığımda list.sira ya tekrar ekliyor aynı uidi. sıradan çıkmaya çalıştığımda ise sırada değilsiniz diyor. Bir çözüm yolu bulamadım sorun ne ?
Kod:
ON=1
if (<list.sira.findelem <src.uid>>)
src.sysmessage @1153,,1 Zaten sıradasınız.
return 1
else
list.sira.add <src.uid>
src.sysmessage @1153,,1 sıraya girdiniz.
return 1
endif
ON=2
if (<list.sira.findelem <src.uid>>)
list.sira.<list.sira.findelem>.remove
src.sysmessage @1153,,1 sıradan çıktınız.
return 1
else
src.sysmessage @1153,,1 Sırada değilsiniz.
return 1
endif
böyle birşey yazdım list.sira yi oluşturuyor ama siraya tekrar girmeye çalıştığımda list.sira ya tekrar ekliyor aynı uidi. sıradan çıkmaya çalıştığımda ise sırada değilsiniz diyor. Bir çözüm yolu bulamadım sorun ne ?
Epihaltes - 23-10-2015 22:19 GMT -
sıradan bide böyle çıkar
Kod:
local.elem <list.sira.findelem <src>>
list.sira.<dlocal.elem>.remove
sıradan bide böyle çıkar
Ceyai - 23-10-2015 22:32 GMT -
Sıraya girdikten sonra sıradan çıkmaya çalıştığımda sırada değilsiniz diyor. Sırayada 1 den fazla kez girebiliyorum. Böyle olduğu içinde sizin dediğinizi deneyemiyorum.
Bu satır en başta doğru çalışmıyor.
EDİT:
Şöyle birşey yaparak çalışır hale getirdim ama yinede neden ilk yazımdaki gibi çalışmadığını ve doğrusunun ne olduğunu öğrenmek istiyorum. Çalışan hali
Son güncelleme: Ceyai tarafından 23-10-2015 22:50 GMT tarihinde, önce.
Sıraya girdikten sonra sıradan çıkmaya çalıştığımda sırada değilsiniz diyor. Sırayada 1 den fazla kez girebiliyorum. Böyle olduğu içinde sizin dediğinizi deneyemiyorum.
Kod:
if (<list.sira.findelem <src.uid>>)
Bu satır en başta doğru çalışmıyor.
EDİT:
Şöyle birşey yaparak çalışır hale getirdim ama yinede neden ilk yazımdaki gibi çalışmadığını ve doğrusunun ne olduğunu öğrenmek istiyorum. Çalışan hali
Kod:
ON=1
for 0 <list.sira.count>
if (<list.sira.<dlocal._for>> == <src.uid>)
src.sysmessage @1153,,1 Zaten sıradasınız.
return 1
elseif !(<list.sira.<dlocal._for>> == <src.uid>)
list.sira.add <src.uid>
src.sysmessage @1153,,1 sıraya girdiniz.
return 1
endif
endif
endfor
ON=2
for 0 <list.sira.count>
if (<list.sira.<dlocal._for>> == <src.uid>)
list.sira.<dlocal._for>.remove
src.sysmessage @1153,,1 sıradan çıktınız.
return 1
elseif !(<list.sira.<dlocal._for>> == <src.uid>)
src.sysmessage @1153,,1 Sırada değilsiniz.
return 1
endif
endif
endfor
Son güncelleme: Ceyai tarafından 23-10-2015 22:50 GMT tarihinde, önce.
System_Error - 24-10-2015 17:55 GMT -
-1 olan kısım bazı sürümlerde 0 oluyor bu şekilde dene birde. for'a da bağlayabilirsin bunu.
Kod:
LOCAL.ELEM <LIST.SIRA.FINDELEM <SRC>>
IF !(<DLOCAL.ELEM> == -1)
SRC.SYSMESSAGE <SRC.NAME> listede bulunuyor.
ELSE
SRC.SYSMESSAGE <SRC.NAME> listede bulunmuyor.
ENDIF
-1 olan kısım bazı sürümlerde 0 oluyor bu şekilde dene birde. for'a da bağlayabilirsin bunu.
Ceyai - 24-10-2015 18:28 GMT -
findelem eğer kişi o list içinde ise kaçıncı sırada olduğunu vermiyormu ? yani ilk sırada ise 0 bazı sürümlerde -1 , 2.sırada ise 1 değerini vermiyormu. Öyleyse sizin dediğiniz gibi yaptığımda ilk sıradaki hariç listede bulunan diğer kişilerde listede bulunmuyor cevabını alacaklar.
findelem eğer kişi o list içinde ise kaçıncı sırada olduğunu vermiyormu ? yani ilk sırada ise 0 bazı sürümlerde -1 , 2.sırada ise 1 değerini vermiyormu. Öyleyse sizin dediğiniz gibi yaptığımda ilk sıradaki hariç listede bulunan diğer kişilerde listede bulunmuyor cevabını alacaklar.
Kod:
<list.sira.findelem <src.uid>>
Bu kısmın çalışmasında bir sıkıntı var sadece. Eğer bunun başka bir kullanılış şekli yok ise for ile yaptığım gibi kullanacağım. Epihaltes - 24-10-2015 19:30 GMT -
işin olur yanlarını söyledik daha başka ne sorun olabilir bilmeyecem olmadı sql ile yap listeni
işin olur yanlarını söyledik daha başka ne sorun olabilir bilmeyecem olmadı sql ile yap listeni
Ceyai - 24-10-2015 19:35 GMT -
Teşekkür ederim.
Teşekkür ederim.