ListBox'tan ListBox'a Veri Aktarma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesajgönderen akrep_57 » 11 Kas 2007 05:44

Resim

Yapmak istediğim Resimde de görüldüğü gibi 2 adet listbox var elimizde birinci listbox'un içinde
bulunan bilgilerden istediğimi ListBox2' ye aktarmak istiyorum ve yine resimden de anlaşılacağı
gibi "EXELE AKTAR" butonuna tıkladığımda Bu seçilen Bilgiler'i DBGrid'ten çekerek exel'e çıkartmasını
yada CSV olarak çıkış yapmasını istiyorum bu konuda bilgisi olanlardan yardımcı olmalarını bekliyorum Şimdiden Teşekkürler....

ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 09:13

Mesajgönderen ikutluay » 11 Kas 2007 06:16

düşüncen güzel ama benim önerim senin için daha basit gelecektir. checklistbox a bir döngü ile field ların yada grid sütun balıklarının açıklamalarını doldur. oradan checked olanları kaydettirirsin.

aşağıdaki kod ehlib gridimde seçtiğim kolonları ewkranda görünür kılan diğerlerini gizleyen od. sanırım dbgrid ilede çalışır.

Kod: Tümünü seç

  j := chklstCols.Items.Count - 1;
    For i := 0 To j Do
     Begin
      If chklstCols.Checked[i] Then
        DbGrid.Columns[i].Visible := True
      Else
        DbGrid.Columns[i].Visible := False;
     End;


chklistcols bir checklistbox tipli değişkendir. i ise normal tamsayı.

Kod: Tümünü seç

  For i :=0 to DbGrid.Columns.Count-1 Do
     chklstCols.Items.Add(DbGrid.Columns[i].Title.Caption);


yukardaki ise bir gridin sütun başlıklarını checliste dolduran kod. burdan ki tıklama sonuçlarına göre ilgili sütunları bir CSV dosyasına yazarsan hem open office hemde excel için çalışan bir export yazmış olacaksı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

akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesajgönderen akrep_57 » 13 Kas 2007 02:29

cevabın için teşekkür ederim ama senin demek istediğini ben tam olarak çözemedim benim yapmak istediğim şekilde yapacak olsak iş çokmu uzun sürer...eğer benim yaptığım gibi yapabilirsek ve bu konuda yardımcı olursanız sevinirim....

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4312
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesajgönderen aslangeri » 13 Kas 2007 08:10

s.a.
listbox1 deki elemanı listbox2 ye atmak için önce listbox1deki eleman seçilir.

Kod: Tümünü seç

listbox2.add(listbox1.items[listbox1.itemindex]);

yukarı aşağı için

Kod: Tümünü seç

listbox2.moveby....

excele aktarma içinse.....
onun için biraz uğraşman gerekecek çünkü vt deki alan isimleri ile listboxdaki alan isimlerinin uyuştuğunu sanmıyorum.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 09:13

Mesajgönderen ikutluay » 13 Kas 2007 09:30

bir checklist boxta alan isimleri gelecek... ordan tık koyduklarını index ve checked ile basitçe işleyeceksin...
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

NeverFear
Üye
Mesajlar: 69
Kayıt: 20 Tem 2004 08:41
Konum: İzmir

Mesajgönderen NeverFear » 15 Kas 2007 05:17

İlgili butonun onclick yordamına;

Kod: Tümünü seç

var    I: integer;
Dosya: string;
begin
  ListBox2.Clear;
  for I:= 0 to ListBox1.Items.Count - 1 do
  begin
     Dosya:= ListBox1.Items.Strings[I];
     ListBox2.Items.Add(Dosya);
  end;
end;
şeklinde bir kodlama yapabilirsin.

akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesajgönderen akrep_57 » 17 Kas 2007 12:21

Merhaba

Kod: Tümünü seç

Listbox3.items.add(listbox2.items[listbox2.itemindex]);

olarak yaptığımda listbox'lar arası veri aktarımı oluyor ama seçilen veri değil tüm veriler aktarılıyor... hata nerede bakabilirmisiniz...

Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4312
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesajgönderen aslangeri » 17 Kas 2007 10:21

