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;
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
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
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
  Listview Drag drop Kullanımı [ÇÖZÜLDÜ.] codder71 10 1.400 28-06-2023, Saat: 18:03
Son Yorum: codder71
  Datasnap Kullanımı Hk. sadoal351 1 522 11-01-2023, Saat: 12:45
Son Yorum: hi_selamlar
  Binding ile SQL ve TMemo kullanımı dervis 1 527 30-10-2022, Saat: 22:32
Son Yorum: mcuyan
  REST image kullanımı codder71 12 3.034 19-04-2022, Saat: 22:41
Son Yorum: codder71
  Android Uygulamada ListView Kullanımı Hk. sadoal351 4 1.252 11-02-2022, Saat: 16:25
Son Yorum: sadoal351



Konuyu Okuyanlar: 1 Ziyaretçi