1. C++ / Говнокод #1769

    +49.9

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    bool __fastcall TForm1::ImportFile(AnsiString FName, int Direction)
    {
    bool StatusUpload;
    StatusUpload = true;
    
    TStringList *Inside;
    Inside = new TStringList;
    Inside->LoadFromFile(FName);
    if (Direction == 1)
    {
      // ...
      date_made = StrToSqlDate(Inside->Strings[1]);
      ops = Inside->Strings[0];
    
      Inside->Delete(0);
      Inside->Delete(0);
      Inside->Delete(0);
    
      int Iterations = (Inside->Count/5);
      for (int i=0; i<Iterations; i++)
      {
        AnsiString A, B, C, D, E;
        A = Inside->Strings[0].Trim();
        B = Inside->Strings[1].Trim();
        C = Inside->Strings[2].Trim();
        D = Inside->Strings[3].Trim();
        E = Inside->Strings[4].Trim();
        for (int j=0; j<5;j++)
           Inside->Delete(0);
    
        if (A == "1.1.2")
          E='1';
    
        if (A == "4.13" || A == "4.13" || A == "4.13")
    	  E='20';
        C = RemoveZPT(C);
    	ADOQuery1->SQL->Text = "INSERT INTO dnevnik_inside (row_id, ops, date_made, code, sign, val, val_init, direction, type) VALUES ("
          + row_id + ", '" + ops + "', '" + date_made + "', '" + A + "', '"
          + B + "', " + C + ", " + C + ", '" + D +"', '"+E+"')";
        ADOQuery1->ExecSQL();
      }
      Trans->CommitRetaining();
    }

    Собсно, название функции говорит само за себя :)
    П.С. Коллега, не обижайся!

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

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

    • замечательно. возьму такой способ обработки листов себе на заметку.
      RemoveZPT -> убрать запятые?
      Ответить
    • Вот как же уебищно выглядит в быдлере этот __fastcall.
      Лучше уж сделать макрос FASTCALL.
      Ответить
      • нахуй он вообще? где-то читал, что вызовы по борландовским __fastcall'ам наоборот медленнее :)
        Ответить
        • Его IDE сама вставляет при формировании метода - обработчика события
          Ответить
          • Всё равно не понятно, зачем он в коде, если по умолчанию все vcl-овые вызовы к компонентам фасткалловские. Загрязнение кода избыточными конструкциями не по делу.
            Ответить
            • Один ведь фиг борландовский компилер много где игнорирует стандарт - тут-то зачем следовать букве, коль и так рожа крива? Непонятно мне вот что.
              Ответить
    • if (A == "4.13" || A == "4.13" || A == "4.13")
      ???
      Ответить
      • Наверное цифры в разной раскладке.
        Ответить
        • Какая нахрен раскладка цифр?
          Ответить
          • Не вру, всё настоящее.
            Возможно, создателю казалось, что этот участок кода не работает
            Ответить
            • Типа если с первого раза процессор ошибётся? :)
              Ответить
      • в другом проекте видел
        WHERE ((условие)
        OR (то же условие)
        OR (то же условие))
        and ((условие2)
        or (условие2)
        и т.п.
        Ответить

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