List<String> etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
List<String> etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

16 Ağustos 2014 Cumartesi

Delphi ile ExtractStrings Kullanımı



Öncelikle metodun ne iş yaptığından bahsedelim. Adından da anlaşılacağı gibi kendisine parametre olarak verilen string bir değeri yine kendisine parametre olarak verilen seperator lere ayırarak size bir string tipinde bir liste döner. Aslında döner dediğime bakmayın, bu bir function değil bir procedure. Dolayısı ile yine kendisine parametre olarak verilen  TStrings sınıfından türetilmiş bir Liste yi dolduruyor. Aşağıdaki örnek ile daha net anlayabiliriz



Metodun en can alıcı özelliklerinden birisi ayıraç olarak kullanacağımız Char tipindeki değişkenlerin çeşitliliği. Birden fazla ayraç kullanabiliyoruz.


Metod kullanılırken dikkat edilmesi gereken diğer bir husus ise parametre olarak göndermiş olduğumuz list tipindeki değişkenin tarafımızdan Create edildikten sonra metodumuzda kullanılması gerektiğidir. Eğer Create etmezsek ExtractStrings metodu Exception Throw ediyor. (Access Violation)




procedure TForm1.btnParseClick(Sender: TObject);
var
  Str: String;
  parsedList: TStringList;
begin
  Str := '1, 2, 3, 4, 5, 6, 7, 8; 9: 10_11_12;13:14;16-17.18.19';
  parsedList := TStringList.Create; // Create Etmeyi Unutmayın Yoksa Metodunuz Hata Fırlatacaktır
  ExtractStrings([':', ';', '.', ',', '_', '-'], [' '], PAnsiChar(Str), parsedList);
  edParsedStr.Lines.Assign(parsedList);
  parsedList.free; // işimiz bitti artık free ediyoruz.
end;


Çıktısı: