|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
Создание собственного компонента, происходящего от Edit04.02.2013, 18:24. Показов 2534. Ответов 17
Метки нет (Все метки)
Нужна помощь. Надо создать собственный компонент, типа Edit, но чтобы в нём вводилась информация в виде даты ( то есть в таком виде: дд.мм.гг). Думал сделать через Keypressed, но когда же создаешь компонент, оператора Key не определяет. Думал, думал, как сделать... Не придумал... Прошу помочь, буду очень благодарен, т.к. компонент нужен на завтра.
Заранее, огромное спасибо!
0
|
|
| 04.02.2013, 18:24 | |
|
Ответы с готовыми решениями:
17
Создание собственного компонента. Как? Создание собственного компонента на основе TEdit
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 04.02.2013, 20:55 | |
|
Если только я правильно понял...
В меню Боланда выбрать Component-New Component. Появится вот такая панель__ Там нужно выбрать TEdit, изменить имя создаваемого сомпонента (напр. TEditMF ) и указать папку (желательно пустую), куда будет сохраняться вся база для компонента. Затем нажать Install... и подтвердить использование пакета Borland User Components.. Новый компонент будет создан и должен появиться во вкладке Samples (если не меняли в процессе установок). Далее нужно просто добавить несколько строчек в файлы .cpp и .h и заново перекомпилировать пакет Borland User Components, чтобы в новом компоненте появилось требуемое свойство.
1
|
|
|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
| 04.02.2013, 22:13 [ТС] | |
|
BRcr, нет. Задание стоит именно в том, чтобы создать компонент, происходящий от Edit,например, EditDate. Особенность его в том, чтобы в него можно было вводить только дату, в стандартном формате.
Добавлено через 57 секунд nick42, спасибо, конечно, но я знаю как создавать сам компонент. Я не могу понять как именно можно реализовать мою задачу - Edit для ввода даты.
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
||||||||||||
| 04.02.2013, 22:39 | ||||||||||||
|
вот, например, я записал в хедер:
Добавлено через 2 минуты Хотя, это скорей всего не то. Здесь у компонента добавляется свойство ДАТА, которое ему как пятая нога. А требуется, вероятно, форматный ввод в поле эдита. То-есть нужно у существующего эдита изменить обработку ввода в поле данных.
0
|
||||||||||||
|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
| 04.02.2013, 23:02 [ТС] | |
|
Мне нужно сделать это именно с эдитом, в этом-то и вся проблема...
0
|
|
|
|
|
| 05.02.2013, 00:12 | |
|
Формат блюсти, на мой взгляд, проще всего через регулярки. На каждом onchange эдита проверять формат по регулярке и откатывать, если не совпадает, вот и все. Правда, придется использовать буст\TRegExp\lua...
0
|
|
|
|
|||||||
| 05.02.2013, 00:42 | |||||||
|
Добавлено через 6 минут http://docwiki.embarcadero.com... sk.Matches Добавлено через 5 минут Ну или http://docwiki.embarcadero.com... C%2B%2B%29 Добавлено через 16 минут В общем не особо заморачиваясь написал такой пример
0
|
|||||||
| 05.02.2013, 01:10 | |
|
Не по теме: О, еще одна реализация регулярок! Ddv122 будет рад узнать, а то с бустом не дружит.:)
0
|
|
|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
| 05.02.2013, 10:41 [ТС] | |
|
Avazart, внёс код - ничего не получилось. Прописывается, как в простом эдите
0
|
|
|
Практикантроп
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
|
|
| 05.02.2013, 12:49 | |
|
.. и готовое уже есть... - компонент MaskEdit , вкладка Additional
1
|
|
|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
| 05.02.2013, 13:15 [ТС] | |
|
Avazart, если вам не составит труда, можете показать или просто объяснить, что и куда ещё нужно вписать?
Извините за возможную наглость, но я пока что в в билдере не полностью разбираюсь, а компонент нужен срочно. Конечно, сам виноват, где-то поленился, не разобрался... В дальнейшем не буду задавать таких вопросов. Добавлено через 25 минут Nick42, да, действительно есть, не заметил. Мне в ВУЗЕ преподаватель задал сделать чисто эдит для ввода даты, то есть, что стандартными свойствами и событиями, но чтобы в само поле можно было вводить только дату ( стандартный формат: дд.мм.гггг).
0
|
|
|
|
|||||||
| 05.02.2013, 14:53 | |||||||
|
Добавлено через 1 минуту Тут с налёта вряд ли получится нужно играться. Добавлено через 53 минуты Ну вот примерчик как запретить ввод "не даты" в Edit
0
|
|||||||
|
7 / 0 / 0
Регистрация: 02.02.2012
Сообщений: 39
|
|
| 05.02.2013, 16:09 [ТС] | |
|
Аа. так в простом эдите я ещё могу как-то сделать, но мне нужен новый компонент, типа эдит, но чтобы в нём вводилась только дата. Пробовал сначала сделать через Keypress, но свойства такого там нету. Может быть через __property его добавить, но тогда будет определяться оператор Key?
0
|
|
|
|
|
| 05.02.2013, 16:11 | |
|
Вы же говорили что умеете создавать новые компоненты ?
Так что флаг в руки ( ну либо книгу Архангельского )
0
|
|
| 05.02.2013, 16:11 | |
|
Помогаю со студенческими работами здесь
18
Создание собственного компонента Создание собственного компонента Создание собственного компонента Создание собственного компонента Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|