![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Вот значит решил написать программу для работы с 2-х табличной базой данных.
1 таблица банков 2 таблица клиентов Связь таблиц заключается в том, что у одного банка могут быть несколько клиентов, а у каждого клиента могут быть вклады в разных банках. Программа еще далека от оптимальной, модернизация ей еще предстоит, но вроде работает без сбоетв, если кто-то обнаружит серьзезный недочет или ошибку прошу сообщить, в дальнейшем планирую оптимизировать макимально эту программу, написать лайт-версию без динамических структур, и на их основе сделать материал для FAQ. Если будут вопросы по программе, спрашивайте. Код: (Показать/Скрыть)
. -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата в дальнейшем планирую оптимизировать макимально эту программу, написать лайт-версию без динамических структур, и на их основе сделать материал для FAQ. Вопрос на засыпку, а зачем в FAQ давать реализацию БЕЗ динамики там, где подразумевается именно использование динамических структур? Ты что, будешь напрямую с файлом работать? Или опишешь статические массивы (как многие делают) максимально допустимого размера? Этому тем более не место в FAQ-е, ибо это неправильно...Если уж делать - то делай именно с динамикой... Только попробуй пересмотреть добавление элементов в массив, при таком как у тебя сейчас методе легко заблокировать кучу - она сильно фрагментируется, ведь каждый последующий запрашиваемый тобой кусок памяти больше, чем предыдущий освобожденный, и в "куче" остаются бреши... Еще одно... Первой же строкой программы ты делаешь {$R-}... Это тоже не совсем корректно... Тем более не для FAQ... Лучше не отключать Range-Checking, а описывать тип TArr вот так: TArr = array [1 .. pred(maxint div sizeof(TType))] of TType;(вот это - вполне нормально, т.к. описание типа ни в коем случае не приводит к выделению памяти под него, зато у тебя остается доступной проверка индексов, что немаловажно при отладке...) |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Чтож, спсибо за советы, учту.
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 2.08.2025 9:01 |