Girilen bilginin sayısal,alfasayısal,tarih olma durumu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ekin
Üye
Mesajlar: 65
Kayıt: 11 Nis 2006 11:22

Girilen bilginin sayısal,alfasayısal,tarih olma durumu

Mesaj gönderen ekin »

edit içine girilen bilginin sayısal mı,alfasayısal mı, tarih mi olduğunu nasıl kontrol edebilirim
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

date tipinde, integer tipinde falan değişkenler tanımla.
edit'e girilen testi bu değişkenlere sırasıyla ata. (try except blokları içinde)
hata vermeyen blok sana edite girilen textin formatını verir.

Kod: Tümünü seç

deneme : date;
...

try begin deneme:=strtodate(edit1.text); end; except showmessage('bu bir tarih değil'); end;
gibi
Kullanıcı avatarı
tuanna
Üye
Mesajlar: 582
Kayıt: 06 Ara 2004 05:01
Konum: Ankara
İletişim:

Mesaj gönderen tuanna »

güzel bir çözüm diyemiyorum ama mecbur kalırsan kullanılabilir...tsk ederim kullanılabilir...ama bunu başka bir yolu yokmu (bence olmalı);
Siz hayal edin...Biz yapalım TuannaSoft...
Kullanıcı avatarı
hdayi
Kıdemli Üye
Mesajlar: 1284
Kayıt: 29 Oca 2004 01:53
Konum: Erciyes'in eteklerinden.

Mesaj gönderen hdayi »

Delphi syntax:

procedure Val(S; var V; var Code: Integer);

Description

In Delphi code, Val converts the string value S to its numeric representation, as if it were read from a text file with Read.

S is a string-type expression; it must be a sequence of characters that form a signed real number.

V is an integer-type or real-type variable. If V is an integer-type variable, S must form a whole number.

Code is a variable of type Integer.

If the string is invalid, the index of the offending character is stored in Code; otherwise, Code is set to zero. For a null-terminated string, the error position returned in Code is one larger than the actual zero-based index of the character in error.

Val performs range checking differently depending upon the setting of the $R compiler directive and the type of the parameter V.

Kod: Tümünü seç

var
v,i:integer;
s:string;
begin
    s:='12345asd';
    val(s,v,i);
    ShowMessage(IntToStr(v)+'    '+IntToStr(i));
end;

bu şekilde kullanıldığında v:string içindeki sayıyı veriyor (12345)
i ise sayı olmayan ilk karakterin indeksi yani 6 oluyor. i=0 ise sayı, değilse sayı değil.

Kolay Gelsin...
Bişnev in ney çün hikâyet mîküned
Ez cüdâyîhâ şikâyet mîküned
Resim
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Sizin ilacınız regular expression arkadaşlar. Ama bunu da öğrenmek gerekiyor tabii.
Kullanıcı avatarı
nitro
Üye
Mesajlar: 1112
Kayıt: 23 Ağu 2004 01:18
Konum: Çanakkale
İletişim:

Mesaj gönderen nitro »

aman aman kalsın. bu regular expression olayından dolayı bi dönem FORMAL DİLLER dersinden kaldım. hakkaten güzel bişey ama çok kasıyo insanı. regular expler, parse treeler, lexical analiserler falan. ıyyyyyy :P
Cevapla