Hepinize hayırlı günler diliyorum.
Arama yaptım ama bulamadım, yada gözümden kaçmışta olabilir. Benim şöyle bir şeye ihtiyacım var. Elimden uzun bir string var. Ben bunun içinden belli bir katarı aramak istiyorum bu arama sonucunda da bir integer, boolean değer falan dönüyorsa, bu sonuca göre aradığım katardan sonraki bir karakteri veya karakter dizini almak istiyorum. Yani başka bir ifade ile IniFile dosya yapısında olduğu gibi, Anahtar alanlara karşılık gelen değerleri almaya benziyor. Tek fark bu bir string içinde olacak. Bu konuda bir fonksiyon var mı? Yoksa döngüler ve posex gibi yordamlarlamı halletmem gerekecek. Şöyle birde örnek üzerinde ifade edeyim;
String'imin içeriği: "Merhaba hoş geldin ISIM=Mustafa, hadi sana güle güle"
işte ben bu stringi tarayacam, neye göre; ISIM katarına göre. ve bundan sonra gelen mesela 7 karakteri alacam. "Mustafa" değerini elde etmiş olacam böylece....
umarım anlaşılır olmuşumdur Hepinize kolay gelsin.
String için Katar arama
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Selamlar
POS komutu ile string içinde aradığın diğer bir stringin olup olmadığını varsa kaçıncı karakterde olduğunu bulabilirsin.
POS komutu ile string içinde aradığın diğer bir stringin olup olmadığını varsa kaçıncı karakterde olduğunu bulabilirsin.
I love my car.
Blog Yaptık
Blog Yaptık
FastStrings string işleme fonksiyonu
mege yazdı:büyük string parçaların içinde hızlı arama yapma ve değiştirme algoritmasıyış. denemedim ama verdiği örnekteki karşılaştırma inanılmaz.
10 mbyte lık dosyayı
StringReplace 8 saatte tamamlarken
FastReplace fonksiyonu yarım saniyede tamamlıyormuş. Shocked
.-.-.-.-.-.-.-. ^_^
merhaba ,
bu konuda POS funtion u işinize yarayacaktır ,
kullanımı
bezer bir kullanım işinize yarayacaktır.
bu konuda POS funtion u işinize yarayacaktır ,
kullanımı
Kod: Tümünü seç
var
Baslangic:Integer;
Cumle,Sonuc:String;
begin
Cumle:='Merhaba hoş geldin ISIM=Mustafa, hadi sana güle güle';
Baslangic:=Pos(Cumle,'ISIM=');
Sonuc:=copy(cumle,baslangic+6,7);
end;
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Genelde programlarımda bu mantığı kullanırım. Umarım yardımcı olur birine.
örn..
var
str,sonuc:string;
str:='#isimbasla#drony#isimbit##sitebasla#delphi.unreadedpost.com#sitebit#';
sonuc:=vericek(str,'#isimbasla#','#isimbit#');
sonuc drony
Kod: Tümünü seç
function Tform1.vericek(veri,basla,bit:string):string;
var
nbasla,nbit:integer;
begin
nbasla:=pos(basla,veri);
nbit:=pos(bit,veri);
//showmessage('basla '+inttostr(nbasla));
//showmessage('bit '+inttostr(nbit));
//
if nbit+nbasla>1 then begin
result:=copy(veri,nbasla+length(basla),(nbit+length(bit))-length(bit)-(nbasla+length(basla)));
end else result:='#bos#'
end;
var
str,sonuc:string;
str:='#isimbasla#drony#isimbit##sitebasla#delphi.unreadedpost.com#sitebit#';
sonuc:=vericek(str,'#isimbasla#','#isimbit#');
sonuc drony