| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Оцените код |
| Автор: xDD 16.8.2008, 13:52 | ||
Проблема в том что edit-ов слишком много поэтому if запинаеться что можно сделать в данном случае?
|
| Автор: Kakadu 16.8.2008, 14:22 |
| Ты наверняка TEdit'ы пихаешь на форму из GUI. Попробуй руками при инициализации формы создавать их, причем не просто по именам, а в виде массива. Это конечно несколько запарно после GUI проектирования, но осваивать надо. |
| Автор: Alca 16.8.2008, 20:05 | ||
А смысл? Что значит запинается? |
| Автор: mrbrooks 16.8.2008, 21:23 |
| мамин парень!!! |
| Автор: Mayk 16.8.2008, 22:16 | ||||
| всё нижесказанное имхо: не понятно зачем переменные именованы как попало (adotable<N>, E<N> где <N> - числа ) не понятно почему при неопознанной ошибке не происходит откат уже созданных записей. не понятно почему нельзя сделать всё внутри транзакции. или их бд не поддерживает? не знаю как там работает этот ado - но если при откате ф-ция adotableN->Delete кинет исключение, то adotable(N+1)->Delete не вызовется. так и надо, или TAdoTable не кидает исключений вообще? и ещё советую почитать про рефакторинг - ф-цию можно разбить как минимум на шесть ф-ций: fillAdoTable<N> (<N> = 7,8,9,10,11,12) по-моему автор просит code review что означает "if запинается"? Кстати, об if'ах в
не ясен кусок
не видно чтобы в else ветке в adotable12 что-то записывалось посредством insert/post как делается в других местах. поэтому зачем там присваивания магическому значению "нет" не совсем понятно. вообще наличие магического значения "нет" в базе данных не совсем понятно. |
| Автор: xDD 16.8.2008, 23:00 | ||||||
Запинаеться значит не реагирует если данные не внесены то он должен по else выдать сообщение что данные не внесены а он тупо говорит, что поле не должно быть пустым, значит просто не реагирует на условие, но сначала при нескольких контрольных проверках код работал а потом загадочным образом перестал. Если кто то знает как решить эту проблему, собсно из-за чего и создавалась тема то большое спасибо! Добавлено через 1 минуту и 35 секунд
Эти коменты особенно уместны( |
| Автор: jonie 17.8.2008, 18:13 |
| у нас в проекте где я работаю есть форма на которой более 900 контролов ввода (да, это ппц - 5-ть уровней вложений tabcontrol-ов, если не больше). они пересчитываются динамически все. что придумали до нас: контролы делаются динамически (используется Spread компании Farpoint). каждый контрол описывается как {группа, имя кнтрола, формула расчетов при изменении, связь с базой (запрос sql), условие валидности значения (формула)}. написан простенький язык формулы понимающий указанные. пересчет идет используя топологическую сортировку. когда жмякается save то проверяются все условия, если все ок, то следует создание огромного sql скрипта фактически, который оборачивается в одну транзакцию и выполняется.... может наведет на какие мысли... та попа, что описана выше (а автора топика) в дальнейшем принесет не мало геммороя имхо |
| Автор: xDD 18.8.2008, 00:46 | ||
| Все работает а дело то было в том что не "&&" ставить надо было а "||" Выглядит все теперь так:
|
| Автор: petlyura 18.8.2008, 16:10 | ||
А в цикле нельзя ли было проверку устроить, особенно, если будешь добавлять еще контролы, а то выглядит не очень
|
| Автор: Alca 18.8.2008, 16:57 | ||
|