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

    +144

    1. 1
    IntToStr(StrToInt(VarToStr()))

    Сегодня пришла мадам и спросила почему это не работает. Сказали что бы так больше не ...кодила.

    Запостил: ViktorR, 24 Апреля 2015

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

    • Мда...
      Ответить
    • а всё-таки почему не работает?
      З.Ы. извеняюсь за засорение сайта тупыми коментариеями, просто програмирование только начинаю учить
      Ответить
      • Почему это - не работает? Работает, просто громоздко очень.
        Variant явно кастуется в String, потом в Integer, потом снова в String (возможно, таким образом автор пытался проверить, является ли Variant числом - всё равно неправильно), хотя можно было бы сделать вот так:

        var
            v:variant;
            S:string;
        begin
            v:=2434324;  // число
            S:=vartostr(v);
            showmessage(s);
        
            v:='6546546'; // строка
            S:=vartostr(v);
            showmessage(s);
        
        
         end;
        Ответить
        • Чтобы проверить, чем в данный момент является Variant, есть множество функций, например VarIsStr, VarIsNumeric, и т.д.
          Ответить
    • Оно может и работало, если бы вставили trim, да ещё и проверку пустой строки, а лучше сразу TryStrToInt, только ещё бОльший ...код получился бы, непонятно зачем
      Variant->String->Integer->String
      Ответить
      • тип "Вариант" просто так бы не стали юзать... Наверно работа с ole-объектом или прогой (Word или Excel), дык там по-другому и нельзя, сплошной Variant/OleVariant.
        Ответить
    • ай яй яй, ставить минусы основываясь на догадках. А значение брали из cxButtonEdit-а, и уместнее там было бы использовать Try если бы он был доступен в том месте откуда идет вызов.
      Ответить
      • > ай яй яй, ставить минусы основываясь на догадках
        Ну что Вы... Смею уверить Вас, что большинство минусов было поставлено в автоматическом режиме без всяких на то оснований.
        Это известный баг психики одного из обитателей ГК, обладающего более, чем одной учётной записью на данном сайте. Баг был изучен и подробнейшим образом описан в http://govnokod.ru/18072
        Ответить

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