|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
Builder 6 Работа с полем Edit ?19.01.2020, 12:00. Показов 6613. Ответов 44
Метки нет (Все метки)
Всем привет. Помогите собрать конструкцию (можно не за бесплатно) в Builder 6 C++ , нужно что бы в поле EDIT1 при вводе текста и цифр автоматом ставился пробел после двух символов и автоматом становилась заглавная буква и было ограничено количество ввода символов. Пример: A1 CB FF AA 89 FF DF FC —- то есть в данном примере видно , что ввод всего 8 байт , через пробел и заглавными буквами.
0
|
|
| 19.01.2020, 12:00 | |
|
Ответы с готовыми решениями:
44
Работа с полем Edit Как свойство Caption задать полем ввода Edit?
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 21.01.2020, 18:41 [ТС] | |
|
В общем лыжи у меня совсем не едут. Если вставляю первый код из девятого сообщения , то все компилируется и работает , если вставляю в Form все три кода , то не компилируется ошибка , так же пробовал второй и третий вставлять по отдельности , все то же самое ошибка.
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 22.01.2020, 03:24 | |
|
Эти функции должны быть объявлены в h-файле.
Либо сначала нужно сделать двойной клик мыши по соответствующим методам Edit-а (появятся объявления плюс "пустые заготовки" функций в cpp-файле, куда уже можно будет скопировать код). Тебе об этом уже писали в посте №18 да и проект выложили.
1
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 22.01.2020, 04:56 [ТС] | |
|
Спасибо. Буду внимательней. Извините за глупые вопросы. Правда хочу разобраться в программировании.
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 24.01.2020, 13:45 [ТС] | |
|
Разобрался куда вставлять код что бы он откомпилировался без ошибок. Когда ввожу HEX значения в поле Edit1 , то количество символов и отслеживание что бы HEX значения вводились - это все работает , но заглавные буквы сами не ставятся и не ставится пробел после каждого байта. Как это все организовать , подскажите пожалуйста ?
0
|
|
|
|
|
| 24.01.2020, 14:49 | |
|
seregag4, Все работает, я в том проекте ничего своего не делал, взял у уважаемого D1973, а он отписался, что собирал в 6-ке. Скиньте проект, посмотрим.
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 24.01.2020, 20:02 [ТС] | |
|
Вот проект в архиве Builder 6 C++ и PDF.
0
|
|
|
Модератор
|
|
| 25.01.2020, 07:31 | |
|
seregag4, в Вашем проекте проблема в том, что этот Ваш Edit1 - он один-одинешенек на форме, ему страшно и грустно - вот он и капризничает...
![]() А если серьезно - преобразование текста в поле ввода (перевод в верхний регистр и разбиение на байты) происходит в момент, когда поле ввода теряет фокус, в момент наступления события OnExit. Но беда в том, что Edit1 фокус потерять просто не может - он один на всей форме. Решением может стать размещение на форме любого другого компонента, способного принимать фокус: еще один эдит, кнопка или еще что-нибудь... В этом случае достаточно щелкнуть ЛКМ на этом другом компоненте или же нажать клавишу TAB на клавиатуре чтобы чудо произошло...
0
|
|
|
|
||||||
| 25.01.2020, 09:47 | ||||||
|
seregag4, Я же не зря два едита на форму кинул
Добавлено через 7 минут Ну еще можно на нажатие Enter посадить
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 25.01.2020, 10:21 [ТС] | |
|
Добавил кнопку Button1 , пишу все пишется с маленькой буквы и без пробелов потом нажимаю кнопку и происходит чудо все становится с пробелом между байтами (HEX) и с заглавной буквы все как надо . Но как сделать что бы все это сразу было не нажимаю кнопки или TAB ?
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
||||||
| 25.01.2020, 11:44 [ТС] | ||||||
|
Заменил Edit1 на MaskEdit1 , все то же самое , только при нажатии кнопки Button1 или при нажатии на клавиатуре TAB.
Добавил Key=(char)toupper(Key); , теперь пишет сразу же заглавными буквами , но пробел не ставит между байтами пока не нажмешь на клавиатуре TAB или кнопку Button1 ?
0
|
||||||
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 25.01.2020, 13:33 [ТС] | |
|
Соответственно поле Edit1 удалил а вместо него поставил поле MaskEdit и уже в нем код писал .
0
|
|
|
Модератор
|
|
| 25.01.2020, 13:46 | |
|
поле MaskEdit для того и служит, чтобы вводить в него данные
по какой-либо маске. И маска эта задается в свойстве EditMask компонента. Вот и задайте разрешение на ввод пар символов, разделенных пробелами.Не по теме: Я лично этот компонент не люблю и мне лень с этими масками ковыряться...
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 25.01.2020, 18:49 [ТС] | |
|
Как это сделать ?
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 29.01.2020, 07:44 [ТС] | |
|
Подскажите пожалуйста как сделать что бы ставился пробел между байтами а то я в MaskEdit1 в EditMask ставлю вроде пробел получается , но еще добавляется черточка типа подчеркивание . На последнем скрине видно , что когда ввожу HEX значения то полоса исчезает и ставится пробел. Как сделать что бы без полосы было ?
0
|
|
|
place status here
3192 / 2227 / 640
Регистрация: 20.07.2013
Сообщений: 6,028
|
|
| 29.01.2020, 10:00 | |
|
Попробуй заменить в Input Mask знак подчеркивания _ (в конце) на пробел.
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 29.01.2020, 19:12 [ТС] | |
|
Поставил пробел , получилось , но после компиляции в поле полоса синяя удаляю ее кнопкой DELETE и потом все нормально. Как сделать что бы сразу было нормально без полосы этой синей ?
0
|
|
|
Модератор
|
|
| 29.01.2020, 19:26 | |
|
Убрать фокус с этого компонента. Но, пока он у Вас один на форме - сделать это нельзя...
Ну, почти нельзя... Если выставить свойство TabStop в false - Вы получите желаемый эффект, но создадите сами себе большие неудобства тем, что: 1. фокус теперь компонент сможет принимать только при клике мыши и чтобы начать что-то вводить - Вам придется делать дополнительные движения, причем только мышью, потому, что 2. компонент теперь не реагирует на нажатие клавиатурной кнопки ТАВ...
0
|
|
|
0 / 0 / 0
Регистрация: 22.05.2019
Сообщений: 21
|
|
| 31.01.2020, 10:37 [ТС] | |
|
Подскажите пожалуйста , почему при вводе HEX в поле MaskEdit все нормально а после того как нажал кнопку ввод HEX происходит вот такое как на картинке ниже ? Как от этого избавиться что еще написать из кода ?
0
|
|
| 31.01.2020, 10:37 | |
|
Работа с полем Memo - получение подстрок
Работа с Edit Работа с Edit Работа с Edit и Label Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|