Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
InputBox a sadece rakam girme.
#1
Merhabalar soruyu kafamda nasıl çözeceğimi bulamadığım için yardım rica ediyorum,
Sorum şu ;InputBox ile kullanıcıdan veri girmesini istiyorum ama bunların sadece rakam olası halinde devam etmek değilse tekrar giriş yaptırmak yada "sınırlar dahilinde değil" gibi bir mesaj çıkarmak istiyorum ama bir sürü kurgu yapmama rağmen tam sonuç elde edemedim.  Edit olsa keypress inde çözerim ama inputbox dan string bir değişkenin içine alıyorum orda gerekli kontrolleri yapamadım.

mesela 1,2,3 den 25 e kadar rakamlar kabulum, "28" yazarsa yada "asd" yazarsa "sınırlar dahilinde değil" deyip tekrar inputbox a yönlendirecek yada işlemi iptal edecek, kullanıcı tekrar tıklasın  gibi, 

  
var
 SERIAL:STRING;
..........

 if not (SERIAL in [ '0'..'25']) then    exit;

bunda mesela Incompatible types: 'AnsiChar' and 'string' hatası aldım.
Gibi bir sürü yöntemde sorun yaşadım işi toparlayamadım Sad


 
var
 SERIAL:STRING;
..........
SERIAL:= Dialogs.InputBox('CihazSerino:', 'Cihaz Sn', '0000');

       if not (SERIAL in [ '0'..'25']) then    exit;

? tam neye bakmam lazım onu da netleştiremedim açıkçası ?  Huh
Cevapla
#2
var
 userInput: string;
 userNumber: Integer;
begin
 repeat
   userInput := InputBox('Veri Girişi', 'Lütfen bir rakam girin (1-25 aralığında):', '');
   if TryStrToInt(userInput, userNumber) then
   begin
     if (userNumber >= 1) and (userNumber <= 25) then
       Break
     else
       ShowMessage('Girilen sayı sınırlar dahilinde değil!');
   end
   else
     ShowMessage('Geçersiz giriş! Lütfen sadece rakam girin.');
 until False;

 // Burada kullanıcıdan alınan geçerli sayıyı kullanabilirsiniz.
 ShowMessage('Girilen sayı: ' + IntToStr(userNumber));
end;
FMX - Software Developer | Serhat Yanalak
Cevapla
#3
(05-06-2023, Saat: 16:35)Mr.X Adlı Kullanıcıdan Alıntı:
var
 userInput: string;
 userNumber: Integer;
begin
 repeat
   userInput := InputBox('Veri Girişi', 'Lütfen bir rakam girin (1-25 aralığında):', '');
   if TryStrToInt(userInput, userNumber) then
   begin
     if (userNumber >= 1) and (userNumber <= 25) then
       Break
     else
       ShowMessage('Girilen sayı sınırlar dahilinde değil!');
   end
   else
     ShowMessage('Geçersiz giriş! Lütfen sadece rakam girin.');
 until False;

 // Burada kullanıcıdan alınan geçerli sayıyı kullanabilirsiniz.
 ShowMessage('Girilen sayı: ' + IntToStr(userNumber));
end;



Hocam çok sağ olun işimi gördü +1
Çok Teşekkür Ederim..
Cevapla
#4
var
  userInput: string;
 intValue: Integer;
begin
 userInput := InputBox('Değer Gir', 'Lütfen 1 ile 25 arasında bir sayı girin:', '');

 // Girilen değeri integer'a dönüştürme
 try
   intValue := StrToInt(userInput);
 except
   on E: Exception do
   begin
     ShowMessage('Geçersiz giriş. Lütfen sadece rakam girin.');
     Exit;
   end;
 end;

 // 1 ile 25 arasında kontrolü
 if (intValue < 1) or (intValue > 25) then
 begin
   ShowMessage('Geçersiz giriş. Lütfen 1 ile 25 arasında bir sayı girin.');
   Exit;
 end;

 // Geçerli giriş durumunda
 ShowMessage('Giriş başarılı: ' + IntToStr(intValue));
end;
__________________________
From Now I will only Reading.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  EnumWindows apisi sadece çalışan uygulamalar kofmaster 1 1.692 26-08-2023, Saat: 10:40
Son Yorum: veteran
  Sadece Son Kayıtları Listeleme gonulali 4 836 09-05-2023, Saat: 17:01
Son Yorum: gonulali
  InputBox'a Date girme mcuyan 0 385 06-12-2021, Saat: 15:08
Son Yorum: mcuyan
  Web Server Uygulaması Sadece html publish ediyor COMMANDX 3 1.091 04-10-2021, Saat: 15:58
Son Yorum: delphi.developer
  inputbox'a sadece harf / sayı gimek ? cooxed 2 1.089 30-06-2021, Saat: 20:45
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi