|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Использование строковой переменной в цикле
Добрый день. нужно уточнить один вопрос.
есть код цикла : Код:
const HtmlTrash: array[0..3] of string = ('&','laquo;','raquo;','nbsp;'); .... function UrlsDataCorrector(const aData:string):string; var TrashStr:string; ... for J := Low(HtmlTrash) to High(HtmlTrash) do begin TrashStr:=HtmlTrash[J]; Repeat Cnt:=PosEx(TrashStr,UrlStrFull,1); if Cnt > 0 then Delete(UrlStrFull,Cnt,Length(TrashStr)); Until Cnt = 0; end; где для обработки данных используется дополнительная переменна TrashStr Вопрос : в случае если значение HtmlTrash[J] используется в цикле более одного раза как правильно с точки зрения потребления ресурсов памяти и быстродействия : - использовать дополнительную переменную TrashStr - везде где надо использовать HtmlTrash[J] вместо TrashStr а то уже такие обработки идут что i7(8 ядер) начинает тормозить |
#2
|
||||
|
||||
StringReplace
Код:
const HtmlTrash: array[0..3] of string = ('&','laquo;','raquo;','nbsp;'); .... function UrlsDataCorrector(const aData:string):string; ... for J := Low(HtmlTrash) to High(HtmlTrash) do UrlStrFull := StringReplace(UrlStrFull, HtmlTrash[J], '', [rfReplaceAll, rfIgnoreCase]); ... Грамотно поставленный вопрос содержит не менее 50% ответа. Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть. |