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

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

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

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

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 27.03.2014, 18:04   #1
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию Оптимизация определённой функции парсинга

Имеем:
StringList со строками вида
Код:
link1=http://site.ru?param1=123&param2=456
link2=http://site.ru?param1=789&param2=345
И так далее. И имеется строка, которую мне необходимо распарсить примерно такого вида.
Код:
<html>#link1#<br>#link2#<html>.
Задача получить из такой строки соответственно
Код:
<html>http://site.ru?param1=123&param2=456<br>http://site.ru?param1=789&param2=345<html>.
Не могу сообразить, каким способом можно произвести преобразование. На ум приходит максимум pos, copy, и т.д, но понимаю что можно обойтись более лояльными методами. Может кто нибудь подсказать методику?

Последний раз редактировалось XE5; 27.03.2014 в 18:40.
XE5 вне форума
Старый 27.03.2014, 18:09   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

StringReplace
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума
Старый 27.03.2014, 18:29   #3
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Пробовал. Чёт не получается
Код:
 
for i := 0 to StringList.Count - 1 do
   Result := AnsiReplaceStr(str, '#' + StringList.Names[i] + '#', StringList.ValueFromIndex[i]);

Последний раз редактировалось XE5; 27.03.2014 в 18:35.
XE5 вне форума
Старый 27.03.2014, 18:36   #4
Poma][a
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 3,882
По умолчанию

(Я в Вашем Дельфине не в зуб ногой, но всё же рискну предположить : ) Вы ищите #Link1#, а у Вас #link1#
Poma][a вне форума
Старый 27.03.2014, 18:40   #5
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Poma][a Да это я от руки писал, ошибку допустил. Имена и значения поступают с сервера в стандартной раскладке, так что там всё нормально.
XE5 вне форума
Старый 27.03.2014, 18:45   #6
XE5
Заблокирован
 
Регистрация: 02.03.2014
Сообщений: 439
По умолчанию

Вопрос закрыт. Накосячил в функции, не объявив временную переменную.
XE5 вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выбор функции при нажатии определённой клавиши. С++ Cipher Помощь студентам 1 26.03.2013 20:43
Оптимизация парсинга Lauri Общие вопросы Delphi 3 08.03.2012 14:54
Оптимизация парсинга Lauri Общие вопросы Delphi 5 14.01.2012 00:04
Оптимизация функции assch Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 07.02.2011 21:36
Оптимизация функции... prizrak1390 Общие вопросы Delphi 17 11.12.2009 15:14