Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
InputQuery kullanımı
#1
Lightbulb 
iyi akşamlar,

Projem de butonların isimlerini kullanıcının değiştirmesine imkan sağlamak için edit kullanmak yerine kolay bir çözüm getirmek için bakınırken delphi ile gelen örnek projelerden SQLite örnek projesine rastladım ve orda mobil için İnputbox ya da delphideki adı ile İnputQuery'nin kullanıldığını gördüm ve kullandım. bunu da paylaşmak istedim belki birisinin de işine yarar düşüncesi ile  Shy

uses : IOUtils, FMX.DialogService;

procedure Tgoogleform.Button1Click(Sender: TObject);
var
 LDefaultValue, LPrompt, TaskName: string;
begin
 try
   LPrompt := 'E-Posta';
   LDefaultValue := '';
   TDialogService.InputQuery('E-Posta Adresinizi Giriniz', [LPrompt], [LDefaultValue],
     procedure(const AResult: TModalResult; const AValues: array of string)
     begin
       if AResult = mrOk then
         TaskName := AValues[0]
       else
         TaskName := '';
       if not (TaskName.Trim = '') then
       begin
        Button1.Text  := TaskName ;
       end;
     end);
 except
   on e: Exception do
   begin
     ShowMessage(e.Message);
   end;
 end;
end;
"WALL- E"
Cevapla
#2
Kullanıcıya "Cancel" hakkını vermek için aşağıdaki şekilde de deneyebilirsiniz.

procedure TForm1.Button1Click(Sender: TObject);
var
  aValue, LPrompt, TaskName : string;
begin
  try
    LPrompt := 'Lütfen Metni Giriniz : ';
    aValue := TButton(Sender).Text; // varsayılan olarak butonun kendisi
    if InputQuery( 'Giriş', [LPrompt], aValue ) then
    begin
     if Trim(aValue) <> ''
       then TButton(Sender).Text := aValue;
    end;
  except
    on e: Exception do
    begin
      ShowMessage(e.Message);
    end;
  end;
end;

Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#3
(12-11-2018, Saat: 22:40)mrmarman Adlı Kullanıcıdan Alıntı: Kullanıcıya "Cancel" hakkını vermek için aşağıdaki şekilde de deneyebilirsiniz.

procedure TForm1.Button1Click(Sender: TObject);
var
  aValue, LPrompt, TaskName : string;
begin
  try
    LPrompt := 'Lütfen Metni Giriniz : ';
    aValue := TButton(Sender).Text; // varsayılan olarak butonun kendisi
    if InputQuery( 'Giriş', [LPrompt], aValue ) then
    begin
     if Trim(aValue) <> ''
       then TButton(Sender).Text := aValue;
    end;
  except
    on e: Exception do
    begin
      ShowMessage(e.Message);
    end;
  end;
end;


Cancel ve Ok butonlari varsayılan olarak mevcutmuş hocam  Shy

Teşekkürler destek için  Shy
"WALL- E"
Cevapla
#4
Yanlış anladınız, Cancel butonu çalışmıyor diye yazmıştım
Saygılarımla
Muharrem ARMAN

guplouajuixjzfm15eqb.gif


Cevapla
#5
(13-11-2018, Saat: 12:11)mrmarman Adlı Kullanıcıdan Alıntı: Yanlış anladınız, Cancel butonu çalışmıyor diye yazmıştım

umarım yine yanlış anlıyorumdur çünkü cancel butonunu test ettim orjinalinde. ve çalışıyor hocam  Blush

ama boş bir yere basma işleminde de iptal ediyor belki cancel butonunu da öyle algılıyor olabilir  Shy


DÜZELTME ;

Fark ettim hocam windows ortamında işlevselliği yok cancel'in. Shy

mobilde sorun yaşatmıyor sadece  Shy
"WALL- E"
Cevapla
#6
Eski bir konu ama mobille uğraşınca benim de başıma geldi.
Delphi 10.2 kullanıyorum ve TDialogService.InputQuery'nin Cancel butonu Windows ortamında çalışmıyor Sad
Ama 10.3 versiyonu ile sorun çözülmüş:
https://quality.embarcadero.com/browse/RSP-16148
There's no place like 127.0.0.1
WWW
Cevapla
#7
(07-11-2019, Saat: 10:33)SimaWB Adlı Kullanıcıdan Alıntı: Eski bir konu ama mobille uğraşınca benim de başıma geldi.
Delphi 10.2 kullanıyorum ve TDialogService.InputQuery'nin Cancel butonu Windows ortamında çalışmıyor Sad
Ama 10.3 versiyonu ile sorun çözülmüş:
https://quality.embarcadero.com/browse/RSP-16148

Sorunun ne olduğunu Trace edip buldum; ama etrafından dolanmak için detaylı araştırma yapmadım:

FMX.DialogHelper.pas unit'i içinde tanımlı olan TDialogForm sınıfının içinde FCanCancel isimli public bir alan var ve bu alanın değeri False olduğu için CloseQuery metodundan çıkıyor. Bir şekilde FCanCancel'ın true yapılabilmesi ile; ilgili sorun fix'lenebilir eski Delphi sürümlerinde de.
Mal sahibi, mülk sahibi
Hani bunun ilk sahibi ?
Mal da yalan mülk de yalan
Var biraz da sen oyalan...
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  fmx gönder veya enter tuşu kullanımı seydigozegir@gmail.com 5 513 24-04-2020, Saat: 11:53
Son Yorum: cihankoca
  İç içe VertScrollBox ve FlowLayout kullanımı ekank 12 908 02-04-2020, Saat: 01:18
Son Yorum: Fesih ARSLAN
  OrangeUI Grid kullanımı hk. pro_imaj 12 1.608 31-01-2020, Saat: 09:58
Son Yorum: pro_imaj
  FMX'de Filedialog kullanımı Kerembacioglu 5 902 01-01-2020, Saat: 15:02
Son Yorum: 41linea41
  FDEventAlerter kullanımı BGNew 10 1.603 06-11-2019, Saat: 19:17
Son Yorum: BGNew



Konuyu Okuyanlar: 1 Ziyaretçi