Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2010, 21:04   #11
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
И что, так для каждой процедуры? Так дело не пойдет.
Какие имеются мысли:[*] Намутить массив указателей. Нацелить их на процедуры. Намутить массив количества параметров для соответствующих процедур. А как вызывать - ХЗ.[*] Намутить каждой функции лишние параметры, чтобы у каждой было одинаковое количество. Все их обзывать не по именам, а запхнуть в массив. Тогда возникают трудности, если я хочу какую-то отдельную функу вызвать не из файла, а рантайм. Так по имени видно, а индекс мало расскажет.

В общем слушаю мысли, даже самые кровожадные.
Лучше уж поднапрячтся и написать нормально через выбор (касе 0 делать то и т.д.) ведь вы программист, а не пользователь. Лучше сделать качественно и быстро чтобы работало один раз, чем потом будет работать медленнее (и еще не известно правильно ли) много раз когда будет пользователь работать с вашей программой.
BOBAH13 вне форума Ответить с цитированием
Старый 14.07.2010, 21:10   #12
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Я понимаю, что со стороны пользователя это будет выглядеть как те же яйца, только в профиль, но что если мне захочется добавить не 18 эффектов, а пару сотен? Переписывать касю 100 раз, меняя только имя функи? Не рационально и не оптимально. Может я и не силен в оптимизациях, но это будет выглядеть несколько хуже, чем конструкция в 1 строку:
Код:
BlockRead(F, I, SizeOf(I));
BlockRead(F, P1, SizeOf(Integer));
BlockRead(F, P2, SizeOf(Integer));
BlockRead(F, P3, SizeOf(Integer));
BlockRead(F, P4, SizeOf(Integer));
BlockRead(F, P5, SizeOf(Integer));

ProcArr[I](T, P1, P2, P3, P4, P5);
P.S. Надеюсь не перепутал со способом вызова из массива.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 14.07.2010, 21:23   #13
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Ну тогда верно, создавайте массив соотвествий [индекс, адрес] разумеется проверять прийдется не мало, если ваш формат файла (как я понял) лучше впихните crc32 туда и проверяйте на корректность содержимого файла, иначе можно отхватывать exceptions при доступе к инвалидным адресам или выхода за пределы массива. НО лучше конечно еще и проверку вставить в приложение на корректность входных параметров.
BOBAH13 вне форума Ответить с цитированием
Старый 14.07.2010, 22:11   #14
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Хорошо, внутренний стандарт файла еще до конца не проработал, по ходу дела буду смотреть, как валидность отслеживать. Спасибо.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамический массив процедур ZaRDaK Общие вопросы Delphi 14 11.07.2010 15:47
Массив процедур - как? boris-blade Microsoft Office Word 1 21.02.2010 23:13
Как решать японские кроссворды или судоку? Может у кого-нибудь есть идеи? TwiX Свободное общение 2 16.08.2009 07:56
Массив процедур garik Общие вопросы Delphi 0 18.03.2009 21:08
Компонент получше чем TMediaPlayer Viteef Компоненты Delphi 7 12.05.2007 22:14