есть сторока
String := 'Text http://server Text';
заменить
http://server на <a href=
http://server>server</a>
как посчитать текст после
http://название до ближайшего пробела ???
Здравствуйте, x-net, Вы писали:
XN>есть сторока
XN>XN>String := 'Text http://server Text';
XN>
Во первых нельзя в качестве имени переменной использовать идентификатор типа.
XN> заменить http://server на <a href=http://server>server</a>
XN>как посчитать текст после http://название до ближайшего пробела ???
Почитай хелп по функциям работы над строками Pos, Delete, Copy. Надеюсь ты установил хелп к делфи?
Здравствуйте, x-net, Вы писали:
Вот тебе функция, удаления куска
http://до_пробела
а если хочешь вместо этого куска чего-то вставить убери комментарии с жирной строки.
function StrDel(MyS:AnsiString): AnsiString;
var
BegInd,Index:integer;
Tmp:AnsiString;
begin
BegInd:=Pos(Pchar('http://'),PChar(MyS));
while(BegInd<>0) do
begin
tmp:=Copy(MyS, BegInd , Length(MyS));
Delete(mys, BegInd-1, Length(MyS));
Index:= Pos(' ', PChar(Tmp));
Delete(tmp, 1, Index);
//Insert(' Хочу вставить ',tmp,1);
MyS:= MyS + tmp; tmp:='';
BegInd:=Pos(Pchar('http://'),PChar(MyS));
end;
result:=mys;
end;
Набросано на скорую руку, но вроде работает.
Пользуйся

.
... << RSDN@Home 1.0 beta 6a >>
Здравствуйте, Di_wind, Вы писали:
DW>[scrip]
DW>Пользуйся
.
приведение к PChar необязательно.
Pos('http://',MyS)
Пользуйся

.
Здравствуйте, Di_wind, Вы писали:
Спасибо конечно ... но всё выглядело довольно просто
poshttp:= qery6;
if pos('http://',qery6) <> 0 then begin
position := pos('http://',poshttp);
Delete(poshttp,1,position-1);
position := pos(' ',poshttp);
Delete(poshttp,position,length(poshttp)-1); end;
qery6:=StringReplace(qery6,poshttp,'<a href="'+poshttp+'" target="_blank">'+poshttp+'</a>',Replace);
Здравствуйте, Di_wind, Вы писали:
Хотя Функция гденить и пригодится ...
D_>D_>function StrDel(MyS:AnsiString): AnsiString;
D_>var
D_> BegInd,Index:integer;
D_> Tmp:AnsiString;
D_>begin
D_> BegInd:=Pos(Pchar('http://'),PChar(MyS));
D_> while(BegInd<>0) do
D_> begin
D_> tmp:=Copy(MyS, BegInd , Length(MyS));
D_> Delete(mys, BegInd-1, Length(MyS));
D_> Index:= Pos(' ', PChar(Tmp));
D_> Delete(tmp, 1, Index);
D_> //Insert(' Хочу вставить ',tmp,1);
D_> MyS:= MyS + tmp; tmp:=
'';
D_> BegInd:=Pos(Pchar(
'http://'),PChar(MyS));
D_>
end;
D_>result:=mys;
D_>
end;
D_>
Клёвый у Вас ник неправда ли.
С уважением, x-fire.