Merhaba,
Edit1.Text'e girilen değerin sayı mı, kelime mi, tarih mi olduğunu
nasıl tesbit edebilirim.
Örneğin Edit1.Text'e
1-yanlız sayı girilmişse,
2-kelime ve sayı girilmişse,
3-tarih girilmişse,
diye nasıl ayırabilirim.
Teşekkürler.
Edit1.Text'e girilen değer
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Merhaba,
Size fikir vermesi açısından yazdım kodu. Mantığı çok açık kodu geliştirebilirsiniz.
Kolay Gelsin...
Size fikir vermesi açısından yazdım kodu. Mantığı çok açık kodu geliştirebilirsiniz.
Kod: Tümünü seç
var
Str:String;
i:Integer;
topR:Integer;
topH:Integer;
topD:Integer;
begin
Str := Edit1.Text;
topH := 0;
topR := 0;
topD := 0;
for i := 1 to Length(Str) do
if Str[i] in ['a'..'z'] Then
Begin
TopH := TopH + 1;
End
Else
if Str[i] in ['A'..'Z'] Then
Begin
TopH := TopH + 1;
End
Else
if Str[i] in ['0'..'9'] Then
Begin
TopR := TopR + 1;
End
Else
if Str[i] in ['/'] Then
Begin
TopD := TopD + 1;
End;
if (TopR > 0) and (TopH > 0) Then
ShowMessage('Edit1 Hem karakter hem sayısal ifade içeriyor')
Else
if (TopD > 0) Then
ShowMessage('Edit1 Tarih değeri içeriyor')
Else
if (TopR > 0) Then
ShowMessage('Edit1 sayısal ifade içeriyor')
Else
if (TopH > 0) Then
ShowMessage('Edit1 Karakter ifade içeriyor')
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
-
- Üye
- Mesajlar: 9
- Kayıt: 24 Haz 2004 12:06
Örnek bir kod:
Kod: Tümünü seç
var
DT: TDateTime;
I: Int64;
S: string;
begin
S := Trim(Edit1.Text);
if S = '' then
//boş
else
begin
DT := StrToDateTimeDef(S, 0);
if DT <> 0 then
// Tarih
else
begin
I := StrToInt64Def(S, 0);
if (I <> 0) then
//Sayı
else
// kelime veya kelime sayı karışımı
end;
end;
end;