Как сделать ....
От: x-net http://laii.ru
Дата: 13.04.03 09:15
Оценка:
есть сторока
String := 'Text http://server Text';


заменить http://server на <a href=http://server>server</a>
как посчитать текст после http://название до ближайшего пробела ???
Re: Как сделать ....
От: Keeper_andrew Беларусь  
Дата: 13.04.03 10:06
Оценка:
Здравствуйте, 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. Надеюсь ты установил хелп к делфи?
Re: Как сделать ....
От: Di_wind Россия  
Дата: 13.04.03 12:46
Оценка:
Здравствуйте, 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 >>
Отлаживание — длительный процесс избавления программы от лажи.
Re[2]: Как сделать ....
От: Keeper_andrew Беларусь  
Дата: 13.04.03 16:27
Оценка:
Здравствуйте, Di_wind, Вы писали:

DW>[scrip]


DW>Пользуйся .


приведение к PChar необязательно.

Pos('http://',MyS)


Пользуйся .
Re[2]: Как сделать ....
От: x-net http://laii.ru
Дата: 13.04.03 22:41
Оценка:
Здравствуйте, Di_wind, Вы писали:

Спасибо конечно ... но всё выглядело довольно просто
poshttp:= qery6;
if pos('http://',qery6) <> 0 then begin 
position := pos('http://',poshttp); 
Delete(poshttp,1,position-1); 
position := pos('&nbsp;',poshttp); 
Delete(poshttp,position,length(poshttp)-1);   end;
qery6:=StringReplace(qery6,poshttp,'<a href="'+poshttp+'" target="_blank">'+poshttp+'</a>',Replace);
Re[2]: Как сделать ....
От: x-net http://laii.ru
Дата: 13.04.03 22:43
Оценка:
Здравствуйте, 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_>
Re: Как сделать ....
От: x-fire Россия  
Дата: 15.04.03 04:32
Оценка:
Клёвый у Вас ник неправда ли.

С уважением, x-fire.
мы идём ...
Re[2]: Как сделать ....
От: x-net http://laii.ru
Дата: 15.04.03 04:58
Оценка:
Здравствуйте, x-fire, Вы писали:

XF>Клёвый у Вас ник неправда ли.


XF>С уважением, x-fire.


Спасибо ..
Это мой ник из чата правда в том чате он уже неработает (забанен во всех комбинациях даже с &shy; )
С уважением, x-net.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.