Delphi'de Dictionary

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Delphi'de Dictionary

Mesaj gönderen PROGRAMADOR »

İyi çalışmalar,

Ben txt dosyasından bazı verileri alıp bunları bir değişkene atamak istiyorum. Her bir veriyi ayrı ayrı string türündeki değişkene atamak yerine Array gibi tek bir değişkene atamak istiyorum. Örnek vermek gerekirse:

Kod: Tümünü seç

BenimDegiskenim('Deger1'):=txt dosyasından aldığım veri
Kısacası Delphi'de dictionary nesnesi var mı?
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

array tipi delphide var..

bu konuda işinide görür.

benimdizim[0]:= aldığın değer.

array [1..eleman sayısı] of tip olarak tanımlarsın. tip yerine string bye vs ne gerekiyorsa yazarsın. bunu bir döngü içindede işlersin

[] arasına döngü değerini yazarsan sırayla işler
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Ben Veriyi BenimDegiskenim('Deger1') olarak çağırmak istiyorum. Dizilerde bu şekilde çağırmam münkün değil. Vb.net dictionary diye bir tip var ve verileri gösterdiğim şekilde bir değişkene atayabiliyoruz.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

PROGRAMADOR yazdı:Ben Veriyi BenimDegiskenim('Deger1') olarak çağırmak istiyorum. Dizilerde bu şekilde çağırmam münkün değil. Vb.net dictionary diye bir tip var ve verileri gösterdiğim şekilde bir değişkene atayabiliyoruz.
bu şekilde çağırmak size ne getirecek yada götürecek anlamadım.

çok gerekli ise tsringlist kullanın yada kendi tipinizi tanımlayın
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Çünkü txt dosyasından çok fazla veri alacağım. Her verinin index numarasını aklımda tutmak yerine onlara özel ism vermek kullanım açısından da daha cazip.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

sanırım buna uygun bir nesne tanımlamanız daha uygun gibi görünüyor..

yada set yapısı kullanmak...

bir dizi düşünelim 0 dan 10 a... buna uygun birde set tanımlanırsa

(ozellik1,ozellik2) gibi

diziye [indis] yerine [ozellik1] gibi ulaşılabilir.

burdan ötesi beni aşar:)
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Tahmin ediyorum ki Delphi'de de VB.net'teki gibi dictionary nesnesi vardır ya da benzeri. Bilen arkadaşların yanıtlarını bekliyorum.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

http://adventuresdotnet.blogspot.com/20 ... aries.html

hızlıca buraya baktığımda gördüğüm kadarı ile bu olay benim kume li kullanım önerime yakın bir olay. yani sonuçta amac diziye isim vererek ulaşmaksa endirektte olsa işlem ok gibi:)
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Evet dediğiniz gibi. Kendi tipimi dediğiniz gibi yapabilirim. Merak ettiğim böyle bir şeyin Delphi'de olup olmaması. Hem daha az kod yazmış olacağım.

VB.net'te bu olaya bi örnek vereyim.

Kod: Tümünü seç

dim Passwords As New Hashtable() 'şifre puan

'eklemek için
Passwords.Add(sifre, puan)

'Silmek için
passwords.Remove(sifre)

'tüm verileri silmek için
passwords.clear
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Cevapla