Pos Döngü

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
bkantur
Üye
Mesajlar: 47
Kayıt: 23 Kas 2013 04:45
Konum: Balıkesir

Pos Döngü

Mesaj gönderen bkantur »

Bu kodları nasıl döngüye sokabilirim ? Bana sadece ilk satırı veriyor :(

Kod: Tümünü seç

begin
  strBlok := Memo1.text;
  strAra := '<OPTION value=INST_';
  if Pos( strAra, strBlok ) > 0 then
    begin
      strGecici := strBlok;
      System.Delete(strGecici, 1, Pos(strAra, strGecici) + Length(strAra)-1 );
         strAra := '>';
         System.Delete(strGecici, 1, Pos(strAra, strGecici) + Length(strAra)-1 );
      Memo2.Lines.Add (Copy(strGecici, 1, Pos('<', strGecici)-1 ));
    end;
end;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Pos Döngü

Mesaj gönderen mrmarman »

If pos kısmını While Pos olarak döngüye dönüştürebilirsin.

Yapılmışı şöyle :

Kod: Tümünü seç

procedure ComboIcerik( strIcerik, strAranan : String; Liste : TStrings );
Var
  strGecici, strAra : String;
begin
  Liste.Clear;
  strGecici := strIcerik;
  while Pos( strAranan, strGecici ) > 0 do
  begin
    strAra := strAranan;
    System.Delete(strGecici, 1, Pos(strAra, strGecici) + Length(strAra)-1 );
       strAra := '>';
       System.Delete(strGecici, 1, Pos(strAra, strGecici) + Length(strAra)-1 );
    Liste.Add( Copy(strGecici, 1, Pos('<', strGecici)-1 ) );
  end;
end;
Kullanımı :

Kod: Tümünü seç

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  ComboIcerik( Memo1.Lines.Text, '<OPTION value=INST_', Memo2.Lines );
end;
Resim
Resim ....Resim
Cevapla