1

Konu: text de iki rakam arası sayı

text de sadece 1 ile 9 arası sayıların girilmesini nasıl sağlarız,
"1-9 arası giriniz" mesajı verdirebiliriz.

2

Re: text de iki rakam arası sayı

.... veya text control'un input mask'ına 9 yazarak

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

3

Re: text de iki rakam arası sayı

sadece diyelim  1 ile 15 arası sayıların girişini yapmak istiyoruz.

4

Re: text de iki rakam arası sayı

O zaman Valid Event ile kontrol etmen lazım

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

5

Re: text de iki rakam arası sayı

örnek verebilirmisiniz.

6 Son düzenleyen, Mehmet K (30.03.2011 12:05:21)

Re: text de iki rakam arası sayı

Visual Fox Pro
IF THIS.VALUE < 1 OR  THIS.VALUE > 15

  MESSAGEBOX("Opala ... sadece 1 ile 15 demişdik",16,"Hata")
  RETURN 0
ENDIF
RETURN 1
Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

7

Re: text de iki rakam arası sayı

tamam teşkrlr.

8

Re: text de iki rakam arası sayı

valid'i hiçbir zaman kullanmanı tavsiye etmem. FPD zamanlarından kalma bir komut. Başına bela açabilir.
lostfocus'u kullanabilirsin nodefault ile.

if !betw(this.value,1,15)
    nodefa
retu

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

9

Re: text de iki rakam arası sayı

okey.teşkrlr

10

Re: text de iki rakam arası sayı

Valid gereken yerlerde valid yerine lostfocus kullan. Ancak bunun icin Spinner kullansan? O zaman dogrudan spinnerin propertyleri kontrol eder isi, koda gerek yok:


Visual Fox Pro
PUBLIC oForm

oForm = CREATEOBJECT('myForm')
oForm.Show()
 
Define Class myForm As Form
  Add Object spnSayi As Spinner With ;
    SpinnerLowValue=1, SpinnerHighValue=15,;
    KeyboardLowValue=1, KeyboardHighValue=15,;
    Value=1, SelectOnentry=.t.
Enddefine

11

Re: text de iki rakam arası sayı

Lostfocus hücreye yanlış veri girerek bir sonraki hüçreye geçiş yapmanı egellemiyor.
Bu durumda kayıt esnasında o hücredeki değeri kontrol etmek lazım.

Ama Çetin Beyin önerdiği en doğrusu.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

12

Re: text de iki rakam arası sayı

Lostfocus yalniz basina engellemiyor dogru. Ama lostfocus'ta kontrol daha fazla, istedigin ara mesajlar, baska form gosterme vs rahat oluyor ve ister devam etmesini sagliyorsun istersen de orada kalmasini. Ozellikle Grid icinden gerekiyorsa ( ornegin baska form ile bir musteri sectirip ID sini fielde yazmak gibi) valid sadece saclari yolmaya yarar. Lostfocus ile kolay, Genel yapi:

* Lostfocus

Visual Fox Pro
lSonuc = BirseyleriKontrolEt()

if m.lSonuc && tamam gidebilir ek kod gerekmiyor istenirse yazilabilir - asagidaki gibi
   * thisform.txtSiradaOlamayanBaskaBirKontrol.Setfocus()
else && gitmemesi lazim, valid .F. dondurme durumu
    NODEFAULT && tum espri bu nodefault'ta
    this.SetFocus()
endif

13

Re: text de iki rakam arası sayı

NODEFAULT 'u orda kullanmak hiç aklıma gelmemişdi. Bilgi için teşekkürler.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

14

Re: text de iki rakam arası sayı

yardmlrnz için teşklr.

15

Re: text de iki rakam arası sayı

Sevgili Arkadaşlar,
1-15 arasındaki sayılar için spinner gayet kullanışlı olabilir ama bir kullanıcı olarak dikkatinizi çekmek istiyorum; örneğin bağzı banka sitelerinde olduğu gibi doğum tarihi için 1900 ile 2010 arasında spinner kullanılıyor ki bu, kullanıcı için son derece sıkıcı ve kullanışsız. Adeta bir işkence oluyor. Programlarınızı yazarken bu hususu da dikkate almanız iyi olur sanırım.
Sevgilerimle.
Erdal

16

Re: text de iki rakam arası sayı

Mehmet K yazdı:

Lostfocus hücreye yanlış veri girerek bir sonraki hüçreye geçiş yapmanı egellemiyor.
Bu durumda kayıt esnasında o hücredeki değeri kontrol etmek lazım.

Ama Çetin Beyin önerdiği en doğrusu.

nodefa yazmıştım oraya. sadece üç satırlık bir kod. önce bir deneseydin? smile

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

17

Re: text de iki rakam arası sayı

erdal1941 yazdı:

Sevgili Arkadaşlar,
1-15 arasındaki sayılar için spinner gayet kullanışlı olabilir ama bir kullanıcı olarak dikkatinizi çekmek istiyorum; örneğin bağzı banka sitelerinde olduğu gibi doğum tarihi için 1900 ile 2010 arasında spinner kullanılıyor ki bu, kullanıcı için son derece sıkıcı ve kullanışsız. Adeta bir işkence oluyor. Programlarınızı yazarken bu hususu da dikkate almanız iyi olur sanırım.
Sevgilerimle.
Erdal

iyi de vfp spinnerde istersen elle de değer girebiliyorsun. bence spinner güzel bir kontrol.

Haksızlıklar karşısında susanlar, dilsiz şeytanlardır!
www.metinemre.com

18

Re: text de iki rakam arası sayı

Erdal abi,
Haklisin. Oyle uzun araliklarda birer birer artan spinnerlar beni de bayiyor. Burada sayi az diye onerdim.

Bir de oyle uzun listelerde kullanilacaksa bence Ctrl ve Shift tusunun basili olmalarina bagli olarak  farkli artis miktarlari uygulanabilir (Ctrl basilinca 100, Shift ile 10 artis gibi). Ben bunu FoxyClasses'in spinner kullanan saat kontrolunde kullanmistim. 1, 5 veya (hatirlayamadim simdi kacti) Dakikalik artislar icin.