|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Нужна помощь в изменении программы
Уважаемые гуру, нужна Ваша помощь в такой задаче:
Имеется моя программа "Библиотека", нужно не меняя ее функционала переделать ее таким образом, чтобы в ней было реализовано наследование классов. Тоесть на данный момент функционал программы такой: на главной форме есть 3 кнопки (Книги, Друзья (типа читатели) и Реестр книг). При нажатии на каждую из них вызывается еще одна форма, в которой мною реализован определенный функционал. При нажатии на кнопку "Книги" открывается форма с Memo который тянет книги из файла .txt. Под Memo 3 кнопки (Добавить, Сохранить изменения и Удалить) они реализуют соответственные действия (При добавлении открывается форма с Edit и при введении новой книги и нажатии на кнопку "Добавить" она добавляет эту книгу в Memo, при нажатии на кнопку "Сохранить изменения" Memo перезаписывается, и при нажатии на кнопку "Удалить" соответственно строка в Memo удаляется). На кнопке "Друзья" все абсолютно аналогично. Кнопку "Реестр книг" трогать не будем, она задания не касается. ЗАДАЧА ТАКОВА: Мне нужно общую часть добавить в родительскую форму, а функционал (Книги и Друзья) должны быть порождены от родителя. В потомках должна быть только информация о имени файла и названии справочника. Вся механика должна остаться в родителе. |
#2
|
|||
|
|||
Ну дык так просто тут не объяснишь что надо сделать...
Собственно, тебе надо: 1. Выкинуть одну из форм 2. В оставшейся форме: - переименовываем ее в, например, DicBaseForm - создаем 2 строковых поля Код:
public FFileName : String; FFormName : String; 3. Теперь идем в File -> New и создаем 2 формы путем наследования от нашей DicBaseForm. 4. В каждой из форм перекрываем конструктор примерно таким образом: Код:
constructor TBookForm.Create(AOwner : TComponent); begin FFileName := 'C:\books.txt'; FFormName := 'Books'; inherited; end; |