Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38

Button.Enabled и Edit

07.05.2018, 21:53. Показов 7034. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите начинающему, ни как не может дойти, есть 11 Edit'ов из низ 9 штук активируются Чек-боксом, как сделать чтобы Button был активен только тогда когда заполнены все активные поля?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.05.2018, 21:53
Ответы с готовыми решениями:

Edit and button
Люди помогите создать прогу для выевление процента edit и button!! срочно=)

Edit & button
Ребят подскажите как сделать чтобы если в edlin нет текста при нажатие на button выводил сообщение в memo чтобы ввели текст.

Edit и button Memo
нужно создать программу используя Edit Memo button помогите!

18
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
08.05.2018, 05:02
Не совсем понятно сколько Edit-ов у Вас должно быть заполнено, я напишу на примере трех компонентов. Вариантов в данном случае 2, опишу как работают оба, выберите какой Вам удобен в использовании.
1. Вариант (длинный):
Проверять заполнение значений в каждом Edit (которые Вам нужны).
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
procedure TForm1.Edit1Change(Sender: TObject);
begin
  Button1.Enabled:= (Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> ''); //Эта строчка вешается на событие onGhange каждого из провеhяемых Edit-ов
end;
 
procedure TForm2.Edit2Change(Sender: TObject);
begin
  Button1.Enabled:= (Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '');
end;
 
procedure TForm3.Edit3Change(Sender: TObject);
begin
  Button1.Enabled:= (Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '');
end;
В зависисмости от того сколько Edit-ов нужно проверить их нужно во-первых прописывать в строке кода (Edit1.Text <> '') and (Edit2.Text <> '') ...... and (Edit11.Text <> '') , во-вторых писать этот обработчик на каждом событии OnChange каждого из проверяемых Edit-ов.

2. Вариант (в одну строку):
Суть его заключается в использовании компонента ActionList из вкладки Standart.
1. Добавляем ActionList на форму.
2. Кликаем по нему два раза, выбираем пункт New Action (Ins), соответственно в колонке Action видим добавленный пункт Action1, закрываем меню.
3. Выбираем кнопку, активация которой должна быть после заполнения всех Edit-ов. В редакторе свойств в первом пункте Action выбираем пункт Action1 (это связка кнопки и ActionList).
4. В окошке структуры выбираем Action1, переходим на вкладку events, кликаем два раза в пустое поле напротив свойства onUpdate.
5. Далее пишем такую строку кода:
Delphi
1
2
3
4
5
procedure TForm1.Action1Update(Sender: TObject);
begin
  TAction(Sender).Enabled:= (Edit1.Text <> '') and (Edit2.Text <> '') and (Edit3.Text <> '');
end;
//Здесь действует тоже самое правило - т.е. Edit-ов будет столько, сколько их нужно проверить, но при этом обработчик висит всего на одном компоненте
Имхо, второй вариант удобнее, в плане сокращения кода.

Обав варианта проверены, работают. Допилите до того количества Edit-ов, которое Вам необходимо, ибо я так и не понял сколько их Вам нужно проверить.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,248
08.05.2018, 08:51
Цитата Сообщение от Ашотик2018 Посмотреть сообщение
Не совсем понятно сколько Edit-ов у Вас должно быть заполнено
Цитата Сообщение от Ilyann Посмотреть сообщение
11 Edit'ов из низ 9 штук активируются Чек-боксом
Цитата Сообщение от Ilyann Посмотреть сообщение
сделать чтобы Button был активен только тогда когда заполнены все активные поля
ответ =...
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
08.05.2018, 09:15
Цитата Сообщение от Ilyann Посмотреть сообщение
9 штук активируются Чек-боксом
Ну это ни о чем не говорит, ведь активация и нахождение текста в самом Edit разные вещи по сути, так то я все равно думаю что придется прописывать все 11. По скольку какие из 9 будут активированы CheckBox-ом мы не знаем, равно и не знаем того, есть ли в них текст изначально или нет.
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 11:28  [ТС]
Вот форма в прикреплённом фото. Нужно сделать так чтобы 10 и 11 Эдиты обязательно проверялись а с 1 по 9 если они включены (активны).
Миниатюры
Button.Enabled и Edit  
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 15:21  [ТС]
Ни кто не поможет?((
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,248
08.05.2018, 15:23
Ilyann, а если в первые два поля (10 и 11) заносятся значения кнопка должна активироваться? Или только при активации и заполнении прочих Edit-ов ?
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 15:26  [ТС]
10 и 11 всегда активны и всегда должны проверяться.
А с 1 по 9 должны проверяться только когда включены плюсом к 10 и 11.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,248
08.05.2018, 15:32
Цитата Сообщение от Ilyann Посмотреть сообщение
10 и 11 всегда активны и всегда должны проверяться
Вы не поняли вопроса. Вот я проверил 10 и 11, если они заполнены дальше что? Кнопку активировать или ждать заполнения остальных активных эдитов?
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 15:35  [ТС]
Если они заполнены и при этом другие неактивные, то кнопка должна активироваться
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
08.05.2018, 16:05
Ilyann, а в 10 у вас что считается? Сумма показаний с 1 по 9 ?
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 16:34  [ТС]
Во все одинадцать полей вводятся показания которые потом отправляются в БД.
10 таблиц БД. Чтобы было понятнее, это 10 счётчиков. С 1 по 9 не обязательны для заполнения, т.к. могут быть отключены. А 10-й счётчик всегда считает поэтому он всегда должен записываться
0
 Аватар для Flip
335 / 173 / 67
Регистрация: 25.02.2018
Сообщений: 616
08.05.2018, 16:55
Хорошо, построю вопрос иначе, в 10 (Общий) вы руками вносите данные или каким путем они туда попадают? Просто логика Вашей программы понятна не до конца. Так могут быть активированы и с 1 по 9 но при этом данные могут туда и не внесены, а в 10 кто-то просто руками одну цифру поставит и все, считай 10 пройдет проверку, так как в нем уже будут данные.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,248
08.05.2018, 17:03
Ilyann, вот так пойдет ? Пример
Вложения
Тип файла: rar Button-Edit.rar (2.24 Мб, 29 просмотров)
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
08.05.2018, 21:29  [ТС]
Droider, спасибо за пример, единственное что в твоем примере если ввести в два обязательных поля информацию, то кнопка становится активной и если активировать другое поле чеком то она не гаснет, при условии что активированное поле пустое.


Ашотик, во все одиннадцать полей инфа вносится ручками, вводятся только цифры, ничего другого ввести нельзя (но если будет пример фильтрацию по символам в эдите можно не ставить), пускай даже если будет по одному символу, в каждом Активном поле, тогда кнопка должна быть активирована, если в каком-то из Активных полей не будет текста, то кнопка не активна.
Например, 1) чеков не стоит, значит активны 2а поля, соответственно после ввода в них информацию кнопка становится активна.
Пример №2) у нас два постоянно активных поля, чеком активировали допустим третье и пятое поля, заполнили информацией два постоянно активных и третье (которое включили чеком) поля, а в пятом информации НЕТ, соответственно кнопка НЕ активна.
0
Эксперт Pascal/Delphi
 Аватар для droider
