Merhabalar
Edit1.text:=WXN0A99R38222332424601002
edit 1 okuduğu bu değerleri numerik ve alfanumerik olarak nasıl ayrıştırabiliriz
islenilen çıktı
Edit2.Text:=WXNAR
Edit3.Text:=09938222332424601002
Numerik ve alfanumerik karekterleri ayrıştırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Numerik ve alfanumerik karekterleri ayrıştırma
Merhaba;
Uses bölümüne Character referansını ekleyin.
Daha sonra aşağıdaki kod yapısı ile metinsel bir yaptı metin ve sayı olarak ayırabilirsiniz.
İyi çalışmalar....
Uses bölümüne Character referansını ekleyin.
Kod: Tümünü seç
Uses
System.Character;
Kod: Tümünü seç
var
Metin,karakterSayi,karaktetMetin: String;
i: integer;
begin
Metin := Edit1.Text;
karakterSayi:='';
karaktetMetin:='';
for i := 1 to Length(Metin) do
begin
if IsDigit(Metin[i]) then
karakterSayi:=karakterSayi+Metin[i]
else
karaktetMetin:=karaktetMetin+Metin[i];
end;
Edit2.Text := karaktetMetin; //Metin kısmı
Edit3.Text := karakterSayi; //Sayısal kısmı
end;
Re: Numerik ve alfanumerik karekterleri ayrıştırma
merhabalar referans kodu hata veriyor;
Build
[Fatal Error] Unit_DB_.pas(7): File not found: 'System.Character.dcu'
Build
[Fatal Error] Unit_DB_.pas(7): File not found: 'System.Character.dcu'
- fesiharslan
- Üye
- Mesajlar: 591
- Kayıt: 20 Eki 2006 11:37
- Konum: Erzurum
- İletişim:
Re: Numerik ve alfanumerik karekterleri ayrıştırma
Merhaba;
System.Character, Delphi XE2 ve daha üst sürümlerinde yer almaktadır. Bu üst sürümlerden birini kullanıyorsanız, System path'ini tanımlamamış veya yalnışlıkla silmişsiniz demektir.
Bunun için Delphi menüsünden Library Path kısmına $(BSD)\Lib ekleyin.
İyi çalışmalar...
System.Character, Delphi XE2 ve daha üst sürümlerinde yer almaktadır. Bu üst sürümlerden birini kullanıyorsanız, System path'ini tanımlamamış veya yalnışlıkla silmişsiniz demektir.
Bunun için Delphi menüsünden Library Path kısmına $(BSD)\Lib ekleyin.
İyi çalışmalar...
Re: Numerik ve alfanumerik karekterleri ayrıştırma
Merhaba,
Kandiliniz mübarek olsun diyerek minik bir fonksiyon ile destek sunalım.
Delphi sürümlerine bağımlı değildir.
IF sorgusunu bir normal bir de NOT hali ile kurarak mantığı sergilenmek istenmiştir.
Mantık göreceğiniz üzere parametre olarak verilen string ifadeyi baştan başlayarak karakter karakter elimine ederken 0-9 arasında mıdır şeklinde karşılaştırmasını yapıyor.
Kullanımı :
başarılar.
Kandiliniz mübarek olsun diyerek minik bir fonksiyon ile destek sunalım.
Delphi sürümlerine bağımlı değildir.
IF sorgusunu bir normal bir de NOT hali ile kurarak mantığı sergilenmek istenmiştir.
Mantık göreceğiniz üzere parametre olarak verilen string ifadeyi baştan başlayarak karakter karakter elimine ederken 0-9 arasında mıdır şeklinde karşılaştırmasını yapıyor.
Kod: Tümünü seç
function Numeric( strIcerik:String; boolNumeric:boolean ): string;
begin
while strIcerik <> '' do begin
if ( strIcerik[1] in ['0'..'9'] ) and boolNumeric
then result := result + strIcerik[1]
else
if NOT ( strIcerik[1] in ['0'..'9'] ) and NOT boolNumeric
then result := result + strIcerik[1];
system.Delete(strIcerik, 1, 1);
end;
end;
Kod: Tümünü seç
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Edit1.text := 'WXN0A99R38222332424601002';
Edit2.Text := Numeric( Edit1.Text, False );
Edit3.Text := Numeric( Edit1.Text, True );
end;
başarılar.
Re: Numerik ve alfanumerik karekterleri ayrıştırma
Ellerinize sağlık fesihaslan ve mrmarman