|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.10.2012, 21:57 | #1 |
Регистрация: 02.10.2012
Сообщений: 4
|
сокращение кода
добрый вечер. помогите сократить количество строк в коде.
идея такая есть n-ное количество сцепок из 3х Edit'ов типа: Edit1 / Edit2 = Edit3 при большом количестве таких сцепок код получается очень большой. спасибо заранее |
02.10.2012, 22:35 | #2 |
personality
Старожил
Регистрация: 28.04.2009
Сообщений: 2,882
|
Во-первых - убрать все Form1. , без них лучше даже.
Во-вторых - Вы уже поставили всем эдитам одно событие - поставьте теперь всем эдитам в одной "сцепке" одно событие, а в коде различайте какой именно эдит вызвал событие (у вас для 2 эдитов из "сцепки" оно почти одинаково, кроме "вызывавшего " эдита, правда в 1й "сцепке" почему-то нарушено это, там в обработчике первого - эдит2 а в обработчике второго - эдит1) вот так: Код:
В-третьих - учесть деление на 0 (плюс, наверное, учесть возможность/невозможность вставки минуса). При должном понимании процесса, который требуется реализовать - можно сделать унификацию ещё больше. Альтернативно - можно покопать в сторону динамического создания компонент. Также можно попробовать задействовать TStringGrid, вместо кучи эдитов, будет удобнее, хотя код, наверное, не станет меньше. Ну и самое эдакое - назвать такой код большим просто язык не поворачивается )) даже если будет 100 сцепок (а 300 эдитов на форме расположить - надо огромное терпение) то кода будет всего на 600-700 строк |
02.10.2012, 22:50 | #3 | ||
Регистрация: 02.10.2012
Сообщений: 4
|
Цитата:
Цитата:
спасибо за подсказку. всё отлично работает. спасибо Последний раз редактировалось artemavd; 03.10.2012 в 08:18. |
||
02.10.2012, 23:14 | #4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
ну есть идеи, как можно сократить код...
например, использовать (получать и анализировать) порядковые номера в именах Edit'ов. пример, если надо, напишу. Недостаток: если случайно/специально переименовать любой edit в "сцепке" - всё "посыплется"... можно в тех же целях воспользоваться полем tag (у первой "сцепки" проставить tag соответственно: 1 2 3 у второй "сцепки" - 4 5 6 и т.д. пример, если надо, напишу. А почему бы Вам не воспользоваться StringGrid ? |
03.10.2012, 06:46 | #5 | |
Регистрация: 02.10.2012
Сообщений: 4
|
Цитата:
сделал в таком варианте. осталось избавиться от деления на 0. Код:
Последний раз редактировалось artemavd; 03.10.2012 в 08:17. |
|
03.10.2012, 07:27 | #6 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
Тольок в его опциях включите разрешение редактировать данные! |
|
03.10.2012, 08:19 | #7 |
Старожил
Регистрация: 05.06.2008
Сообщений: 4,206
|
Serge_Bliznykov, только я один вижу, как пользователь устраивает чат в теме??
Не стоит смеяться над человеком делающим шаг назад, возможно он делает разбег.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Оптимизация (сокращение) кода решения задачи #2 c acmp.ru - нахождение суммы целых чисел от 1 до N | Serge_Bliznykov | Помощь студентам | 31 | 23.08.2014 22:35 |
Сокращение кода. | Eldrich | JavaScript, Ajax | 0 | 07.09.2011 20:01 |
Функции, сокращение кода | Neolit1819 | Помощь студентам | 0 | 31.05.2011 08:48 |
Оптимизация и сокращение кода (if + сдвиг) | Alex Cones | Общие вопросы Delphi | 2 | 06.04.2010 21:37 |
Сокращение if | AxenicX | Общие вопросы C/C++ | 2 | 07.11.2009 16:08 |