Кресты / Говнокод #1769 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  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 labutinpa, (Updated )

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

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

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

Где здесь C++, guest?!

    А не использовать ли нам bbcode?


    8