Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.04.2010, 23:50   #1
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию откинуть текст после названия домена

Здравствуйте
Скажите пожалуйста как например откинуть текст после названия домена:
http://programmersforum.ru/newthread.php?do=newthread&f=2
что бы стало так http://programmersforum.ru/

Или как можно сравнить две ссылки что бы только сравнивало их домены, раньше делал так
Код:
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
  a:integer;
begin
for i:= 0 to  650 do
for a:= 0 to  650 do
begin
if Memo1.lines[a]=Memo2.lines[i] then
begin
Memo2.lines.Delete(i);
end;
Но это уже к сожалению не подходит
designer999 вне форума Ответить с цитированием
Старый 15.04.2010, 23:55   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Парсите первый слеш, затем с конца удаляете символы количеством Pos(S,'/') при помощи delete
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 16.04.2010, 01:57   #3
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

Можно через PosEx после http:// получить положение следующего "/" и удалить всё остальное... Ну вообщем эквевалентно способу Алекса
W0LF вне форума Ответить с цитированием
Старый 20.04.2010, 17:06   #4
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

я вот сделал для откидывания начала:
Код:
Memo2.Text := StringReplace(Memo2.Text, 'http://', '', [rfReplaceAll]);
Memo1.Text := StringReplace(Memo1.Text, 'http://', '', [rfReplaceAll]);
Memo2.Text := StringReplace(Memo2.Text, 'www.', '', [rfReplaceAll]);
Memo1.Text := StringReplace(Memo1.Text, 'www.', '', [rfReplaceAll]);
А вот как программно откинуть конец ? То есть как программно задать удаления текста после первого / ?
designer999 вне форума Ответить с цитированием
Старый 20.04.2010, 17:29   #5
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

вот пробовал, но не работает
Код:
for i:=0 to Memo2.Lines.Count do
begin
while Pos('/', Memo2.Lines[i+1])<>0 do
begin
Delete(Memo2.Lines[i], Pos('/', Memo2.Lines[i+1]), Pos(Memo2.Lines[i],'/'));
end;
end;
Может это и бред, но как его сделать ума не приложу (
designer999 вне форума Ответить с цитированием
Старый 20.04.2010, 17:33   #6
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Перед тем, как парсить '/' сделайте delete(S,1,7);
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.04.2010, 17:49   #7
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Перед тем, как парсить '/' сделайте delete(S,1,7);
я уже удалил http://, как написано сообщении выше

мне осталось только удалить конец, но как ?
designer999 вне форума Ответить с цитированием
Старый 20.04.2010, 17:51   #8
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Код:
Delete(S,Pos('/',S),Length(S)-Pos('/',S)+1);
P.S. могу перепутать местами параметры в посе.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 20.04.2010, 18:02   #9
designer999
Форумчанин
 
Регистрация: 16.02.2010
Сообщений: 187
По умолчанию

Цитата:
Сообщение от Alex Cones Посмотреть сообщение
Код:
Delete(S,Pos('/',S),Length(S)-Pos('/',S)+1);
P.S. могу перепутать местами параметры в посе.
Код работает но удаляет всё что есть в МЕМО
designer999 вне форума Ответить с цитированием
Старый 20.04.2010, 18:05   #10
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Код:
for i:=0 to Memo2.Lines.Count do
begin
while Pos('/', Memo2.Lines[i+1])<>0 do
begin
Delete(S,Pos('/',S),Length(S)-Pos('/',S)+1);
end;
end;
не?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регистрация домена mutabor Свободное общение 8 02.12.2009 20:49
Текст после тега <li> Antoha HTML и CSS 2 07.08.2009 13:16
неверно отображается текст после генирации страницы SeRhy PHP 3 04.05.2009 21:32
Записать текст лесенкой(по одному слову в строке),вставляя пустую строку после каждого четверостишья klindk Паскаль, Turbo Pascal, PascalABC.NET 2 27.11.2008 14:34
Проверка домена на занятость XoTTa6bI2 Работа с сетью в Delphi 14 04.05.2007 14:42