Delphi 7 - Diğer Formdan Gelen Veri

Aerrow

Üye
Katılım
8 Eki 2012
Mesajlar
94
Puanları
1
Yaş
32
Konum
NETAŞ
Öncelikle Merhabalar...Yapmak istediğim Örnek;1. formdaki label8 nesnesinin değerini 2.formdaki başka bir label nesnesine aktarmak yada public bir değişkene aktarmak ve bu değeri kullanmak.1.formun olayına şu şekilde kod yazdım.form2.Label14.Caption:=form1.Label11.Caption; form 2nin label14 ne geliyor ama bu değeri form2 nin başka yerinde kullanmak istediğmde olmuyor.Yani değer gözüküyor ama kullanamıyorum.
 
Merhaba,

Label nesnesinin alt özelliklerinden olan caption ( String ) değerini normalde string olarak kullabilirsin.
Eğer nesne değerini sayısal olarak işlem yapmak istiyorsan inttostr veya floattostr fonksiyonlarını kullanman gerekli.

Bir de her nesne sonuç olarak kendi parent olan forma bağımlıdır ortak alanlarda kendine dair değişkenleri bu işlemler için kullanabilirsin.

Ayrıca ekte örnek bir projeyi görebilirsin.

Ekli dosyayı görüntüle anotherform.rar
 
İlginiz için teşekkürler ama ya ben anlayamadım ya da olmuyo.Değeri görüyorum ama işleme sokamıyorum.Yani bir şarta tabi tutamıyorum.Ben direk kodları yazıyım yardımcı olabilirseniz sevinirim.

procedure TForm2.ListBox1Click(Sender: TObject);
begin
label10.Caption:=ListBox1.Items.Strings
[ListBox1.ItemIndex];
ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('select salon_no,id from seans where seans_saati='+QuotedStr(ListBox1.Items.Strings
[ListBox1.ItemIndex]));
ADOquery1.Open; ADOquery1.First;
Label8.Caption:= ADOquery1.Fields[0].asstring;
Label11.Caption:= ADOquery1.Fields[1].asstring; // Bu kısım benim form2 deki değerim
end;


Burası form3
ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('select koltuk_no from musteriler where seans_id='+QuotedStr('burası gelecek değeri kullanmak istediğim yer'));
ADOquery1.Open;
ADOquery1.First;
while not ADOquery1.Eof do begin
ListBox1.Items.Add(ADOquery1.Fields[0].asstring);
ADOquery1.Next;
end;

Yapmak istediğim şu form2deki kodda tablodan seans_id geliyo
form3 e geçtiğmde seans id ye göre koltuk_nolarını listboxa eklemek istiyorum.
QuotedStr('1') gibi bir ifade yazdığımda seans_id 1 olan koltuklar listeleniyor.
ama bu değeri diğer taraftan çekip yazdığımda olmuyo.
 
bir memo nesnesine QuotedStr(ListBox1.Items.Strings
[ListBox1.ItemIndex]) ile QuotedStr('1') ifadesini ayrı satırlar olarak ekle muhtemelen farklılılar olacaktır.

tabi listbox nesnesi içerisinde 1,2,3,4,5.. şeklinde bir listeyi tuttuğunu varsayıyorum.

diğer kısım ise sql satırını çalıştırmadan önce debug point ile oluşturduğun sql sorgusunu kullandığın database sql konsolunda çalıştırmayı denemeni tavsiye ederim
 
Öncelikle Merhabalar...Yapmak istediğim Örnek;1. formdaki label8 nesnesinin değerini 2.formdaki başka bir label nesnesine aktarmak yada public bir değişkene aktarmak ve bu değeri kullanmak.1.formun olayına şu şekilde kod yazdım.form2.Label14.Caption:=form1.Label11.Caption; form 2nin label14 ne geliyor ama bu değeri form2 nin başka yerinde kullanmak istediğmde olmuyor.Yani değer gözüküyor ama kullanamıyorum.

Herhangi bir formdan diğer bir formun herhanbi bir nesnesine istediğin değeri aktarabilirsin. Aktardıktan sonrada istediğin gibii kullanabilirsin.

Olmayan kodları tam olarak koyarsan yardımcı olalım.

Temel mantık Form2 den Form3 gönderirken:
Form3.Label14.Caption:=Label8.Caption;


Form3 de ise istediğiniz yerde
Değişken:=Label14.Caption;
şeklinde kullanabilirsiniz.

Tcaption ile Tstring türlerinin farklı olduğunu unutmamamak kaydıyla.
 
Son düzenleme:
Herhangi bir formdan diğer bir formun herhanbi bir nesnesine istediğin değeri aktarabilirsin. Aktardıktan sonrada istediğin gibii kullanabilirsin.

Olmayan kodları tam olarak koyarsan yardımcı olalım.

Temel mantık Form2 den Form3 gönderirken:
Form3.Label14.Caption:=Label8.Caption;


Form3 de ise istediğiniz yerde
Değişken:=Label14.Caption;
şeklinde kullanabilirsiniz.

Tcaption ile Tstring türlerinin farklı olduğunu unutmamamak kaydıyla.

Hocam 2. mesajımda da yazıyo tekrar yazıyım istediğm şeyi

procedure TForm2.ListBox1Click(Sender: TObject);
begin
label10.Caption:=ListBox1.Items.Strings

[ListBox1.ItemIndex];

ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('select salon_no,id from seans where seans_saati='+QuotedStr(ListBox1.Items.Strings

[ListBox1.ItemIndex]));

ADOquery1.Open; ADOquery1.First;
Label8.Caption:= ADOquery1.Fields[0].asstring;
Label11.Caption:= ADOquery1.Fields[1].asstring; // Bu kısım benim form2 deki değerim
end;


Burası form3
ADOquery1.Close;
ADOquery1.SQL.Clear;
ADOquery1.SQL.Add('select koltuk_no from musteriler where seans_id='+QuotedStr('burası gelecek değeri kullanmak istediğim yer'));
ADOquery1.Open;
ADOquery1.First;
while not ADOquery1.Eof do begin
ListBox1.Items.Add(ADOquery1.Fields[0].asstring);
ADOquery1.Next;
end;

Yapmak istediğim şu form2deki kodda tablodan seans_id geliyo
form3 e geçtiğmde seans id ye göre koltuk_nolarını listboxa eklemek istiyorum.
QuotedStr('1') gibi bir ifade yazdığımda seans_id 1 olan koltuklar listeleniyor.
ama bu değeri diğer taraftan çekip yazdığımda olmuyo.
 
Ramerturk hocamın sayesinde sorun çözülmüştür.
Teşekkürler...
 

Forum istatistikleri

Konular
128,165
Mesajlar
915,610
Kullanıcılar
449,931
Son üye
mecuxell

Yeni konular

Geri
Üst