form içinden form çagırma(Edit içinden form çağırma...)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

form içinden form çagırma(Edit içinden form çağırma...)

Mesaj gönderen uğur alkan »

7 adet formum var.... her forumda 5 adet "edit" var.
herhangi edite tıkladığım zaman küçük bir değer girme formu açılıyor (Hesap Makinası tarzı) deger girildikten sonra "ok" butonuna basılınca küçük form kapanıyor ve girilen değer ilgili edite transfer ediliyor...
35 adet sorgu yaptırmak istemiyorum....

sorum şu formun hangi editten çagrıldığını anlamanın basit bir yolu varmı_


teşekkür ederim iyi çalışmalar...
En son uğur alkan tarafından 02 Mar 2005 04:42 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

tum editlerin ortak onclick olayı oldugunu farzedelim

Kod: Tümünü seç

var
  edit:TEdit;
begin
  edit:=TEdit(Sender);
  with Thesapkitapformu.create(nil) do
  try
    hesabiyap;
    //donen deger
    edit.text:=donendeger;
  finally
    Free;
  end;

end;
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

hocam olayı tam anlatıyım...
o küçük formda bulunan edite bir değer giriliyor editin bu değerini çagrıldıgı edite taşımam gerekiyor... küçük formda 11 tane buton var
1 2 ... 9 0 enter buradan değeri giriyorsun



dokunmatik ekranda kullanacagız...
programlamayı bilen delphiyi iyi bilmeyen bana biraz daha yardımcı olurmusunuz...
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
sadettinpolat
Moderator
Mesajlar: 2131
Kayıt: 07 Ara 2003 02:51
Konum: Ankara
İletişim:

Mesaj gönderen sadettinpolat »

Kod: Tümünü seç

AktifEdit := ActiveControl;
if frmSorguFormu.ShowModal = mrOk Then
Begin
  if AktifEdit is Tedit Then
  begin
    AktifEdit.text := frmSorguFormu.edtSorgu.text;
    AktifEdit.SetFocus;
  End;  
End;
"Sevmek, ne zaman vazgececegini bilmektir." dedi, bana.

---
http://sadettinpolat.blogspot.com/
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Bakın bence şöyle olsa daha iyi olur.

Çağırdığınız formda private bir değişken tutun. Bu private değişken string olmalı.

Anladığım kadarı ile siz bir şifre girişi gibi bir şey yapmak istiyorsunuz. Bu formda girişinizi (aslında değişkeninizi) manuel kendiniz kontrol ederek doldurun) sonra return anında bu public değişkeni geri döndürün.

Çağıran rutinin içinde de Edit1.Text := DonenDeger gibi yapabilirsiniz. Veya Formunuzu aslında Function olarak çağırın.

Örnek

Kod: Tümünü seç


  Form1 : TForm1
.
.
.
  private
    degisken : string ;
  Public
    
    function SifreAl : string ;
  end ;
.
.
.
Function SifreAl : string ;
begin
  degisken := '' ;
  ShowModal ;
  Result := Degisken ;
end ;

gibi.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

teşekkürler sorun çözüldü...
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Sorunu nasıl çözdünüz? Çözülen sonuçları paylaşalım :idea: çünkü ileriki zamanlarda başka arkadaşlarımızda yararlanabilir ;)

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.
abluka
Üye
Mesajlar: 16
Kayıt: 26 Oca 2005 10:41

Mesaj gönderen abluka »

usta neden form kullandınki editin clik olayına sunu yazsaydın

edit1.text:=inputbox('girr','girsene','default deger');

Gereksiz yere çok fazla form kullanma boyut şişmesin

bendede boyut takıntısı var aşamadım bi turlu :D
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

klavyem yok sadece ekrana dokunarak işlem yapabiliyorum. bu yüzden
küçük bir form hazırladım.
edit'in üzerine dokunduğum zaman bu form açılıyor ve değer girip
kaydet dedigim de ilgili edite değerim atanıyor..

sorunu nasıl çözdüğüme gelince küçük forma 2.bir edit yerleştirdim
ana formdan hangi edite tıklarsam o editin "kodu"(kendi tanımladığım) 2.yerleştridiğim edite transfer ediliyor.kaydet butonuma da bastıgımda basit bir if döngüsüyle degeri istegin geldiği forma transfer ediyorum

Kod: Tümünü seç

IF FORM5.Edit2.Text='VDS' THEN
FORM3.Edit1.Text:=FORM5.Edit1.Text;
IF FORM5.Edit2.Text='VDG' THEN
FORM3.Edit2.Text:=FORM5.Edit1.Text;
IF FORM5.Edit2.Text='VDC' THEN
FORM3.Edit3.Text:=FORM5.Edit1.Text;
IF FORM5.Edit2.Text='VDH' THEN
FORM3.Edit4.Text:=FORM5.Edit1.Text;
CLOSE;
END;
tamam hammallık ama edit sayısı az olan yerlerde iş görür.
daha iyi fikirler varsa deneyebilirim

teşekkürler.
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

form içinden form çagırma(Edit içinden form çağırma...)

Mesaj gönderen hasan »

Arkadaşlar bu konuyu çözen birisi varsa foruma yollayabilirmi ne zamandır bende bununla ilgili bir çözüm arıyom ama bi türlü bi çözüm bulamadım bende.benim sorunumda aynı şey.button editlerden açılan döviz kuru veya Döviz Tablosu formunda ilgili editlere ilgilideğerleri yollamak.ama Tek bir döviz formu kullanılacak , yüzlerce editten çağırılacak ve Döviz formundaki CxDbgride çift tıklayınca ilgili DOVIZID dğeri bu editlere aktarılacak.bir function yazılabilir ama o konuda iyi olmadığım için yazamıyorum.Yardım edebilirseniz sevinirim.Kolay gelsin...
hasan
Üye
Mesajlar: 129
Kayıt: 16 Oca 2004 10:01
Konum: Bursa
İletişim:

form içinden form çagırma(Edit içinden form çağırma...)

Mesaj gönderen hasan »

butonlara hangi formdan basıyosan eğer procedurü oraya yaz.Procedurü
Private kısmında tanımla.değişkenleri de orda tanımla...

Kod: Tümünü seç

procedure GetDovizForm(editID : TEdit ;editADI : TEdit );
begin
  
// if Form1.ShowModal = mrOk then
//  begin;
    editID.InputProperties.IDValue   := GeciciID;
    editADI.Text   	    	   := GeciciName;
//  end;
end;
butonların clikcine de

Kod: Tümünü seç

procedure TForm2.cxButtonEdit1PropertiesButtonClick(Sender: TObject;
  AButtonIndex: Integer);
begin
  GetDovizForm(cxButtonEdit1,cxButtonEdit2);
end;
yaz açılan formdan da hangi nesneye tıklıyosan eğer mesela

Kod: Tümünü seç

procedure TForm1.DBGrid1DblClick(Sender: TObject);
begin
  Gecici         := Table.FieldByName(ID).AsInteger;
  GeciciName := Table.FieldByName(Name).AsString;
 ModalResult  := MrOk;
end;
end.

Kısacası tek form kullanarak mesela döviz formu hangi Cxbuttoneditten açılırsa bu form o Cxbuttoneditte datadan değer gönderiyor. Ok...
Kolay gelsin....
Kullanıcı avatarı
uğur alkan
Üye
Mesajlar: 227
Kayıt: 29 Ağu 2004 04:49
Konum: Istanbul

Mesaj gönderen uğur alkan »

Çok teşekkür ederim... :lol:
Bazen sert rüzgarlar eser başını öne eğmekten asla korkma
Cevapla