Kümeler le yapılabilirmi

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Kümeler le yapılabilirmi

Mesaj gönderen Nemesis2005 »

Selam
başımda bir sorun var işin içinden çıkamadım

elimde bir Field isimlerini olduğu değerler var
(Stok_kodu,stok_adi,Alis_fiat1) gibi

ve ben bunları söyle bir kontrolden geçirmek istiyorum

Kod: Tümünü seç

  for i:=0 to Query1.FieldCount-1 do
  begin
    if (Query1.Fields.Fields[i].FieldName in Sat) Then
    begin
      chklistSec.Items.Add(Query1.Fields.Fields[i].FieldName);
    end;
  end;
burada ki sat elimdeki field isimlerinin olacağı küme olacak ama bir türlü yapamadım.yardımcı olursanız sevinirim.
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Kullanıcı avatarı
miskin
Üye
Mesajlar: 103
Kayıt: 26 Tem 2005 02:02
Konum: Gavuristan

Mesaj gönderen miskin »

TStrings nesnesi ile dene.
TStrings'in, kendi Itemlerinin indexini buldugu, bir funktionu var.

Kod: Tümünü seç

Sat := Tstrings.Create;

for i:=0 to Query1.FieldCount-1 do 
begin 
    if Sat.indexOf(Query1.Fields.Fields[i].FieldName) >= 0 then 
    begin 
      Sat.Add(Query1.Fields.Fields[i].FieldName); 
    end; 
end;
Sat.free;

miskin
Ve Tanri, bütün kullarini davul edecek :)
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Merhaba.
">= 0" derseniz listede varsa demektir, yani varsa yine eklemiş olursunuz..
Kolay gelsin.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); 
type 
kume=set of char; 
var 
th:kume; 
k:integer; 
begin 
th:=['ı','İ','ü','Ü','ş','Ş','ö','Ö','ç','Ç','ğ','Ğ']; 
for k:=1 to length(edit1.text) do 
   begin 
   if edit1.text[k] in th then 
   showmessage('Lütfen Türkçe karekter kullanmayınız.'); 
   end; 
end;
yukarıdaki örneğe bakarsan küme nasıl kullanılmış..

sende sat küme adın ise bu şekilde yap.

Kod: Tümünü seç

for i:=0 to Query1.FieldCount-1 do 
  begin 
    if Query1.Fields.Fields[i].FieldName in Sat Then 
    begin 
      chklistSec.Items.Add(Query1.Fields.Fields[i].FieldName); 
    end; 
  end;
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
miskin
Üye
Mesajlar: 103
Kayıt: 26 Tem 2005 02:02
Konum: Gavuristan

Mesaj gönderen miskin »

bLue aLonE yazdı:Merhaba.
">= 0" derseniz listede varsa demektir, yani varsa yine eklemiş olursunuz..
Kolay gelsin.
evet haklisiniz

Kod: Tümünü seç

Sat := Tstrings.Create; 
for i:=0 to Query1.FieldCount-1 do 
begin 
    if Sat.indexOf(Query1.Fields.Fields[i].FieldName) = -1 then 
      Sat.Add(Query1.Fields.Fields[i].FieldName) 
end; 
Sat.free; 
miskin
Ve Tanri, bütün kullarini davul edecek :)
Nemesis2005
Üye
Mesajlar: 136
Kayıt: 18 Oca 2005 05:24
Konum: İzmir

Mesaj gönderen Nemesis2005 »

Tüm cevap yazan arkadaşlara teşekkürler @vedatkaba'nın yazdığı çuk oturdu. iyi çalışmalar
Her iyinin içinde bir Kötülük.Her Kötnün içide de bir iyilik vardır
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

cuk değil hocam

Kod: Tümünü seç

cukka
oturdu.deilmi yani.kolay gelsin arkadaşlar.........
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

8)
Cevapla