Delphi Can
String Fonksiyonları [Çözüldü] - Baskı Önizleme

+- Delphi Can (http://www.delphican.com)
+-- Forum: Delphi (http://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Genel Programlama (http://www.delphican.com/forumdisplay.php?fid=6)
+--- Konu Başlığı: String Fonksiyonları [Çözüldü] (/showthread.php?tid=3398)



String Fonksiyonları [Çözüldü] - Mericx - 04-03-2019

Merhabalar, string olarak tuttuğum bir alanda gelen kaydın son 4 hanesini nasıl alabilirim?

s: = 'Istanbul';
s:= RightStr(s,4);

Sehir.Text := s;

Şeklinde kullandığım zaman S bilgisini boş döndürüyor. Copy ile ilk karakterini alabiliyorum ama son karakterini alabilir miyim bulamadım başka hangi yöntemler var acaba yardımcı olabilir misiniz?

Copy(s, S.Length-4, s.Length) fesih beyin ikinci yöntemi çok yardımcı oldu ^^


String Fonksiyonları - CesuR - 04-03-2019

Uses kısmına Strutils ekeyerek ardından AnsiRightStr(s,4) denermisin.


Cvp: String Fonksiyonları - cinarbil - 04-03-2019

test edilmiştir.
gelen alan sonunda boşluk olabilir.

edit2.text := AnsiRightStr(trim(edit1.Text), 4)

şeklinde  kullanablirsiniz 

var
 Form1: TForm1;

implementation

{$R *.dfm}
uses strutils  ;
procedure TForm1.FormCreate(Sender: TObject);
begin
[ars=delphi]edit2.text := AnsiRightStr(edit1.Text, 4)
end;

end.



Cvp: String Fonksiyonları - Fesih ARSLAN - 04-03-2019

Merhaba,
RightStr fonksiyonu ile de yapabilmeniz gerekiyordu. Kullandığınız yöntem doğrudur.
Farklı iki yöntem daha sunayım fakat her iki yöntem de iki medodun çalıştığını unutmayın. 
RightStr yönteminde tek metod çalışıyorken, Copy ve SubString yönteminde iki ayrı metod kullanılıyor.
I.Yöntem:
s.Substring(s.Length - 4)
II.Yöntem:
Copy(s, s.Length - 3, s.Length)



Cvp: String Fonksiyonları - Mericx - 04-03-2019

(04-03-2019, Saat: 10:55)CesuR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Uses kısmına Strutils ekeyerek ardından AnsiRightStr(s,4) denermisin.

Merhaba, Uses kısma Strutils belirttim, ve AnsiRightStr ile de denedim, ama boş döndürdü yine de :/


String Fonksiyonları - mrmarman - 04-03-2019

Buton tıkladığınız Procedure içini tamamen buraya yazar mısınız?

variable tanımını nerede yaptınız, takip eden satırda yine s'yi başka bir şeye eşitleyip yine SEHIR Editine veya başka bir şeyi SEHIR Editine 'ye eşlemiş olabilir misiniz?

Ayrıca SEHIR Edit'nin onchange gibi eventinde sayı yoksa yazma vs gibisinden bir denemeniz olabilir mi

ya da ya da ya da diye uzayacak

Bırakın SEHIR Edit'i önce bir ShowMessage ile S' yi aracısız sonucu görün ondan sonra soruna odaklanın isterseniz


Cvp: String Fonksiyonları - Fesih ARSLAN - 04-03-2019

(04-03-2019, Saat: 11:46)mrmarman Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Buton tıkladığınız Procedure içini tamamen buraya yazar mısınız?

variable tanımını nerede yaptınız, takip eden satırda yine s'yi başka bir şeye eşitleyip yine SEHIR Editine veya başka bir şeyi SEHIR Editine 'ye eşlemiş olabilir misiniz?

Ayrıca SEHIR Edit'nin onchange gibi eventinde sayı yoksa yazma vs gibisinden bir denemeniz olabilir mi

ya da ya da ya da diye uzayacak

Bırakın SEHIR Edit'i önce bir ShowMessage ile S' yi aracısız sonucu görün ondan sonra soruna odaklanın isterseniz


Merhaba,
Konu ile alakası yok ama kısa bir ara olsun. Smile
Siz tüm olabilecek mantıksal hata veya mantıksal önerileri sununca aklıma IDE ne zaman bu seviyeye gelebilir diye düşündüm.
Yapay zekanın IDE'ye uyarlanmış halini görebilecek miyiz acaba? Blush


Cvp: String Fonksiyonları - CesuR - 04-03-2019

Fesih bey çıkarsa google da yarar. Yükünü hafifletmiş olur. Hep ona soruyoruz hiç onu dinleyen yok Smile)))

Mericx, arkadaşım şöyle yaparsan komutun çalıştığını senin başka biryerde hata yaptığını göreceksin. Acaba sen sonucu alıp edite yazdırdıktan sonra Sehir.text dediğin editi ,   Sehir.text=' ' diyerek acaba sıfırlıyor olabilir misin. Onu kontrol et.


var

s:string;

begin
s:='deneme';
showmessage(ansirightstr(s,2));
end;



Cvp: String Fonksiyonları - Mericx - 04-03-2019

(04-03-2019, Saat: 12:55)CesuR Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Fesih bey çıkarsa google da yarar. Yükünü hafifletmiş olur. Hep ona soruyoruz hiç onu dinleyen yok Smile)))

Mericx, arkadaşım şöyle yaparsan komutun çalıştığını senin başka biryerde hata yaptığını göreceksin. Acaba sen sonucu alıp edite yazdırdıktan sonra Sehir.text dediğin editi ,   Sehir.text=' ' diyerek acaba sıfırlıyor olabilir misin. Onu kontrol et.


var

s:string;

begin
s:='deneme';
showmessage(ansirightstr(s,2));
end;

Aslında hayır ='' diyerek boş yapmadım içini ama neden boş döndüğünü anlamadım. Fesih beyin önerdiği Yöntem iki ile düzgün çalıştı ama şuan. Sebebini anlayamadım cidden ama bakıyorum şuan kodlara tekrar...

(04-03-2019, Saat: 11:01)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Merhaba,
RightStr fonksiyonu ile de yapabilmeniz gerekiyordu. Kullandığınız yöntem doğrudur.
Farklı iki yöntem daha sunayım fakat her iki yöntem de iki medodun çalıştığını unutmayın. 
RightStr yönteminde tek metod çalışıyorken, Copy ve SubString yönteminde iki ayrı metod kullanılıyor.
I.Yöntem:
s.Substring(s.Length - 4)
II.Yöntem:
Copy(s, s.Length - 3, s.Length)

Yardımınız için çok teşekkür ederim 2.yöntem ile gayet güzel çalıştı Smile

Yazdığım kodda düzgün gözüküyor ama içini sıfırlamadığım halde boş değer geliyordu.Bir yerde hata mı yaptım onu inceliyorum şuan.