s.a.
gönderdiğin kodda bi hata yok.
muhtemelen döngünn içinde yazmışsındır :wink:
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim

akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesajgönderen akrep_57 » 17 Kas 2007 02:33

Yanlız Şöyle birşey var ben burada herhangi bir döngü kullanmadım direk olarak butonun içine yazdım kodu ve tıklama yapıldığı zamanda tüm içeriği aktardı... döngü olrak nasıl birşey yapmam gerekir... ve listbox içinde verileri aşağı yukarı taşıma olayını nasıl yapabilirim...

Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 900
Kayıt: 04 Nis 2006 07:56
Konum: yine yeniden Ankara ^_^

Mesajgönderen unicorn64 » 17 Kas 2007 04:01

bir yanlışınız olmalı.
çünkü

Kod: Tümünü seç

Listbox3.items.add(listbox2.items[listbox2.itemindex]);


bu kod adım adım şu işi yapar:

-listbox2 de seçili olanın index numarasını alır
-listbox2 de verilen indexli elemanı alır
-listbox3 e bu elemanı ekler


buna göre hepsini aktarması imkansız döngü yoksa...

tanımlamalarınızı kontrol edin. bu kodun sadece ilgili butonun onclick eventinde olduğundan emin olun. butonun onclick eventi için başka bir prosedürün atanmamış olduğundan da emin olun

akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesajgönderen akrep_57 » 18 Kas 2007 09:44

Tamam şuan sorun yok aktarma işlemi oluyor yanlız şu konuda bir cevap alabilirsem çok daha iyiolacak sanırım bu işi yapmaya başladım ama benim bu seçtiğim bilgileri ben yaptığım sıralamaya göre exel'e yada csv çıkışı olarak alabilecekmiyim....delphi konusunda yeniyim kendimi geliştirmeye çalışıyorum ama bir yerlerde yarım almadan olmuyor... bu konu ile ilgili olarak online olarak yardım edebilecek olan var ise..

msn : ozcantemp@hotmail.com

konu ile ilgili olarak yardımlarınıza ihtiyacım var....

Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 900
Kayıt: 04 Nis 2006 07:56
Konum: yine yeniden Ankara ^_^

Mesajgönderen unicorn64 » 18 Kas 2007 11:36

standart dbgrid den direk olarak excel e aktarma şansın yk.
kendin biraz kasıp yapman lazım. aslında çok da zor değil forumda excel kullanma hakkında yazılan yazıları okuyarak takıldığın noktalarda da sorarak halledersin.

devepress->cxgrdi direk excel e aktarma işini sağlıyor ama ücretli mi free mi bilmiyorum.

ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 09:13

Mesajgönderen ikutluay » 19 Kas 2007 05:35

cxgrid paralı. ehlib te paralı.

bu arada basit bir döngü kurmak bu kadar zor gelmesin. sen bir adımı at gerisini getiririz sonuçta alan adlarını bilmiyoruz birşey bilmiyoruz. herşeyi devletten beklmeyin:)

yapacağın sadece uzantısı csv olan bir metin dosyası oluşturup alanı buraya yazdırmak excelde bunu direkt açar ki ? forumda bir sürü örnek var.

Kod: Tümünü seç

writeln(textdosya,'"',alandeğerimetin,'",',alandegerisayı,',');


metin ve sayıyı nasıl ayıracağın belli, sonunada virgül koydum sen noktalı virgülde koyabilrsin.
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

akrep_57
Üye
Mesajlar: 12
Kayıt: 01 Tem 2007 10:46
Konum: İstanbul

Listbox to Csv or EXEL

Mesajgönderen akrep_57 » 21 Kas 2007 01:33

Programın bir örneği ekte sunulmuştur buna göre yardımcı olabilirmisiniz......

http://dosya.arsiv.gen.tr/file.php?file=c826816b58b93b9c023462b11a1b894b


“Programlama” sayfasına dön

Kimler çevrimiçi

Bu forumu görüntüleyen kullanıcılar: Bing [Bot], Google [Bot] ve 1 misafir