ListBox'tan ListBox'a Veri Aktarma

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

ListBox'tan ListBox'a Veri Aktarma

Mesaj gönderen akrep_57 »

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 10:13

Mesaj gönderen ikutluay »

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 11:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesaj gönderen akrep_57 »

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: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

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 10:13

Mesaj gönderen ikutluay »

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 09:41
Konum: İzmir

Mesaj gönderen NeverFear »

İ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 11:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesaj gönderen akrep_57 »

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: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

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 11:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesaj gönderen akrep_57 »

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: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

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 11:46
Konum: İstanbul

ListBox'tan ListBox'a Veri Aktarma

Mesaj gönderen akrep_57 »

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..
konu ile ilgili olarak yardımlarınıza ihtiyacım var....
En son akrep_57 tarafından 01 Eyl 2022 11:39 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Mesaj gönderen unicorn64 »

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 10:13

Mesaj gönderen ikutluay »

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 11:46
Konum: İstanbul

Listbox to Csv or EXEL

Mesaj gönderen akrep_57 »

Yardımlarınız için teşekkürler.
Cevapla