![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
приложение в делфи на подобии 1с [MySQL]
MsFoxy © (2011-04-25 12:31:00)Здравствуйте, хочу создать специализированную программу в делфи типа склад, складского учета. Хочется ее сделать наподобии 1с склад, но более узкую. встал вопрос, как сделать так, чтобы при вставке новой строки в таблицу, выбираешь ячейку и для выбора открывается дочерняя табличка с которой можно работать, редактировать в ней строки, добавить новые, а после выбора нужной, информация добавляется в родительскую.
Например, в 1с при заполнении любого документа, когда я хочу выбрать сотрудника или ответственное лицо, открывается таблица сотрудники и в ней работаешь. когда выбрал нужного - ок и его имя добавляется в заполняемый документ.
Интересны инструменты в делфи, которые мне помогут это сделать и код. Может есть подобные статьи, посоветуйте пожалуйста.. хочется сделать удобное приложение))
OW (2011-04-25 15:03:00) [1]
> если модальный
не, не модальный. В 1с не модальный, под нее делал.
т.е. можно тыкнуть для выбора, вспомнить что-то, подобавлять/удалять/редактирвать, перейти в другое окно там поредактить
для окна для выбора открыть еще для выбора, там поредактировать, вернуться.
в общем, полная иллюзия 1с.
На закрытие без выбора отправляется фиктивный выбор ожидающему, id = -1,
а перед смертью, каждое окно, шлет messge гланому окну, которое все дочерние окна перебирает и затирает их handle ожиданий = умирающему (или на себя переписывает, т.к. иные в неикй "буфер" собирает)
clickmaker (2011-04-25 14:44:00) [2]> (+Handle, куда надо сообщение будет послать, если выбор
> состоится)
если модальный, то можно и через out-параметр возвращать
OW (2011-04-25 14:40:00) [3]
> как сделать так, чтобы при вставке новой строки в таблицу,
> выбираешь ячейку и для выбора открывается дочерняя табличка
> с которой можно работать, редактировать в ней строки, добавить
> новые, а после выбора нужной, информация добавляется в родительскую.
сделал так.
при добавление главному окну отсылается сообщение, какой справочник открыть с признаком "для выбора", и handle ожидающего элемента. Каждый справочник имеет такие аттрибуты, как флаг для выбора ли он(+Handle, куда надо сообщение будет послать, если выбор состоится)
см:
> форму справочника можно и одну сделать, универсальную. Если
> иметь описание самого справочника в базе (ID, исходная таблица,
> заголовки полей и т.д). Тогда форма может представлять
> из себя DBGrid и тулбар с кнопками для стандартных действий
(+ все это дело наследует каждая форма-справочник, а если что не так - изменяет вид под себя)
Открытие для выбора справочка, внешне добавляет ему кнопку Выбор на панели, нажатие на которую отправляет для handle ожидающего элемента соотвествующее сообщение о выборе.
не, реально долго писать :) ну ка..
clickmaker (2011-04-25 14:27:00) [4]форму справочника можно и одну сделать, универсальную. Если иметь описание самого справочника в базе (ID, исходная таблица, заголовки полей и т.д). Тогда форма может представлять из себя DBGrid и тулбар с кнопками для стандартных действий
Anatoly Podgoretsky (2011-04-25 14:17:00) [5]> MsFoxy (25.04.2011 12:31:00) [0]
Похоже тебе еще долго, долго надо учить основы. Или нанять программиста.
Sergey13 (2011-04-25 14:12:00) [6]> [0] MsFoxy © (25.04.11 12:31)
Я так понимаю, что ваше личное участие в разработке данного "удобного приложения" должно свестись к выбору дизайна пользовательского интерфейса ("наподобии 1с") и общему руководству?
И. Павел (2011-04-25 14:11:00) [7]В Delphi вам придется вручную создавать и главные формы, и формы для справочников и вручную их показывать. Конечно, это может показаться не так удобно, но максимальный контроль над ходом программы очень часто позволяет сделать большее, а рутинное создание окна справочника в Delphi все равно не займет много времени.
Просто прочитайте какой-нибудь самоучитель по Delphi, и вам сразу станет ясно, какая концепция разработки в нем применяется.