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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 17.03.2011, 15:57   #11
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Код:
S;='abracadabra<online tag1=2 tag2=3>abracadabra';
x:=Pos('<online',S);
S2:=Copy(S,X+8,PosEx('>',S,X+1)-1);{S='tag1=2 tag3=2'}
S - ваш текст
в S2 будет "tag1=2 tag3=2"

Код:
uses SysUtils,StrUtils;
не забудьте
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума
Старый 17.03.2011, 16:34   #12
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а не надо там ничего удалять, посмотрите сначало что вам Copy вернет, я ж не спроста ShowMessage ставлю, при отладке очень полезно
у меня процедура именно с удалением. Copy рернет то, что мне как раз удалить надо будет

Цитата:
Сообщение от Johnson Посмотреть сообщение
Код:
S;='abracadabra<online tag1=2 tag2=3>abracadabra';
x:=Pos('<online',S);
S2:=Copy(S,X+8,PosEx('>',S,X+1)-1);{S='tag1=2 tag3=2'}
S - ваш текст
в S2 будет "tag1=2 tag3=2"

[CODE]
проблема в том что длина текста, который надо удалить, не фиксирована.

Последний раз редактировалось Stilet; 23.03.2011 в 09:44.
Shinnok91 вне форума
Старый 17.03.2011, 16:38   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

вам же вроде нужно было содержимое тэга online(содержимое, не аттрибуты)? это у меня Copy и вернет.
вы б хоть посмотрели что оно вытащит то.
и вообще приведите пример кода, и что надо с него вытащить, будет проще.
Цитата:
проблема в том что длина текста, который надо удалить, не фиксирована.
скажите честно, вы хоть немного пытаетесь разобраться в коде? где вы там увидели фиксированную длину? все находится динамически, то есть переменно!
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 17.03.2011, 16:38   #14
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

а причем тут фиксированая длина текста? Мой код находит параметры тэга online и всё
покажите что у вас есть, и что вы из этого хотите получить.
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума
Старый 17.03.2011, 16:47   #15
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

<online type="2">
орввыжрмжывао
</online>
вот участок кода страницы.
нужно вывести "орввыжрмжывао" (ну то что там находится).
Код:
begin
Delete(Send,1, P+*);
Delete(Send, pos('</online>', Send), Length(Send));
Edit7.Text := Send;
end
вместо звездочки нужно подставить переменную, которая бы обозначала число символов в строке <online type="2">

Последний раз редактировалось Stilet; 23.03.2011 в 09:45.
Shinnok91 вне форума
Старый 17.03.2011, 16:53   #16
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
var i:integer;
     s:string;//наша строка в которой будем искать

i:=PosEx('>',s,Pos('<online',s))+1;
ShowMessage(Copy(s,i,PosEx('<',s,i)-i));
я же дал решение, проверьте его.
я не у компиля просто, не могу сам проверить(пишу все по знаниям)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 17.03.2011, 16:58   #17
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
var i:integer;
     s:string;//наша строка в которой будем искать

i:=PosEx('>',s,Pos('<online',s))+1;
ShowMessage(Copy(s,i,PosEx('<',s,i)-i));
я же дал решение, проверьте его.
я не у компиля просто, не могу сам проверить(пишу все по знаниям)
я проверял. не работает. хотя все модули которые нужно подключил
Shinnok91 вне форума
Старый 17.03.2011, 17:13   #18
OlegVE
Форумчанин
 
Регистрация: 27.09.2010
Сообщений: 376
По умолчанию

Здравствуйте
Shinnok91. Попробуйте ещё раз, но уже внимательно перечитать сообщения от Пепел Феникса, потом заглянуть в справку по PosEx (StrUtils) и обратить внимание на слово первое (first).
До свидания

Последний раз редактировалось OlegVE; 17.03.2011 в 17:16.
OlegVE вне форума
Старый 17.03.2011, 17:33   #19
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ТС специально ради вас скачал Делфи 7 и поставил.
ловите скрин, того что я все написал верно.
Изображения
Тип файла: jpg 1.jpg (27.4 Кб, 114 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума
Старый 17.03.2011, 17:46   #20
Shinnok91
Пользователь
 
Регистрация: 30.07.2010
Сообщений: 30
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ТС специально ради вас скачал Делфи 7 и поставил.
ловите скрин, того что я все написал верно.
ну хорошо. попробую еще раз

Все, спасибо. Алгоритм работает. Протестировал при различных ситуациях, ошибкок пока не было

тему можно закрывать. Спасибо Пепел Феникса за помощь

Последний раз редактировалось Stilet; 23.03.2011 в 09:46.
Shinnok91 вне форума
Закрытая тема


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что делать, если количество символов в билдере не соответствует количеству символов в билде? BoT_T Общие вопросы Delphi 0 16.11.2010 10:42
Вызов события из произвольного участка кода в WPF Casper-SC Общие вопросы .NET 1 24.07.2010 10:23
количество строк на последней странице документа Jaroslav Microsoft Office Excel 5 08.06.2010 08:43
количество цифр и количество символов до первой гласной буквы 111111 Общие вопросы C/C++ 2 22.12.2008 12:15