Borland C++ Builder 6 ' da Formlar arası geciş nasıl oluy

Başlatan XX_CİHAN_XX, 08 Temmuz 2006, 15:10:53

XX_CİHAN_XX

Arkadaşlar BCB6 kullanıyorum daha doğrusu öğrenme aşamasındayım. Bir uygulama yapmak istiyorum 2 tane form olacak birinci formda Edit box a yazdıgım yazıyı gonder butonuna bastıgımda ekrana ıkıncı form gelecek ve eskı forma da yazdıgım yazı ekranda goruntulenecek.2.form uzerındekı gerı tusuna bastıgımda ıse 1. formdakı ekrana gerı donecegım. Bu konuda bana yol gosterebılecek bır abi çıkarsa çok sevinirim Teşekkürler.
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ise

Form2->ShowModal();
Form2->Close();
Form2->Edit1->Text="thief";
bunun gibi ibareler   yapacağının nesnenin başına form numarasını korsan olur.  koymazsan hangi form aktif ise ondaki nesnelere geçerli olur

XX_CİHAN_XX

Hocam bu ibareleri yanlış yere yazıyorum sanırım hata verıyor.
Yaptıgım ıslemlerı soyleyım sız bana nerede yanlıs yaptıgımı soyleyın.
Calısma alanına File -NEw - Form menusunden pese pese 2 form eklıyorum(form1-form2).
ıkı formada bırer tane edit1 ve birer tane Button1 ekliyorum.
Form1 deki buton1 click olayına

Form1->Close();
Form2->ShowModal();
Form2->Edit1->Text = Form1->Edit1->Text;

Form2 deki buton1 click olayına ise

Form2->Close();
Form1->ShowModal();
Form1->Edit1->Text = Form2->Edit1->Text;

kodlarını yazıyorum.ve hata alıyorum sanırım yanlıs yere yazıyorum yada yanlıs anladım.
Mesela benım asagıdakı dızılımden anladıgım:

Form1->Close();          //Form1 i kapat(ekrandan kaldır)
Form2->ShowModal();  //Form2 yi göster(ekrana cagır)
Form2->Edit1->Text = Form1->Edit1->Text; //Form1 deki edit box ın ıcerıgını Form2 deki edit box da goruntule

Yanlısım varsa düzeltmenizi rica ediyorum. V eger bu kodlar benım anlattıgım sekılde degılse benım yapamaya calıstıgım ıslem ıcın gereklı kod dızılımını verirseniz çok sevinirim.Şimdiden Teşekkürler saygılar...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ise

zaten yazdığın programda  hata vermese bile çalışmaz
açılmayan bir formdan veri alamazsın. form yoksa nesnelerde yok demektir.  
yapacağın textleri ansistring olarak global tanımla diğer fonksiyonlara extern olarak çıkarak kullanabilirsin.

extern AnsiString yazi="thief";
gibi
istediğin formda kullanmanı sağlar.


yapmak istediğini tam olarak yazarsan daha çok yardımcı olabilirim

XX_CİHAN_XX

Hocam ilgilendiğiniz için çok teşekkür ederim bukonuda daha yenı oldugum ıcın bırazdaha acıklayıcı yazarsanız cok makbule gecer.
Benım yapmak ıstedıgım sey sımdılık ogrenme amclı bır calısma.
Mesela bilgisayara bır dosya yüklerken next deriz bir sonrakı sayfaya gecerız buradan yuklencek bolgeyı secerız bırdaha next derız yuklemeyı baslatırız.Bu bir ornekti.Boyle bır calısma yapmak ıstıyorum.İleri geri butonları ıle form lar arsı gecıs nasıl yapılabılır.Form1 den Form 2 ye gecınce form2 de dızayn ettıgım ekran gozukceke ve calısacak.tekrar form1  ekranına dondugumde orada olusturdugum dızayn gozukecek yapmaya calıstıgım olay bu.

Bu konuda aydınlatırsanız cok sevınırım saygılar ...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

ise

bu tip çalışmalarda çoklu formlar vardır  değişkenler globaldir  formdan forma geçerken form yaratıldığında bu değerler nesnelere aktarılır.
char Sayi1,Sayi2;

Form2::Create
{
 Edit1->Text=IntToStr(Sayi1);  
}
Form3::Create
{
 Edit1->Text=IntToStr(Sayi2);  
}

Analyzer

Selam,

Form2.h'ı Form1'e include etmeyi unutmayın ;)

Analyzer
Üşeniyorum, öyleyse yarın!