Herkeze iyi günler. 1 Formda 2 adet listboxsum var. Amacım listbox1 de secilen veriye göre listbox 2 de liste cıkması örnek olarak.
listbox 1 birden a verisini sectigim zaman a b c d yani a kategorisine ne koyduysam onlar cıksın b secersem b kategorisine neyi koyduysam o cıksın. Forumda arastırma yaptım bir bilgi bulamadım. Simdiden yardımcı olan hocalarıma tesekkür ederim
ListBox 1 Den ListBox 2 Ye Secili Sekilde Veri Aktarma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 3
- Kayıt: 27 Eyl 2016 02:53
Re: ListBox 1 Den ListBox 2 Ye Secili Sekilde Veri Aktarma
Merhaba,
Sorunuz maalesef anlaşılmıyor. Şöyle ki;
1- Kategori ile kastınız nedir? Listbox1 içindeki verileri ve kategori tanımını göndermeniz gerekli.
2- "Çıksın" ile anlatmak istediğiniz Listbox1'den Listbox2 içine taşımak mı? Yoksa kopyalamak mı? Bunu açık bir şekilde ifade etmeniz gerekli.
3- Şu anda çalışmayan ancak düzeltilmesi gereken örnek kod gönderebilir misiniz?
4- Bu bir okul ödevi sorusu mudur?
Sorunuz maalesef anlaşılmıyor. Şöyle ki;
1- Kategori ile kastınız nedir? Listbox1 içindeki verileri ve kategori tanımını göndermeniz gerekli.
2- "Çıksın" ile anlatmak istediğiniz Listbox1'den Listbox2 içine taşımak mı? Yoksa kopyalamak mı? Bunu açık bir şekilde ifade etmeniz gerekli.
3- Şu anda çalışmayan ancak düzeltilmesi gereken örnek kod gönderebilir misiniz?
4- Bu bir okul ödevi sorusu mudur?
-
- Üye
- Mesajlar: 22
- Kayıt: 14 Oca 2017 04:37
Re: ListBox 1 Den ListBox 2 Ye Secili Sekilde Veri Aktarma
Form Create olayına listbox 1 de olmasını istediğin yani a b c leri ekle
ListBOx1.İtems.Add('A');
ListBOx1.İtems.Add('B'); böyle.
Daha sonra listbox1in içine girip
if listbox1.itemindex = 0 then
begin
listbox2.items.add(a1);
listbox2.items.add('a2');
end;
if listbox1.itemindex = 1 then
begin
listbox2.items.add('b1');
listbox2.items.add('b2');
end;
Aynen böyle yazarsan A seçtiğinde a1 a2 gelir B seçtiğinde B1 B2 gelir. Umarım işine yarar
ListBOx1.İtems.Add('A');
ListBOx1.İtems.Add('B'); böyle.
Daha sonra listbox1in içine girip
if listbox1.itemindex = 0 then
begin
listbox2.items.add(a1);
listbox2.items.add('a2');
end;
if listbox1.itemindex = 1 then
begin
listbox2.items.add('b1');
listbox2.items.add('b2');
end;
Aynen böyle yazarsan A seçtiğinde a1 a2 gelir B seçtiğinde B1 B2 gelir. Umarım işine yarar
it seems in your anger you killed her...
Re: ListBox 1 Den ListBox 2 Ye Secili Sekilde Veri Aktarma
Sanırım anladığım şu şekilde.
Örneğin
listbox1 de istanbul ankara izmir bursa diye şehirler var
listbox2 de kadıköy kartal maltepe etlik mamak konak buca nilüfer inegöl diye şehirlere ait ilçeler var
şimdi şehir seçtiğimde o şehre ait ilçeler gelsin diyorsun
Bunun için listview kullanmanı öneririm.
2 adet lsitbox 1 adet de listview ekle
listview viewstyle özelliğini vsList yap daha sonra, columns ekle 2 adet biri adı biri de id diyebilirsin. Daha sonra items editörden New item ekle buraya kadıköy...kartal vs tek tek itemleri ekle ve hepsine subitem olarak listbox1 deki itemindex numrasını yaz
örneğin New item kartal New subitem 0
sonra listview visible false yap görünmesin
listbox1 onclick olayına
kodlarını ekle tamamdır.
DFM dosyası
PAS dosyası
Kolay gelsin
Örneğin
listbox1 de istanbul ankara izmir bursa diye şehirler var
listbox2 de kadıköy kartal maltepe etlik mamak konak buca nilüfer inegöl diye şehirlere ait ilçeler var
şimdi şehir seçtiğimde o şehre ait ilçeler gelsin diyorsun
Bunun için listview kullanmanı öneririm.
2 adet lsitbox 1 adet de listview ekle
listview viewstyle özelliğini vsList yap daha sonra, columns ekle 2 adet biri adı biri de id diyebilirsin. Daha sonra items editörden New item ekle buraya kadıköy...kartal vs tek tek itemleri ekle ve hepsine subitem olarak listbox1 deki itemindex numrasını yaz
örneğin New item kartal New subitem 0
sonra listview visible false yap görünmesin
listbox1 onclick olayına
Kod: Tümünü seç
var
i:byte;
begin
listbox2.Clear;
for I := 0 to ListView1.Items.Count-1 do
if ListView1.Items.Item[i].SubItems[0]=inttostr(listbox1.ItemIndex) then
begin
listbox2.Items.Add(ListView1.Items.Item[i].Caption);
end;
DFM dosyası
Kod: Tümünü seç
object Form1: TForm1
Left = 0
Top = 0
Caption = 'Form1'
ClientHeight = 299
ClientWidth = 635
Color = clBtnFace
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
OldCreateOrder = False
PixelsPerInch = 96
TextHeight = 13
object ListView1: TListView
Left = 304
Top = 120
Width = 73
Height = 81
Columns = <
item
end
item
end>
Items.ItemData = {
05BE0000000400000000000000FFFFFFFFFFFFFFFF01000000FFFFFFFF000000
00076B006100640031016B00F6007900013000A0341F3B00000000FFFFFFFFFF
FFFFFF01000000FFFFFFFF00000000076D0061006C0074006500700065000130
0088331F3B00000000FFFFFFFFFFFFFFFF01000000FFFFFFFF00000000066B00
61007200740061006C00013000F0FD1E3B00000000FFFFFFFFFFFFFFFF010000
00FFFFFFFF00000000056D0061006D0061006B00013100F0F61E3BFFFFFFFFFF
FFFFFF}
TabOrder = 0
ViewStyle = vsList
Visible = False
end
object ListBox1: TListBox
Left = 112
Top = 88
Width = 121
Height = 97
ItemHeight = 13
Items.Strings = (
'istanbul'
'ankara'
'izmir'
'bursa')
TabOrder = 1
OnClick = ListBox1Click
end
object ListBox2: TListBox
Left = 456
Top = 120
Width = 121
Height = 97
ItemHeight = 13
TabOrder = 2
end
end
PAS dosyası
Kod: Tümünü seç
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls;
type
TForm1 = class(TForm)
ListView1: TListView;
ListBox1: TListBox;
ListBox2: TListBox;
procedure ListBox1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ListBox1Click(Sender: TObject);
var
i:byte;
begin
listbox2.Clear;
for I := 0 to ListView1.Items.Count-1 do
if ListView1.Items.Item[i].SubItems[0]=inttostr(listbox1.ItemIndex) then
begin
listbox2.Items.Add(ListView1.Items.Item[i].Caption);
end;
end;
end.
Kolay gelsin
En son onur2x tarafından 18 Oca 2017 06:49 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Re: ListBox 1 Den ListBox 2 Ye Secili Sekilde Veri Aktarma
@onur2x
yazdığın kod ları "code" taglarına alırsan daha anlaşılır olacak. mesajlarını edit edip düzeltebilirsin.
yazdığın kod ları "code" taglarına alırsan daha anlaşılır olacak. mesajlarını edit edip düzeltebilirsin.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!