Delphi Can
Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (http://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: Bir formu modal olarak açıp gelen cevabı edite yazırma hk. (/showthread.php?tid=3670)



Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - caoster - 26-05-2019

Merhaba arkadaşlar

Bir liste formu yapmam gerekiyor örnek vermek gerekirse fatura satırları gireceğim fatura satırlarına bir stok eklemek için stok listesi ekranı açtırıp seçtiğim stoğu fatura ekranındaki bir edite veya bir alana yazdırmam gerekiyor. Bu tarz durumlarda firemonkey android tarafında nasıl hareket ediyorsunuz ?

Saygılar


Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - KUNTAY - 26-05-2019

Masaüstü program gibi bir görüntü hayal etme sonuçta bir mobil yazılım geliştiriyorsun, Fatura formunu kapatmadan Yeni bir formda stok listeni listelersin arama gibi şeylerde yaptırabilirsin sonra stoğu seçip liste formunu kapatıp asıl fatura formuna dönersin. Hatta Stok ekleyeceksen stok listesi formunda bir çok stok seçimi miktar seçimi ile birlikte yapmasını sağlaman daha güzel olur.


Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - caoster - 26-05-2019

Yok yok masaüstü gibi hayat etmiyorum zaten sonuçta tam ekran açılacak fakat geri dönüş değeri olacak. Ürün liste ekranından fatura ekranındaki bir alanı direk editlemek istemedim çünkü stok liste ekranını genel yapmak istiyorum bunu a forumundanda b formundanda çağıracağım, stok liste ekranını bir fonksyon gibi yapıp geri dönüş değerini kullandığım forma yansıtmak istiyorum. Örnek vermek gerekirse

function StokListesi(var iStokReferansi: integer);
begin
formStokList := TformStokList.Create(nil);
formStokList.ShowModal;
iStokReferansi := formStokList.iStokRef;
end;


Cvp: Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - kodamelesi - 27-05-2019

(26-05-2019, Saat: 15:30)caoster Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Yok yok masaüstü gibi hayat etmiyorum zaten sonuçta tam ekran açılacak fakat geri dönüş değeri olacak. Ürün liste ekranından fatura ekranındaki bir alanı direk editlemek istemedim çünkü stok liste ekranını genel yapmak istiyorum bunu a forumundanda b formundanda çağıracağım, stok liste ekranını bir fonksyon gibi yapıp geri dönüş değerini kullandığım forma yansıtmak istiyorum. Örnek vermek gerekirse

function StokListesi(var iStokReferansi: integer);
begin
 formStokList := TformStokList.Create(nil);
 formStokList.ShowModal;
 iStokReferansi := formStokList.iStokRef;
end;


Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. inceleyebilirsiniz. 
iyi çalışmalar.


Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - caoster - 27-05-2019

Yok malesef asenkron metodların içinden out parametresine değer ataması yapılamıyor. Sanırım tek yok formun içerisinden diğer forma müdahale etmek. Başka bir yol yok gibi gözüküyor.


Cvp: Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - caoster - 12-06-2019

Arkadaşlar mobil tarafta anonymous metod olarak formu modal açabiliyorsunuz yukarıda sormuş olduğum sorunun cevabı tam olarak şu şekilde olacak belki ileride ihtiyaç duyan arkadaşlara fayda sağlar..

Fonksyon tanımı :

procedure ShowMyForm(event: TProc = nil);
var
  form: TForm1;
begin
  form:= TForm1.Create(nil);
  form.ShowModal(
    procedure(ModalResult: TModalResult)
    begin
      if (ModalResult = mrOk) and Assigned(event) then
        event;  
    end);
end;


Fonksyon kullanımı : 


ShowMyForm(
      procedure
      begin
          // Code that you want to do on mrOk
      end);

Bunu fonksyon olarak kullanmak zorunda değilsiniz direk fonksyonun içindeki kod bloğunu da çalıştırabilirsiniz fakat benim ihtiyacım fonksyon şeklinde olandı.

Saygılarımla


Cvp: Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - elixir84 - 13-06-2019

Ben bu gibi durumlarda Rectangle tanımlıyorum Rectangle Aling özelliğini VertCenter yapıyorum üstüne edit label ları koyuyorum.  Rectangle.Visible ile göster gizle yapıyorum.

3sRJoS.jpg


Cvp: Bir formu modal olarak açıp gelen cevabı edite yazırma hk. - caoster - 17-06-2019

(13-06-2019, Saat: 10:09)elixir84 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Ben bu gibi durumlarda Rectangle tanımlıyorum Rectangle Aling özelliğini VertCenter yapıyorum üstüne edit label ları koyuyorum.  Rectangle.Visible ile göster gizle yapıyorum.

3sRJoS.jpg


Benim de o şekilde kullandığım yerler var fakat generic formlar tasarlıyorsanız misal veriyorum bir stok liste ekranı tasarladınız ve bu ekranı birçok formdan kullanacaksınız bu gibi durumlarda her forma rectangle koyup ürünleri listelemektense ürün listesi formu yapıp bu formu kullanacak yerlerde asenkron modal olarak çağırmak daha iyi olacaktır. 

Sizin örneğinize benzer bir uygulamayı özellikle liste formlarındaki arama kutuları için tasarlıyorum, çok rahat oluyor.

Saygılarımla