4882 / 2819 / 862
Регистрация: 04.10.2012
Сообщений: 10,248
08.05.2018, 21:34
Цитата Сообщение от Ilyann Посмотреть сообщение
если ввести в два обязательных поля информацию, то кнопка становится активной
Вы писали
Цитата Сообщение от Ilyann Посмотреть сообщение
Если они заполнены и при этом другие неактивные, то кнопка должна активироваться
но тогда тут
Цитата Сообщение от Ilyann Посмотреть сообщение
если активировать другое поле чеком то она не гаснет, при условии что активированное поле пустое
какой смысл активировать кнопку в самом начале заполнения обязательных полей?

Может Вы лучше опишите для чего все эти манипуляции? Во всем вышеописанном особой логики нет.
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
09.05.2018, 11:48  [ТС]
Мне нужно чтобы кнопка была активна когда Активные поля заполненные (либо если пропадает пустое поле) и Не активна когда есть пустые поля либо, если они появились, то кнопка так же должна гаснуть

Добавлено через 3 минуты
Как сделать простую проверку я знаю, у меня не получается сделать так чтобы кнопка гасла, если появилось пустое поле и в обратном направлении когда пропадает пустое поле то кнопка должна быть активна

Добавлено через 1 час 23 минуты
Можно как-нибудь написать что-то похожее на это:

If (Edit10.Text='') or (Edit11.Text='') or (Edit1.Text='' ЕСЛИ ВКЛЮЧЕН) then
Button2.Enabled:=False
else
Button2.Enabled:=True
0
Модератор
 Аватар для D1973
9903 / 6441 / 2454
Регистрация: 21.01.2014
Сообщений: 27,341
Записей в блоге: 3
09.05.2018, 14:36
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

В общем я так Вашего объяснения до конца и не понял. Вот смотрите пример, так, как я понял; то это, что Вам надо, или нет - не знаю...
Вложения
Тип файла: rar Button.Enabled и Edit.rar (1.3 Кб, 20 просмотров)
0
0 / 0 / 0
Регистрация: 07.05.2018
Сообщений: 38
09.05.2018, 17:15  [ТС]
Всем спасибо, сделал
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.05.2018, 17:15
Помогаю со студенческими работами здесь

Связь RadioButton, Edit и Button, Delphi7
Добрый вечер! Помогите пожалуйста с кодом, не могу никак сделать такую структуру кода: На форме три RadioButton - адрес, телефон и...

Визуальные компоненты Delphi (Edit, Label, Button).
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; ...

Запись числа в StringGrid посредством Edit и Button
Здравствуйте, не могу понять, как сделать: Нужно организовать ввод по строкам двумерного массива. Я создал Edit (собственно, в который...

Смена цвета Edit и Form после нажатия на Button
При нажатии на Button не меняет цвет, в чем ошибся я? Пробовал место Form у Label цвет менять, у него меняет все. procedure...

Как в программе изменить цвета Label, Edit, Button?
Но чтобы код не нужно было вводить вручную, может где-то в меню можно?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru