Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Delphi Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
Всем привет! Только не смейтесь, как то раньше не заморачивался, писал
procedure qqq; и жал ctrl-shift-c , Delphi создавала код под реализацию.
Но поработав в Java и Idea в частности, уже как то прям напрягает, особенно , когда в интерфейсе кучи методов, даже копипастить ломает :) ... Там, если я указал, что класс использует интерфейс, появляется волшебное действие - реализовать интерфейс, который создаст и описание методов и инициализирующий код. А есть такая фишка в Delphi?
8 июл 19, 13:28    [21922648]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
wadman
Member

Откуда: Санкт-Петербург
Сообщений: 25569
kill_zdm
А есть такая фишка в Delphi?

Увы, из коробки - нет.
8 июл 19, 13:39    [21922655]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
wadman
kill_zdm
А есть такая фишка в Delphi?

Увы, из коробки - нет.

Печально :( А не из коробки? Посмотрел ModelMaker CodeExplorer, CnPack на всякий :) что то то же не нашел. Может есть какая тулза сторонняя?
8 июл 19, 13:46    [21922663]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
ziv-2014
Member

Откуда:
Сообщений: 342
kill_zdm,
Идешь в public класса, жмешь ctrl+пробел, вылезает список не методов интерфейса, выбираешь любой и реализовываешь.
8 июл 19, 13:58    [21922681]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
ziv-2014,

Сейчас не у компа, не очень понял, что значит НЕ методов, если методы мне и надо реализовать. Если Вы опечтались и все же методов, то это все равно не то, интерфейс требует реализации всех (если класс не наследуется и в родителе не реализовано) и крайне неудобно это так или иначе, выбирать , каждый из них, тогда как в той же IDEA это делается сразу после упоминания в классе об интерфейсе еще с волосатых времен. delphi спецом что ли отталкивает от ООП )))) дожили до 10.3 2019 года, а такая вещь, на поверхности не реализована :-(
8 июл 19, 14:06    [21922689]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10998
kill_zdm
IDEA это делается сразу после упоминания в классе
Нашли с чем сравнивать. В Идее много чего делается. И автореализация и автоимпорт и создание сеттеров/геттеров... Терпите
8 июл 19, 14:38    [21922730]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm
ziv-2014,

Сейчас не у компа, не очень понял, что значит НЕ методов, если методы мне и надо реализовать. Если Вы опечтались и все же методов, то это все равно не то, интерфейс требует реализации всех (если класс не наследуется и в родителе не реализовано) и крайне неудобно это так или иначе, выбирать , каждый из них, тогда как в той же IDEA это делается сразу после упоминания в классе об интерфейсе еще с волосатых времен. delphi спецом что ли отталкивает от ООП )))) дожили до 10.3 2019 года, а такая вещь, на поверхности не реализована :-(
ну как бы интерфейс можно реализовать не только описав все методы, зачем их автоматом вставлять?
8 июл 19, 14:44    [21922737]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
довольно странно пытаться перенести практики с простого примитивного языка
8 июл 19, 14:46    [21922738]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
ziv-2014
kill_zdm,
Идешь в public класса, жмешь ctrl+пробел, вылезает список не методов интерфейса, выбираешь любой и реализовываешь.

добрался до компа
1. Все же не паблик , а приват, раз уж по феньшую ;)
2. И тут я не знаю, что быстрее, выбирать из кучи непонятки или накопиастить из самого интерфейса или схожего класса....

В общем товарищи, обходные варианты понятны, необходим вариант однозначный- Обозначил использование интерфейса - какое то действие (горячие клавиши или меню / сторонние плагины) - Реализовать. Всё.
8 июл 19, 14:46    [21922739]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
_Vasilisk_,

Ну так и Delphi не 7ую юзаю, уже 2019 год на дворе и версия 10.3.1 /// реально ощущение -что занимаются тем, что бы оттолкнуть от ООП и настаивать на других позициях. А мне нравится дэлфи , нравится под БД на ней писать...
8 июл 19, 14:48    [21922740]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
kill_zdm
ziv-2014,

Сейчас не у компа, не очень понял, что значит НЕ методов, если методы мне и надо реализовать. Если Вы опечтались и все же методов, то это все равно не то, интерфейс требует реализации всех (если класс не наследуется и в родителе не реализовано) и крайне неудобно это так или иначе, выбирать , каждый из них, тогда как в той же IDEA это делается сразу после упоминания в классе об интерфейсе еще с волосатых времен. delphi спецом что ли отталкивает от ООП )))) дожили до 10.3 2019 года, а такая вещь, на поверхности не реализована :-(
ну как бы интерфейс можно реализовать не только описав все методы, зачем их автоматом вставлять?

Я Вас умоляю! Простите, может не совсем понимаю о чем Вы ... Если Вы заюзали интерфейс, Вы обязаны реализовать всё, что в нем есть, в этом и фишка его.
8 июл 19, 14:51    [21922746]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm
Я Вас умоляю! Простите, может не совсем понимаю о чем Вы ... Если Вы заюзали интерфейс, Вы обязаны реализовать всё, что в нем есть, в этом и фишка его.
да, но сделать это можно не только описав все методы

implements Delphi
8 июл 19, 14:53    [21922751]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
kill_zdm
Я Вас умоляю! Простите, может не совсем понимаю о чем Вы ... Если Вы заюзали интерфейс, Вы обязаны реализовать всё, что в нем есть, в этом и фишка его.
да, но сделать это можно не только описав все методы

implements Delphi

приколы дэлфи... я понимаю... но все равно обязательны! назначатся сеттером свойства либо методом, сути не меняет. Все, что обозначено в интерфейсе, должно быть реализовано! И не меняет сути вопроса, почему нет этого в дэлфях - быстрой реализации, хотя бы пустой.
8 июл 19, 15:03    [21922756]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10998
kill_zdm
Ну так и Delphi не 7ую юзаю, уже 2019 год на дворе и версия 10.3.1 ///
Да.

А вы еще вспомните, что бесплатная версия идеи на порядок круче платной делфи

kealon(Ruslan)
довольно странно пытаться перенести практики с простого примитивного языка
Это вы сейчас о джаве?

А умолчу о простом и примитивном языке. Здесь сейчас разговор об IDE. Вы пробовали когда-нибудь запустить рефракторинг в Делфи? Скажем, переименовать метод класса или добавит в него параметры?
8 июл 19, 15:09    [21922759]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm,

Я же вам говорю, переносить практики из простых примитивных языков в системные чревато последствиями. Но это конечно не умаляет что IDE довольно мало фишек, но всегда стоит подумать: "может просто они другие? какова стоимость реализации? может проблемы и нет?"
8 июл 19, 15:10    [21922763]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
_Vasilisk_
kealon(Ruslan)
довольно странно пытаться перенести практики с простого примитивного языка
Это вы сейчас о джаве?
А что вас удивляет? сложность применения это не только сам язык. Это большей частью окружение, инфраструктура. А с языком там всё очень примитивно.
8 июл 19, 15:14    [21922770]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
_Vasilisk_
Member

Откуда: Украина, Харьков
Сообщений: 10998
kealon(Ruslan)
какова стоимость реализации?
Это физически невозможно вставить описание методов интерфейса в описание класса? Какие здесь последствия?

Что мешает затем эти методы вставить в раздел implementation с пустым телом? Аналогично нажатию Ctrl_Shift+C? При чем здесь примитивность или не примитивность языка?
8 июл 19, 15:15    [21922773]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
_Vasilisk_
kealon(Ruslan)
какова стоимость реализации?
Это физически невозможно вставить описание методов интерфейса в описание класса? Какие здесь последствия?

Что мешает затем эти методы вставить в раздел implementation с пустым телом? Аналогично нажатию Ctrl_Shift+C? При чем здесь примитивность или не примитивность языка?
ну как при чём? это можно сделать разными способами и "как", совсем неочевидно, в отличие от той же явы.

Например, с теми же property проблемы так и не допилили. Стандарт позволяет не описывать методы, если они описаны в базовом классе - IDE запаривает их вставлять когда не нужно.

т.е. "Хочу как в яве" это совсем не аргумент
8 июл 19, 15:28    [21922789]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
_Vasilisk_
пропущено...
Это физически невозможно вставить описание методов интерфейса в описание класса? Какие здесь последствия?

Что мешает затем эти методы вставить в раздел implementation с пустым телом? Аналогично нажатию Ctrl_Shift+C? При чем здесь примитивность или не примитивность языка?
ну как при чём? это можно сделать разными способами и "как", совсем неочевидно, в отличие от той же явы.

Например, с теми же property проблемы так и не допилили. Стандарт позволяет не описывать методы, если они описаны в базовом классе - IDE запаривает их вставлять когда не нужно.

т.е. "Хочу как в яве" это совсем не аргумент


В ModelMaker CodeExplorer есть такая фишка - создать к примеру свойство и там галочки расставляешь, как оно будет, свойстовом или методом геттиться и сеттиться, его уровень изоляции и т.д. в общем полная свобода.... Почему подобный, хрен с ним мастер , что ли не сделать было. Хотя и в упомянутом ModelMaker CodeExplorer я на счет реализации интерфейса не нашел, но может плохо искал.
8 июл 19, 15:36    [21922803]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
но идею я уловил. Не подумал о разной реализации. Но мне кажется можно было что то придумать, допустим какой нибудь хоткей на создание чисто методами реализации, наверняка многие сказали бы спасибо, кто столкнулся с такой проблемой и ленью :)
8 июл 19, 15:40    [21922809]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm,

Не знаю, я эту IDE не пилю, но мои наблюдения за несколькими такими заходами говорят, что не приживаются всякие такие поделки. Сложности в освоении, использовании и поддержке не окупаются.
8 июл 19, 15:43    [21922814]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
_Vasilisk_
kill_zdm
IDEA это делается сразу после упоминания в классе
Нашли с чем сравнивать. В Идее много чего делается. И автореализация и автоимпорт и создание сеттеров/геттеров... Терпите


ну в этом хоть сторонние помогают частично, геттеры /сеттеры/конструкторы и т.д. - без ModelMaker CodeExplorer я в обще трудно представляю как бы жил сейчас и с ужасом вспоминаю - как жил до ))))
8 июл 19, 15:45    [21922817]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
kill_zdm,

Не знаю, я эту IDE не пилю, но мои наблюдения за несколькими такими заходами говорят, что не приживаются всякие такие поделки. Сложности в освоении, использовании и поддержке не окупаются.

Да понятно дело, что лично пилить это жесть, задавая вопрос, я подумал, что просто не знаю чего то и это уже есть, либо есть какой то сторонний плагин. Так или иначе, спасибо за участие!
8 июл 19, 15:46    [21922823]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm
kealon(Ruslan)
но идею я уловил. Не подумал о разной реализации. Но мне кажется можно было что то придумать, допустим какой нибудь хоткей на создание чисто методами реализации, наверняка многие сказали бы спасибо, кто столкнулся с такой проблемой и ленью :)
будем посмотреть :-)
JetBrains вроде пилит поддержку для паскаля, но что-то пока не вижу, что вот все побежали
8 июл 19, 15:48    [21922827]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
kill_zdm
kealon(Ruslan)
но идею я уловил. Не подумал о разной реализации. Но мне кажется можно было что то придумать, допустим какой нибудь хоткей на создание чисто методами реализации, наверняка многие сказали бы спасибо, кто столкнулся с такой проблемой и ленью :)
будем посмотреть :-)
JetBrains вроде пилит поддержку для паскаля....


ТА ЛАДНО!?!?!?!
8 июл 19, 15:49    [21922830]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm,

тынц
8 июл 19, 15:51    [21922835]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
kealon(Ruslan)
kill_zdm,

тынц


афигеть, не знал :)
Но чую это будет... что то типа - на дэлфи накидываю компоненты в дизайн-тайм, сохраняюсь, перехожу в Idea - кодю? не? :)
8 июл 19, 15:53    [21922837]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
kill_zdm,

не знаю, врать не буду, только наблюдения выше
8 июл 19, 16:03    [21922847]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3260
это не JetBrains пилит, если что, а сторонняя реализация. сам человек постоянно тусуется в чате телеграмма, заходите, лично поговорите о том как и что :)
@gbakhtadze
https://t.me/Delphi_Lazarus
9 июл 19, 09:33    [21923215]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kill_zdm
Member

Откуда:
Сообщений: 1402
в общем попробовал я это чудо! Мне оооооооочень понравилось. И IDEA уже за несколько лет стала родной и почти все фишки работают с этим плагином. Да же сторонние компоненты -понимание завершения кода для них - подружил. Есть конечно нюансы и не все гладко , но в целом, да же та задача, ради которой и задал вопрос -реализация интерфейса в пару кликов там есть. Конечно дизайн-тайм офф, но в общем и второй вот монитор более пригодился, на одном IDEA с кодом, на другом Delphi с редактором формы/фрейма )))
10 июл 19, 21:19    [21924423]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
ma1tus
Member

Откуда:
Сообщений: 669
kill_zdm
1. Все же не паблик , а приват, раз уж по феньшую ;)

протектед, же :)

P.S. Оно вот серьёзно - удобнее: блудить по текстбоксам, оптионам, чекбоксам визардов, чем в живом коде, с хоткеями, расфеншуить всё по вкусу и цвету? - MMX для Delphi, Rubberduck для VBA - поставил-прифигел-снёс.
10 июл 19, 22:08    [21924439]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
ёёёёё
Member

Откуда:
Сообщений: 404
kealon(Ruslan)
kill_zdm
kealon(Ruslan)
но идею я уловил. Не подумал о разной реализации. Но мне кажется можно было что то придумать, допустим какой нибудь хоткей на создание чисто методами реализации, наверняка многие сказали бы спасибо, кто столкнулся с такой проблемой и ленью :)
будем посмотреть :-)
JetBrains вроде пилит поддержку для паскаля, но что-то пока не вижу, что вот все побежали

Ничего он не пилит. И не будет пилить.
Он и для С++ (в CLion) более - менее полную поддержку в винде лишь для MINGW сделал, для MS VS до сих пор поддержки дебаггера нет. А для паскаля - никогда не будет.
10 июл 19, 23:08    [21924453]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
kealon(Ruslan)
Member

Откуда: Нижневартовск
Сообщений: 4805
ну и ладно, пофиг на JetBrains
в исходниках вроде как gdb-отладчик для fpc есть, во всяком случае папка с файлами намекает, что планируется

парень однако мазохист, лучше бы отдельно форкнул уже работающую IDE
11 июл 19, 00:15    [21924465]     Ответить | Цитировать Сообщить модератору
 Re: Реализовать интерфейс  [new]
makhaon
Member

Откуда: A galaxy far far away
Сообщений: 3260
ma1tus,
автор
Оно вот серьёзно - удобнее: MMX для Delphi

иногда удобнее, особенно с пресетами
11 июл 19, 04:23    [21924486]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Delphi Ответить