• Forum vBulletin altyapısından Xenforo altyapısına geçirildi, bu sebeple eski şifreleriniz ile foruma giriş yapamayacaksınız, parolamı unuttum adımından mailiniz ile şifre sıfırlayarak giriş yapabilirsiniz.

    Üyeliklerinde geçerli bir mail adresi olmadığı için sıfırlama yapamayacak kullanıcılar forum kullanıcı adlarını ve yeni şifrelerini yazarak info@maxigame.org adresine şifre sıfırlamak istediklerine dair bir mail göndersinler şifrelerini sıfırlayıp mail adreslerini güncelleyeceğiz. Şifreniz sıfırlandıktan sonra foruma giriş yapıp tekrar istediğiniz gibi değiştirebilirsiniz.

Listbox İçindeki Aynı İtemler

  • Konuyu başlatan Konuyu başlatan Codex
  • Başlangıç tarihi Başlangıç tarihi

Codex

Daimi Üye
Aktiflik
K.Tarihi
14 Ara 2013
Mesajlar
22
Puanı
6
Konum
Kocaeli
merhaba c# ile bir bilgi yarışması yazıyorum tüm puanları bir yerde topluyorum ve her sorunun bitişinde sıralamayı göstermek istiyorum fakat takıldım
Listbox İçinde örneğin
Yıldızlar-10
Yar-10
Yıldızlar-10
kali-10
gibi veriler olsun benim yapmak istediğim başka bir listboxta
Yıldızlar -20
Yar-10
kali-10
şeklinde yazdırmak kafam cok karısık suan yardımcı olabilirmisiniz.
 
merhaba c# ile bir bilgi yarışması yazıyorum tüm puanları bir yerde topluyorum ve her sorunun bitişinde sıralamayı göstermek istiyorum fakat takıldım
Listbox İçinde örneğin
Yıldızlar-10
Yar-10
Yıldızlar-10
kali-10
gibi veriler olsun benim yapmak istediğim başka bir listboxta
Yıldızlar -20
Yar-10
kali-10
şeklinde yazdırmak kafam cok karısık suan yardımcı olabilirmisiniz.

DXj4A1.png


Şuan başarılı bir şekilde çalışıyor ama neden listbox tercih ettin orasını anlamadım. :)

private void Button1_Click(System.Object sender, System.EventArgs e)
{
//Öncelikle bir puan tanımlayalım.
int intPuan = 0;
//Daha sonra aynı olan itemleri arrayList'e eklemek için bir tanım yapalım..
ArrayList arrDizi = new ArrayList();
//Eğer "aynı öğeleri bulursa ya da bulmazsa" diye kontrol eden bir true ve false döndürelim.
bool isDetected = false;
//Aynı olan itemleri listbox2'e aktarmak için kullanacağımız bir string oluşturalım.
string detectedItem = null;
//Önceki bulunan itemi tanımlayalım. Bunun nedeni puan kontrolünün stabil çalışması.
string lastDetectedItem = null;
//Herhangi bir sınırdan, listbox1 'de bulunan item sayısı kadar döngüyü tekrar edip taratalım.
for (a = 0; a <= ListBox1.Items.Count - 1; a++) {
//İtemi bulunmadı olarak tanımlayalım. Yani döngü her başladığında.
isDetected = false;
//Tekrar "a" kümesinin elemanı karar for döngüsüne girelim. "Yani a=2 'i tarıyorsa, 1 için döngü vb."
for (b = 0; b <= a - 1; b++) {
//Eğer itemler birbirleriyle eşleşiyorsa işlem yapalım.
if (ListBox1.Items.Item(a) == ListBox1.Items.Item(b)) {
//İki item aynı olduğu için hangisini almak önemli değil. Biz bunu bir string ifadeye alalım.
detectedItem = ListBox1.Items.Item(a);
//Eğer en son bulunan item şimdikine eşit değilse işlem yapıyoruz.
if (lastDetectedItem != detectedItem) {
//Son bulunan ki item eşit değilse zaten ortada tek item vardır. O yüzden puanı 10 yapıyoruz.
intPuan = 10;
//Ve son bulunanı şimdikine eşitliyoruz.
lastDetectedItem = detectedItem;
//Eğer değilse.
} else {
//Itemler farklıdır. O yüzden bulunan iteme +10 puan veriyoruz.
intPuan += 10;
//If yapısını bitiriyoruz.
}
//İtemi bulduğumuz için "true" değeri döndürebiliriz.
isDetected = true;
//Döngüden çıkalım.
break;
//If yapısını bitirelim.
}
//Diğer aşamaya geçelim.
}
//Eğer herhangibir eleman bulunmaz ise yapacaklarımız.
if (!isDetected) {
//Array dizimize ilk for döngüsünde taranan itemi ekliyoruz.
//Döngü her tarandığında bulunmazsa ekliyoruz. Bunun nedeni listbox'ı temizleyeceğimiz içindir.
arrDizi.Add(ListBox1.Items.Item(a));
//If yapımızı bitiriyoruz.
}
//Diğer itemi taramaya başlıyoruz.
}
//Listbox1 'i temizliyoruz.
ListBox1.Items.Clear();
//Array dizimizi ekliyoruz.
ListBox1.Items.AddRange(arrDizi.ToArray);
//Bulunan iki ya da daha fazla farklı itemi kaldırıyoruz listeden.
//Eğer iki ya da daha fazla yoksa karışmıyoruz.
ListBox1.Items.Remove(detectedItem);
//Bulunan itemleri listBox2 'e aktaralım.
//En sona 10 puan eklememizin sebebi ise silinen bir itemi daha dahil etmek.
ListBox2.Items.Add(detectedItem.ToString + (intPuan + 10));
//Ve arrayı boşaltıyoruz.
arrDizi = null;
}

private void Form1_Load(System.Object sender, System.EventArgs e)
{
ListBox1.Items.Add("Aylar");
ListBox1.Items.Add("Aylar");
ListBox1.Items.Add("Aylar");
ListBox1.Items.Add("Aylar");
ListBox1.Items.Add("Gezegen");
ListBox1.Items.Add("Yıldız");
}
 
Son düzenleme:
Geri
Üst