|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.08.2012, 19:17 | #1 |
Форумчанин
Регистрация: 27.03.2012
Сообщений: 438
|
Как "перевернуть" алгоритм процедуру?
Есть такая вот функция
Код:
Например если на сайте есть структура вроде <name>Nick1</name> <name>Nick2</name> <name>Nick3</name> то вызвав IsolateText(html_code ,'<name>', '</name>',list), у нас в листе ,будит вот это Nick1 Nick2 Nick3 Но мне надо что бы функция начинала парсинг не сначала текста а с конца. Т.е есть у нас текст <name>Nick1</name> <name>Nick2</name> <name>Nick3</name> в результате должно получиться Nick3 Nick2 Nick1 Как ее переделать я не знаю, т.к. не могу понять алгоритм. Прошу помощи более опытных |
07.08.2012, 19:49 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Вместо
list.Add( foundText ); использовать list.Insert(0,foundText); При условии, что list не просто TStrings, а его наследник с неабстрактным методом Insert
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 07.08.2012 в 19:52. |
07.08.2012, 19:57 | #3 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
А что обычным циклом с обменом значений (первый с последним второй с предпоследним) никак ? Вызываете эту свою процедурку, а потом ещё таким циклом всё переворачиваете и всё. Можете всё вместе ещё в некую процедурку обернуть.
УПД. у Аватар'a решение поэлегантнее )) я просто в код даже не вчитывался ) но, думаю, для лучшей расширяемости можно добавить параметр (передать в процедуру, например, некий boolean) и в зависимости от него выбирать одно из направлений заполнения. Мой вариант, тоже в принципе так же расширяем, но основная функция будет не затронута, а проверка будет перед циклом (если true - вызывать цикл переворота). Последний раз редактировалось phomm; 07.08.2012 в 20:02. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[2D]Физика игры как в "Worms" - алгоритм | DenTiSt | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 22.06.2011 03:50 |
Как обойти "преобразование типа из "string" в "float" невозможно" | lexluter1988 | Помощь студентам | 1 | 07.08.2010 12:23 |
писал программу вылезло "попытка вызвать процедуру как функцю" объясните че не так | PlayHard | Паскаль, Turbo Pascal, PascalABC.NET | 8 | 15.05.2010 00:25 |
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. | Каравай | Microsoft Office Excel | 13 | 17.02.2010 09:53 |
"Перевернуть число" рекурсией | Dmitry333 | Помощь студентам | 6 | 03.12.2009 14:33 |