Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Boşluk Konumu
#1
Merhaba Arkadaşlar,
Editbox ıcınde girilen bilgideki en sondakı boslugun konumu yani soldan kacıncı karakterde oldugunu anlayabiliceğim önerebiliceğiniz kısa bir yol varmıdır ?
Aslında İsim ve Soyisim bilgisinden sadece soyadı bölümünden en baştaki  3 karakter koparmak ıstıyorum pos ıle alıyorum ama 3 parcalı olunca sıkıntı oluyor. Angel Dodgy
Cevapla
#2
var
 SL: TStringList;
begin
 SL := TStringList.Create;
 try
   SL.Delimiter := ' ';
   SL.DelimitedText := 'Ali Veli 49 elli';
   // Bu şekilde kullandıktan sonra örneğin SL.Strings[1]'in değeri Ali, SL.Strings[2]'nin değeri 49 vs. olur.
 finally
   SL.Free;
 end;
There's no place like 127.0.0.1
WWW
Cevapla
#3
Bir ara bana da lazim olmuştu. Mantik olarak yaziyi tersten yazdirdim. boylece soyad en basa gecti. boylece istediğim veriyi alabilmistim.

SimaWB benden once yazmis. O yontemi bilmiyordum. Teşekkürler.
Cevapla
#4
Geri dönüşleriniz için çok sağolun arkadaşlar. İhtiyacı olana kullandığım şeklini paylaşabilirim.
Cevapla
#5
Kimin ne zaman ihtiyacı olacağı belli olmaz. Siz paylaşın lütfen; muhakkak birisinin işine yaracaktır  Wink
There's no place like 127.0.0.1
WWW
Cevapla
#6
var
  SL:TStringList;
begin
    DemirBasno:= txtKitaptur.Properties.Items[txtKitaptur.ItemIndex].Value; //KitapTur

    SL:=TStringList.Create;        //Yazarın soyismi
    try
      SL.Delimiter:=' ';
      SL.DelimitedText:=txtYazari.Text;
     if SL.Count>2 then
      DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[SL.Count-1],3);
     else
     DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[1],3);
      finally
      SL.Free;
    end;


İşime yarayan bölümü ise Ad-Soyad Textbox ıcın Soyadı bolumunun ılk 3 karakterıne ıhtıyacım vardı. Girilen değerin boslukları sayarak eger 3 parcadan oluşuyor ise sondakı boslukdan sonra 3 karakter al eger yok ise ilk boslukdan 3 karakter al dıyerek devam et.
Cevapla
#7
(07-03-2017, Saat: 12:31)kasparov58 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSL:TStringList;
begin


    DemirBasno:= txtKitaptur.Properties.Items[txtKitaptur.ItemIndex].Value; //KitapTur

    SL:=TStringList.Create;        //Yazarın soyismi
    try
      SL.Delimiter:=' ';
      SL.DelimitedText:=txtYazari.Text;
     if SL.Count>2 then
      DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[2],3);
     else
     DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[1],3);
      finally
      SL.Free;
    end;

İşime yarayan bölümü ise Ad-Soyad Textbox ıcın Soyadı bolumunun ılk 3 karakterıne ıhtıyacım vardı. Girilen değerin boslukları sayarak eger 3 parcadan oluşuyor ise sondakı boslukdan sonra 3 karakter al eger yok ise ilk boslukdan 3 karakter al dıyerek devam et.

eğer dört yada daha fazla parçadan oluşur ise ne olacak.  SL.Strings[2] yerine SL.Strings[SL.Count-1] yazarak kullanırsanız daha doğru olacaktır.


SL:=TStringList.Create;        //Yazarın soyismi
   try
     SL.Delimiter:=' ';
     SL.DelimitedText:=txtYazari.Text;
     if SL.Count>0 then
       DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[SL.Count-1],3);
     finally
       SL.Free;
   end;
Cevapla
#8
(07-03-2017, Saat: 13:54)AhmetBi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Oleğer dört yada daha fazla parçadan oluşur ise ne olacak.  SL.Strings[2] yerine SL.Strings[SL.Count-1] yazarak kullanırsanız daha doğru olacaktır.

O zaman hep aynı değeri elde etmeyecek mi? Metinden 2 parça kullanıyor, senin yaptığın gibi olursa hep tek parçanın değerini okuyacak gibi görünüyor.

E.O.F.  (End Of Fun )
Rolleyes
Cevapla
#9
(07-03-2017, Saat: 13:54)AhmetBi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(07-03-2017, Saat: 12:31)kasparov58 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye OlSL:TStringList;
begin


    DemirBasno:= txtKitaptur.Properties.Items[txtKitaptur.ItemIndex].Value; //KitapTur

    SL:=TStringList.Create;        //Yazarın soyismi
    try
      SL.Delimiter:=' ';
      SL.DelimitedText:=txtYazari.Text;
     if SL.Count>2 then
      DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[2],3);
     else
     DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[1],3);
      finally
      SL.Free;
    end;

İşime yarayan bölümü ise Ad-Soyad Textbox ıcın Soyadı bolumunun ılk 3 karakterıne ıhtıyacım vardı. Girilen değerin boslukları sayarak eger 3 parcadan oluşuyor ise sondakı boslukdan sonra 3 karakter al eger yok ise ilk boslukdan 3 karakter al dıyerek devam et.

eğer dört yada daha fazla parçadan oluşur ise ne olacak.  SL.Strings[2] yerine SL.Strings[SL.Count-1] yazarak kullanırsanız daha doğru olacaktır.

SL:=TStringList.Create; //Yazarın soyismi
try
SL.Delimiter:=' ';
SL.DelimitedText:=txtYazari.Text;
if SL.Count>0 then
DemirBasno:= DemirBasNo+'/'+LeftStr(SL.Strings[SL.Count-1],3);
finally
SL.Free;
end;

Dönüşünüz için teşekkür ederim.Doğru halini paylaştım.
Cevapla
#10
(07-03-2017, Saat: 14:08)ramazan_t Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
(07-03-2017, Saat: 13:54)AhmetBi Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Giriş yap veya Üye Oleğer dört yada daha fazla parçadan oluşur ise ne olacak.  SL.Strings[2] yerine SL.Strings[SL.Count-1] yazarak kullanırsanız daha doğru olacaktır.

O zaman hep aynı değeri elde etmeyecek mi? Metinden 2 parça kullanıyor, senin yaptığın gibi olursa hep tek parçanın değerini okuyacak gibi görünüyor.

SL.Count-1 her zaman son alanı verir.
Örneğin

Ali Veli Gedikli
SL.Strings[SL.Count-1] = Gedikli olur

Ali Veli Gedikli Boranoğlu
SL.Strings[SL.Count-1] = Boranoğlu olur
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Hangi sürüm delphi kullanmalıyım ? seci20 9 219 14-07-2018, Saat: 18:42
Son Yorum: SercanTEK
Exclamation [ÇÖZÜLDÜ] Delphi EXE Resource TR Dil Sorunsalı mrmarman 6 174 12-07-2018, Saat: 11:09
Son Yorum: mrmarman
  Delphi ile recovery mode Lord_Ares 19 570 06-07-2018, Saat: 01:24
Son Yorum: Lord_Ares
  delphi içinden şablon çağırma murtishow76 13 428 29-06-2018, Saat: 13:00
Son Yorum: murtishow76
  Delphi Json Parse yhackup 8 186 27-06-2018, Saat: 02:15
Son Yorum: canbir



Konuyu Okuyanlar: 1 Ziyaretçi