formda o forma hangi formdan geldiğimizi anlamak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

formda o forma hangi formdan geldiğimizi anlamak

Mesaj gönderen true_false »

merhabalar başlık biraz karışık oldu ama örnek verince daha anlaşılır olacak
misal
programda kullandığım bir tane rapor formum var fast report ile oluşturduğum bütün reportları o form üzerinden işleme sokuyorum
buraya kadar güzel
sorunmu?
sorun şudur
misal olarak bir reçete birde uygulama formum olsun
reçete formunda hazırladığım raporun çıktısını aldığımda rapor formumu kapattığım zaman reçete ekranına (yane reçete formuna)


uygulama formunda hazırladığım raporun çıktısını aldığımda rapor formumu kapattığım zaman uygulama formuna dönsün

ennihayetinde;
rapor formunda o forma recete formundanmı
yoksa uygulama formundanmı? geldim deyip rapor formumu kapatıp
reçete formuna dönmek yada uygulama formuna dönmek istiyorum

kusura bakmayın anlaşılır olabilmesi için elimden geleni yaptım
type
Tform1 = class(Tform)
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Hocam bir ini dosyaya hangi formdan geldiğini yazarsan geriye dönerken dosyadan okut ona göre işlem yaptır, anladın galiba artı arama yaparsanda bu konu hakkında çok bilgi bulacaksın.hatta daha öncede ben forma sormuştum buna benzer soru ve husonet hocamın verdiği cevap vardı.kolay gelsin..
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
mkysoft
Kıdemli Üye
Mesajlar: 3110
Kayıt: 26 Ağu 2003 12:35
Konum: Berlin
İletişim:

Mesaj gönderen mkysoft »

neden public bir değişkende tutmuyoruz? ini dosyası zor olmazmı?
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

ini dosyasi da olsa degisken de olsa report formu normal form dan bagimsiz olarak calisiyor. öyle ise form dan onclose eventi alinamayacak tir. onclose alinamadigi gibi de hangi form dan geldiysen o forma geri dön diye bir komut verilemeyecek tir.

umarim olayi dogru anlamisim dir..

fakat söyle bir imkan olabilir. eger preview penceresini kendin programlarsan report kapatildiginda kendi programlamis oldugun preview formunun onclose eventinde islem yaptirabilirsin...

söyle ki, preview formunun public bölümüne Boolean atarsin. ve preview penceresine gecerken eger Form1 den geciyorsan True Form2 den geciyorsan False yaparsin. preview in de onclose event inden eger True ise Form1 e dön, eger False ise Form2 ye dön gibi bir islem yaptirabilirsin...


yardimci olabilmisim dir insaAllah

Kolay gelsin...
kıdemsiz üye
sonuncusado
Üye
Mesajlar: 37
Kayıt: 13 May 2005 03:36

Mesaj gönderen sonuncusado »

dostum rapor için açacağın form yeni bir form olacaksa ondan önce açılanı kapama bence ve böylece yeni formu kapadığında öteki zaten ekranda olacak.(umarım doğru anlamışımdır)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

FastReport içine Script yazarak sanırım halledebilirsin. FastReport un resmi sitesinde FastScript örnekleri olacaktı. Daha önce denemedim sadece fikir veriyorum.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Kod: Tümünü seç

var
  VAR_FORM : TForm;
şeklinde global bir değişken tanımlayıp
ilgili raporu cagiracaginiz her yerde bir onceki satıra

Kod: Tümünü seç

VAR_FORM:=FRM_RECETE; //Şu an bulunulan Form
şeklinde yazarsanız.
Artik rapor formunuzun onclose olayında elinizdeki VAR_FORM değişkeni bu raporu cağıran formdur. İster onun visible ını true yapın ister aktif yapın ne isterseniz yapın :)
* http://www.fahrettin.org Manzara Fotoğraflarım... :)
* http://delphiturkiye.gunduz.info Seminerler... ;)
* http://www.hakmar.com.tr Kalite bir haktır... 8)
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

verdiğiniz cevapları inceledim
en basit çözüm olarak @sonuncusado bir çözüm önerdi ama programda bu benim işime yaramaz
verdiğiniz cevaplar hep iki form üzerine ve bunun için boolean kullanmamamı tavsiye etmişiniz ama ben sadece örnek olarak iki form verdim ama programın içinde 5 adet rapor çıktısı alıyom yane gene işe yaramaz @husonet dediğini bi incelicem ama ne kadar faydalı olacak bilmiyorum
@fahrettin demek istediğini anlamadım :roll:
type
Tform1 = class(Tform)
P206
Kıdemli Üye
Mesajlar: 395
Kayıt: 17 Haz 2003 12:36
Konum: İstanbul

Mesaj gönderen P206 »

@Fahrettin Hocamın dediği bence en kolay yol. her Formdan ulaşabildiğin bir global değişkeni tanımla

Kod: Tümünü seç

 var
    Hangiform=Tform
Daha Sonra Formadan

Kod: Tümünü seç

HangiForm:=simdikiform
Herhangi bir formdan daha sonra Bu formu özellikerini Hangiform değişkeninden kullanabilirsin

Kod: Tümünü seç

HangiForm.show
gibi
I love my car.
Blog Yaptık
Kullanıcı avatarı
burakb44
Üye
Mesajlar: 131
Kayıt: 11 Mar 2005 03:13

Mesaj gönderen burakb44 »

mrb. arkadaşlar naçizane fikrimi yazmak istedim.
form1'en form2'ye gittiğinde form2 içinde işlem yaparken form1'denmi yoksa başka bir formdanmı geldiğini öğrenmek istiyorsun anladığım kadarıyla. bunun için form2'ye 1 adet edit koy visiblesini true yap,
form1'den form2yi çağırmadan önce form2.edit1.text := 'form1' atamasını yap bu şekilde form2'deki editin çeriğinde senin form2'ye gelmeden önce hangi formdan geliyorsan o formun ismini atamış olursun
form2 içindede edit1in içeriğine göre hangi forma dönmek istiyorsan o işlemi yaptırırsın . iyi çalışmalar
Cevapla