Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.12.2012, 23:36
Pcrepair
 
Сообщения: n/a
По умолчанию Две версии Функции. что выбрать?

Добрый день. Есть два варианта функции (удаляет теги и текст между тегами)

Вариант1

Код:
function DelJS(const Code:string):string;
var
Buffer:string;
StartTeg:integer;
EndTeg:integer;
i:integer;
begin
 Buffer:=Code;
   repeat
     try
         StartTeg:=Pos('<script', Buffer);
         EndTeg:=Pos('</script>', Buffer);
         Delete(Buffer, StartTeg, EndTeg-StartTeg+9);
         i:=Pos('<script', Buffer);
     except
       break
     end;
     until  i = 0;
   Result:=Buffer;
end;

Вариант2

Код:
function DelJS(const Code:string):string;
var
EndTeg:string;
Buffer:string;
index1:integer;
index2:integer;
i:integer;
begin
EndTeg:='</script>';
Buffer:=Code;
  index1:=Pos('<script', Buffer);
    while (index1 <> 0) do
      begin
        index2 := index1;
        i := 1;
          while i <> 10 do
           begin
            try
             Inc(index2);
              if Buffer[index2] = EndTeg[i] then
               Inc(i)
             else
               i := 1;
             except
               break
             end;
           end;
         Delete(Buffer, index1, index2 - index1 + 1);
       index1 := Pos('<script', Buffer);
     end;
  Result := Buffer;
end;

Оба варианта работают в общем одинаково, удаляют что назначено, грузят проц на большом файле и все такое

ВНИМАНИЕ!!! Вопросы:
1. какой вариант более соотвествует классическому стилю программирования, более правильный?
2. может есть недостатки? кто знает, напишите, пожалуйста
Ответить с цитированием
 


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 07:05.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025