1. Pascal / Говнокод #1841

    +68.6

    1. 1
    2. 2
    3. 3
    4. 4
    function isstring(str1,str2:string):boolean;
    begin
    result:=(AnsiPos(AnsiLowerCase(str1),AnsiLowerCase(str2))>0)
    end;

    Функция проверяет, содержит ли строка str2 строку str1 не учитывая регистр.
    Возвращает true, если содержит, в противном случае возвращает false.

    Запостил: nikmihej, 14 Сентября 2009

    Комментарии (9) RSS

    • лопата в том, что строки передаются по значению?
      Ответить
      • дельфийские строки передаются по ссылке
        Ответить
        • Но без const, насколько я помню, участвуют в плясках с refcount'ами при входе и выходе из метода, и весь метод неявно (компилятором) обкладывается в try-finally. Тоже полезный довесок для мелкой часто используемой функции :)
          Ответить
    • И в чём тут говнокод, я вроде Delphi ещё не забыл, а понять не могу...
      Ответить
      • ну хотя бы в имени функции - идиотизм редкостный
        Ответить
    • AnsiPos возвращет позицияю первого вхождения
      по идее надо заменить на AnsiStrPos
      а вот как по быстрому поменять регистр хз
      Ответить
    • В Delphi наверняка есть встроенная функция для этого. А так вообще не смешно
      Ответить
    • в дельфи с десяток таких втроенных функций и с учетом регистра и без учета регистра типичный RTFM.
      Ответить
    • Функция из StrUtils:

      function AnsiContainsText(const AText, ASubText: string): Boolean;
      begin
      Result := AnsiPos(AnsiUppercase(ASubText), AnsiUppercase(AText)) > 0;
      end;
      Ответить

    Добавить комментарий