Veri Gönderen Procedure Yapmak ?
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Veri Gönderen Procedure Yapmak ?
Arkadaşalar herkeze selamlar ve şimdiden teşekkürler.
Bayağı araştırmama rağmen bulamadım birşey. Ya araştırma yöntemim yanlış yada bulamamam normal.
Sorum : Manuel olarak oluşturduğumuz procedure'lerden nasıl veri yollayabiliriz.
Örneğin :
Test diye bir procedure oluşturdum. Ben bunu Test(Veri1,Veri2,Veri3); diye kullandığımda her virgülden sonraki viriyi procedure aktarıp procedurde ona göre alıp işlem yapmak istiyorum.
Mesela :
Resim seç diye bir procedure yaptım varsayalım.
ResimSec(LoadEdilecekMateryal,ResimKodu,ResimYolu);
ResimSec(image1,Mavi,'Dosyalar\Resimler\Mavi.bmp');
Şeklinde ve bunu procedure'içerisinde alıp.
procedure ResimSec();
Begin
//veri1 = materyali alacak
//veri2 = Kodu alacak
//veri3 = yolu olacak
//veri1 materyaline veri2 koduna göre veri3 dizinindeki resmi yükleyecek
End;
Umarım anlatabilmişimdir. Saygılar.
Bayağı araştırmama rağmen bulamadım birşey. Ya araştırma yöntemim yanlış yada bulamamam normal.
Sorum : Manuel olarak oluşturduğumuz procedure'lerden nasıl veri yollayabiliriz.
Örneğin :
Test diye bir procedure oluşturdum. Ben bunu Test(Veri1,Veri2,Veri3); diye kullandığımda her virgülden sonraki viriyi procedure aktarıp procedurde ona göre alıp işlem yapmak istiyorum.
Mesela :
Resim seç diye bir procedure yaptım varsayalım.
ResimSec(LoadEdilecekMateryal,ResimKodu,ResimYolu);
ResimSec(image1,Mavi,'Dosyalar\Resimler\Mavi.bmp');
Şeklinde ve bunu procedure'içerisinde alıp.
procedure ResimSec();
Begin
//veri1 = materyali alacak
//veri2 = Kodu alacak
//veri3 = yolu olacak
//veri1 materyaline veri2 koduna göre veri3 dizinindeki resmi yükleyecek
End;
Umarım anlatabilmişimdir. Saygılar.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Veri Gönderen Procedure Yapmak ?
Bir procedure geçilen parametrenin tekrar geriye dönemesini sağlayan "var" tanımından mı bahsediyorsunuz ? Tam olarak anlayamadım. Biraz daha izah edebilir misiniz ?
Re: Veri Gönderen Procedure Yapmak ?
Bir procedure oluşturdum anlatmaya çalıştığım şekilde yaptım ve bu provedureyi combobox'un chaning eventine koydum diyelim. Ve seçilen iteme göre chaningde işlettim varsayalım.
Örneğin :
if Combobox.itemindex = 0 Then
Begin
ResimSec(image1,Mavi,'Dosyalar\Resim\Mavi.bmp');
End
Else if Combobox.itemindex = 1 Then
Begin
ResimSec(image1,Yesil,'Dosyalar\Resim\Yesil.bmp');
End
şeklinde procedure verileri yolladıktan sonra gelen verileri sırasıyla işleticem. İlk gelen veri resimin yükleneceği image materyalini belirliyor ikinci veri resmin kıs kodunu veriyor. Ve devamında procedure içinde o koda göre if ve else if ile resmi ilk verideki materyale yükleticem. Bahsettiğim örnekten bu şekilde açıklayabilirim sanırım.
Örneğin :
if Combobox.itemindex = 0 Then
Begin
ResimSec(image1,Mavi,'Dosyalar\Resim\Mavi.bmp');
End
Else if Combobox.itemindex = 1 Then
Begin
ResimSec(image1,Yesil,'Dosyalar\Resim\Yesil.bmp');
End
şeklinde procedure verileri yolladıktan sonra gelen verileri sırasıyla işleticem. İlk gelen veri resimin yükleneceği image materyalini belirliyor ikinci veri resmin kıs kodunu veriyor. Ve devamında procedure içinde o koda göre if ve else if ile resmi ilk verideki materyale yükleticem. Bahsettiğim örnekten bu şekilde açıklayabilirim sanırım.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Veri Gönderen Procedure Yapmak ?
ResimSec isimli procedure'niz de parametre olmayacak mı ? Sizin istediğiniz ResimSec procedure'si
procedure ResimSec(const Image : TImage; const Color : TColor; const FileName : String);
begin
if not FileExists(FileName) then raise Exception.Create('Belirtilen dosya bulunamadı.!');
if Assigned(Image) then
Image.Picture.LoadFromFile(FileName);
end;
..
..
case ComboBox1.ItemIndex of
0 : ResimSec(Image1, clBlue, 'c:\Mavi.bmp');
1 : ResimSec(Image2, clRed , 'c:\Kirmizi.bmp');
end;
..
..
gibi görünüyor. Bu ResimSec içinde tam olarak ne yapmak istiyorsunuz ?
procedure ResimSec(const Image : TImage; const Color : TColor; const FileName : String);
begin
if not FileExists(FileName) then raise Exception.Create('Belirtilen dosya bulunamadı.!');
if Assigned(Image) then
Image.Picture.LoadFromFile(FileName);
end;
..
..
case ComboBox1.ItemIndex of
0 : ResimSec(Image1, clBlue, 'c:\Mavi.bmp');
1 : ResimSec(Image2, clRed , 'c:\Kirmizi.bmp');
end;
..
..
gibi görünüyor. Bu ResimSec içinde tam olarak ne yapmak istiyorsunuz ?
Re: Veri Gönderen Procedure Yapmak ?
Kod: Tümünü seç
procedure Deneme(Test1: String; var Test2: Integer; var Test3: Char);
begin
..
if DogruCevap=False then
Test2:=2
else
Test2:=5;
..
..
end;
/////////////////////
..
var
GeriDoncekDeger: Integer;
GerDoncekChar: Char;
begin
Deneme('Deneme123', GeriDonecekDeger, GerDoncekChar);
end;
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Veri Gönderen Procedure Yapmak ?
iki cevap içinde teşekkür ederim ama yetersiz oldu benim için.
Gelen ilk değer bir itemi teşkil edicek örneğin Deneme(image1);
image1 geldiyse ilk değer bunu ekstra ekstra uzatmayarak image1'i alıp form üzerindeki image1 diye bir item varsa yüklemeyi ona yapacak.
Yani tekrar bir örnek vericek olursam.
Procedure işletme kısmı
procedure Deneme();
Begin
item1.picture.loadfromfile:=(item2);
End
Procedure gönderimide şu şekilde
Deneme(item1,item2);
item1 yerine = image1 yada image2 vs vs...
item2 yerine = 'C:\Mavi.bmp' yada 'D:\Mavi.jpg' vs vs...
item1 işlem yapılacak form üzerindeki bir itemi teşkil etmeli.
Gelen ilk değer bir itemi teşkil edicek örneğin Deneme(image1);
image1 geldiyse ilk değer bunu ekstra ekstra uzatmayarak image1'i alıp form üzerindeki image1 diye bir item varsa yüklemeyi ona yapacak.
Yani tekrar bir örnek vericek olursam.
Procedure işletme kısmı
procedure Deneme();
Begin
item1.picture.loadfromfile:=(item2);
End
Procedure gönderimide şu şekilde
Deneme(item1,item2);
item1 yerine = image1 yada image2 vs vs...
item2 yerine = 'C:\Mavi.bmp' yada 'D:\Mavi.jpg' vs vs...
item1 işlem yapılacak form üzerindeki bir itemi teşkil etmeli.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Veri Gönderen Procedure Yapmak ?
s.a.
Arkadaşım ne yapmak istediğini tam olarak ifade edemediğin kanaatindeyim.
Deneme(item1,item2); şeklinde bir kullanım için procedurenin parametrelerini ona göre ayarlaman lazım.
eğer parametreye bazen değer gönderecek bazen değer göndermeyeceksende parametreyi ona göre ayarlaman, varsayılan değerleri ona göre vermen lazım.
öncelikle hiç bilmeyen kişilere ne yapmak istediğini anlat.
kolay gelsin.
Arkadaşım ne yapmak istediğini tam olarak ifade edemediğin kanaatindeyim.
Deneme(item1,item2); şeklinde bir kullanım için procedurenin parametrelerini ona göre ayarlaman lazım.
eğer parametreye bazen değer gönderecek bazen değer göndermeyeceksende parametreyi ona göre ayarlaman, varsayılan değerleri ona göre vermen lazım.
öncelikle hiç bilmeyen kişilere ne yapmak istediğini anlat.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Re: Veri Gönderen Procedure Yapmak ?
Kod: Tümünü seç
procedure Deneme(Item1: TImage; Item2: String);
var
i: Integer;
begin
for i := 0 to Form1.ComponentCount-1 do
begin
if (Form1.Components[i] is TImage) then
begin
if (Form1.Components[i] as TImage)=Item1 then
item1.picture.loadfromfile(Item2);
exit;
end;
end;
end;
Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'
Re: Veri Gönderen Procedure Yapmak ?
Form üzerinde dönüp Item1'i aratmanıza ve bulmanıza gerek yoktu verdiğiniz örnekte. Sanırım dalgınlık olmuş.qamyoncu yazdı:end;Kod: Tümünü seç
procedure Deneme(Item1: TImage; Item2: String); var i: Integer; begin for i := 0 to Form1.ComponentCount-1 do begin if (Form1.Components[i] is TImage) then begin if (Form1.Components[i] as TImage)=Item1 then item1.picture.loadfromfile(Item2); exit; end; end; end;
Re: Veri Gönderen Procedure Yapmak ?
Teşekkürler arkadaşlar cevaplarınız için. Tam sonuca hala ulaşamadım sanırım istediğimide anlatamıyorum bu yüzden bırakın kalsın herkeze teşekkürler.
·•· Bilgi Güçtür ! Bu Gücü Hisset ! ·•·
Re: Veri Gönderen Procedure Yapmak ?
thelvaci yazdı:Form üzerinde dönüp Item1'i aratmanıza ve bulmanıza gerek yoktu verdiğiniz örnekte. Sanırım dalgınlık olmuş.qamyoncu yazdı:end;Kod: Tümünü seç
procedure Deneme(Item1: TImage; Item2: String); var i: Integer; begin for i := 0 to Form1.ComponentCount-1 do begin if (Form1.Components[i] is TImage) then begin if (Form1.Components[i] as TImage)=Item1 then item1.picture.loadfromfile(Item2); exit; end; end; end;
di mi...

Batuhan TAŞDÖVEN
'Yükseldikçe küçülen bir uçurtma..'
'Yükseldikçe küçülen bir uçurtma..'