Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

Merhaba,
Öncelikle bu güzel forumun bana birçok faydası dokundu emeği geçen herkese teşekkürü bir borç bilirim.

sorunuma gelince memo içerisinde "merhaba dünya bugün hava güneşli" 20 30 satırlık bir yazı var bu yazı içeriisindeki kelimeleri teker teker listbox'a listelemeliyim bunu nasıl yapabilirim? Bana çok büyük faydası dokunacak şimdiden çok teşekkürler
Kullanıcı avatarı
brs
Üye
Mesajlar: 626
Kayıt: 04 Eki 2012 03:52

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen brs »

Ne mutlu bizlere o zaman :)

viewtopic.php?t=24197

Zamanında biriside sizin gibi sormuş; Kolay gelsin...
İşi bilen yardım eder, az bilen akıl verir, bilmeyen eleştirir, yapamayan ise çamur atar...
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

Cevabınız için teşekkürler fakat listbox ile memo arasında dağlar kadar fark var.

mesela sizin mesajınızı o yöntemle okutmaya çalışsam kelime kelime değil satır satır okur.

mesela benim cevabım için örnek verirsek önce "Cevabınız" sonra "için sonra "teşekkürler" şeklinde kelime kelime okutmaktan bahsediyorum memo'da yazılan metini...
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

Şu konuda yardımcı olsanız da kafi hocam

Kod: Tümünü seç

  a:=Pos(' ',Memo1.Lines[0]); // İlk boşluk Kaçıncı karakter.


kelime := Copy(Memo1.Lines[0],0,a-1); // Boşluktan töncesi

listbox1.Items.Add(kelime); //kelimemizi listbox'a ekledik

   s:=memo1.Lines.Strings[0]; 


    son:=Pos(' ',s); //ilk boşluk kaçıncı karakter
  System.Delete(s,1,s-1); //aynı kelimeyi silmek
burada kelimeyi kopyalayıp listbox'a ekleyebiliyorum fakat bu sefer delete komutu ile kelime değil tüm satır siliniyor
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen SimaWB »

TStringList'in DelimitedText özelliği ile yapabilirsiniz.
Yada StringReplace ile boşluk yerine #13#10 koyabilirsiniz.
There's no place like 127.0.0.1
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

Hocam çok teşekkürler yalnız bu sefer de döngü sorunu çıkıyor bir türlü bütün kelimeleri listeleyemedim

Kod: Tümünü seç

var
  SL: TStringList;
  i:integer;

begin
  SL := TStringList.Create;

  try
    SL.Delimiter := ' ';//Boşluk
       for i := 0 to memo1.Lines.Count-1 do
            begin
    SL.DelimitedText :=memo1.Lines[i];

             end;

            for i := 0 to Sl.Count-1 do
            begin
    listbox1.Items.Add(SL.Strings[i]) ;

        end;

  finally
    SL.Free;
  end;
end;
böyle for döngüsünde sadece son satırdaki kelimeleri listeliyor for döngüsü beraber çalıştığı için olsa gerek bu konuda fikir verirseniz süper olur
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

tamamdır buldum

Kod: Tümünü seç

var
  SL: TStringList;
  i,a:integer;

begin
  SL := TStringList.Create;

  try
    SL.Delimiter := ' ';//Boşluk
       for i := 0 to memo1.Lines.Count-1 do
            begin
    SL.DelimitedText :=memo1.Lines[i];
                 begin
                  for a := 0 to Sl.Count-1 do
                   begin
    listbox1.Items.Add(SL.Strings[a]) ;

                   end;
        end;

             end;


  finally
    SL.Free;
  end;
end;
for döngülerini iç içe koymam gerekiyormuş hepinize teşekkür ederim
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen SimaWB »

İşlemlerinizi neden satır satır yapıyorsunuz ki?

Kod: Tümünü seç

SL.DelimitedText := Memo1.Lines;
listbox1.Items := SL;
There's no place like 127.0.0.1
hakanharbeli
Üye
Mesajlar: 76
Kayıt: 01 Nis 2016 03:58

Re: Memo'daki Kelimeleri Tek Tek Listbox'a Ekleme

Mesaj gönderen hakanharbeli »

Vallahi de oldu böyle bir özelliğinin olduğunu bilmiyordum çok teşekkürler hocam sadece memo1.lines yerine text olmalı orası
Cevapla