Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
1

Подсчитать количество не пустых edit-ов

28.09.2013, 18:33. Показов 946. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток! помогите пожалуйста, нужно подсчитать кол-во непустых edit'ов.
на мой вариант ругается
Delphi
1
2
3
4
5
for i:=1 to 20 do
    begin
      if (form1.Components[i].ClassNameIs('TEdit')) <> ' ' then
      k:=k+1;
    end;
заранее благодарю!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.09.2013, 18:33
Ответы с готовыми решениями:

Подсчитать количество пустых строк в текстовом файле. Сформировать новый файл, в котором пустых строк нет
Задано произвольный текстовый файл. Подсчитать количество пустых строк в этом файле. Сформировать...

Подсчитать количество пустых строк
Помогите, пожалуйста доделать программу на языке СИ. Дан текстовый файл. Подсчитать количество...

Подсчитать количество пустых строк файла t
Написать программу, которая подсчитывает количество пустых строк файлаt.

Подсчитать количество не пустых строк в файле
Доброго времени суток. Написал программу, которая подсчитывает количество не пустых строк в файле и...

15
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 18:45 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
function TForm1.GetNotEmptyCnt: Integer;
var
  i: Integer;
begin
  Result := 0;
 
  for i := 0 to Form1.ComponentCount - 1 do
  begin
    if (Form1.Components[i] is TEdit) and (Trim(TEdit(Form1.Components[i]).Text) <> '') then
      inc(Result);
  end;
end;
0
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:22  [ТС] 3
не работает, вообще в цикл не заходит, хотя у меня первые 9 эдитов из 20 заполнены
точнее заходит, но не накапливает
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 19:24 4
Как называется форма, как вызываете GetNotEmptyCnt? Код 100% рабочий. Если на форме как минимум 20 edit'ов, то в цикл зайдет.
0
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:26  [ТС] 5
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
procedure TForm1.Button1Click(Sender: TObject);
var
  i:integer;
begin
  Form2.Show;
  k:=0;
  for i:=1 to 20 do
    begin
      if (Form1.Components[i] is TEdit) and (Trim(TEdit(Form1.Components[i]).Text) <> '')
      then
      begin
        k:=k+1;
      end;
    end;
end;
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 19:28 6
У Вас точно на форме именно TEdit?
0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,252
28.09.2013, 19:28 7
Цитата Сообщение от Иришк@ Посмотреть сообщение
Form1.Components[i]
А эдиты то на какой форме? На Form1 или на Form2? Вот на той форме и ищите.
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 19:30 8
И цикл не от 1, а от 0, написал же. И не 20, а кол-во всех контролов на форме минус 1.
0
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:32  [ТС] 9
на первой форме на GroupBox все 20 расположены

Добавлено через 1 минуту
Цитата Сообщение от opv88 Посмотреть сообщение
И цикл не от 1, а от 0, написал же. И не 20, а кол-во всех контролов на форме минус 1.
и от нуля пробовала до 19. потому что всего их 20 и нужно все проверить
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
28.09.2013, 19:34 10
Цитата Сообщение от Иришк@ Посмотреть сообщение
потому что всего их 20 и нужно все проверить
не лохматьте бабушку.... хоть два, это ни коим образом не значит, что цикл необходимо проводить по количеству искомых эдитов, если первый эдит 23 в списке, а у вас цикл только до 20, естественно вы его не найдете...
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 19:38 11
ComponentCount поставьте.

Добавлено через 2 минуты
Короче, тот код, который писал выше - рабочий и больше тут добавить нечего )))
0
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:40  [ТС] 12
Цитата Сообщение от cotseec Посмотреть сообщение
не лохматьте бабушку.... хоть два, это ни коим образом не значит, что цикл необходимо проводить по количеству искомых эдитов, если первый эдит 23 в списке, а у вас цикл только до 20, естественно вы его не найдете...
работает, спасибо огромное!!!
только все равно не понимаю почему так, если в моем случае я специально сделала эдиты строго от edit1 до edit20

Добавлено через 35 секунд
Цитата Сообщение от opv88 Посмотреть сообщение
ComponentCount поставьте.

Добавлено через 2 минуты
Короче, тот код, который писал выше - рабочий и больше тут добавить нечего )))
да да спасибо
0
0 / 0 / 1
Регистрация: 28.09.2013
Сообщений: 35
28.09.2013, 19:41 13
Цитата Сообщение от Иришк@ Посмотреть сообщение
работает, спасибо огромное!!!
только все равно не понимаю почему так, если в моем случае я специально сделала эдиты строго от edit1 до edit20
Перебираются ВСЕ компоненты на форме. У вас кроме edit еще на ней есть что-то. Нумерация edit не связана с нумерацией всех компонент на форме никоим образом.
0
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:43  [ТС] 14
фантастика просто
0
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
28.09.2013, 19:44 15
Цитата Сообщение от Иришк@ Посмотреть сообщение
не понимаю почему так, если в моем случае я специально сделала эдиты строго от edit1 до edit20
при кидании объекта на форму этот объект добавляется в список Components, кинули первым, например лейбл, он стал под номером 0 (первым), далее кинули ваш первый эдит, он стал вторым, потом накидали 20 лейблов еще, потом стали кидать эдиты, они в списке буду уже вовсе не в первой двадцатке, а после предыдущих накиданных объектов, как видите - позиция в списке форбс Components никак не зависит от номера компонента в названии
1
5 / 5 / 2
Регистрация: 27.01.2013
Сообщений: 74
28.09.2013, 19:47  [ТС] 16
я поняла
0
28.09.2013, 19:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.09.2013, 19:47
Помогаю со студенческими работами здесь

Как подсчитать количество не пустых ячеек?
У меня вопрос. К примеру имеются какие либо числовые значения в диапазоне В3:К3. Мы можем...

Подсчитать количество пустых строк в текстовом файле
Пусть дан текстовый файл. Подсчитать количество пустых строк.

Работа со строками. Подсчитать количество не пустых строк
Помогите написать программу. Вот её подробное описание. &quot;В тексте программы на Фортране каждая не...

Подсчитать количество пустых строк в текстовом файле
Помогите сделать эту программу, очень нужно. Завтра сдавать=(тПодсчитать количество пустых строк в...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru