Ne işe yarar?
diyelimki aşağıdaki gibi bir string'iiz olsun.
metin:='OP||324324324|||||DELPHI^TURKIYE||'; gibi
foncsiyon ile delphi kısmını almak için;
karakterarsi(metin,'|','^',7,1); yaptığınızda size DELPHI çıktısını verecektir.
türkiye kısmını almak için;
karakterarsi(metin,'^','|',1,8); yaptığınızda size TURKIYE çıktısını verecektir.
stringdeki 324324324 sayıyı almak için;
karakterarsi(metin,'|','|',2,3); gibi
fonksiyondaki değişkenler şu şekilde;
metin= göndereceğimiz string.
k1= ilk karakter
k2= ikinci karakter
p1= ilk karakterin stringde sırası
p2= ikinci karakterin stringdeki sırası
Fonksiyonun belirli bir protokolde haberleşen programlarınızda mutlaka işinize yarıyacaktır..
Kod: Tümünü seç
function TForm1.karakterarasi(metin, k1, k2: String; p1: Integer; p2: integer): string;
var
mtnuzlk:Integer;
i,j:Integer;
s1:String;
liste1,liste2:TStringList;
basla,bitir:Integer;
begin
liste1:=TStringList.Create;
liste2:=TStringList.Create;
mtnuzlk:=(Length(metin));
for i:=1 to mtnuzlk do
begin
if k1=Copy(metin,i,1) then
begin
liste1.Add(IntToStr(i));
end;
end;
for j:=1 to mtnuzlk do
begin
if k2=Copy(metin,j,1) then
begin
liste2.Add(IntToStr(j));
end;
end;
basla:=StrToInt(liste1[p1-1]);
bitir:=StrToInt(liste2[p2-1]);
s1:=Copy(metin,basla+1,bitir-basla-1);
liste1.Free;
liste2.Free;
ShowMessage(s1);
end;