Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.11.2012, 21:39   #11
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Ну так по очереди в коде каждый Edit очищяешь
Писанину разводить...

Быстрее форму заново создать.

Цитата:
Не проще использовать цикл и findcomponent?
Согласен. Только имхо целесообразней не FindComponent, а просто покомпонентный цикл: Form1.Component[i] и тд Естественно с проверкой наличия поля text у компонента... ну или проверять класс компонента.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 02.11.2012, 21:41   #12
FleXik
Форумчанин
 
Регистрация: 01.11.2012
Сообщений: 770
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
Писанину разводить...

Быстрее форму заново создать.
Можна цикл использовать как написал Кольша
FleXik вне форума Ответить с цитированием
Старый 02.11.2012, 22:45   #13
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
цикл использовать как написал Кольша
расстрел, через повешанье, с конфискацией.
eval вне форума Ответить с цитированием
Старый 03.11.2012, 00:46   #14
Алексей_2012
t45t
Участник клуба
 
Аватар для Алексей_2012
 
Регистрация: 20.03.2012
Сообщений: 1,849
По умолчанию

По-моему так надо))

Код:
var i:integer
begin
 for i := 0 to ComponentCount - 1 do
  begin
    if (Components[i] is TEdit) then
    begin
       (Components[i] as TEdit).Clear;end;
end;
end;
from dark to light)
Алексей_2012 вне форума Ответить с цитированием
Старый 03.11.2012, 01:15   #15
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

Код:
Form1.ButtonClick(sender:TObject);
var NewForm:TForm2;
begin
   NewForm:=TForm2.Create(Form1);
   NewForm.Show;
end;



TForm2.Close(Sender:Tobject);
begin
  Destroy
end;
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 03.11.2012, 11:18   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Код:
TForm2.Close(Sender:Tobject);
begin
  Destroy
end;
О-о-о. Так нельзя. spamer в #3 написал как можно
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 03.11.2012, 15:48   #17
WhiteForge
Пользователь
 
Регистрация: 26.09.2012
Сообщений: 14
По умолчанию

Смысл от очистки ? Очищать каждый элемент, его состояние, обнулять циклы и т д не подходит. Открыл форму, она выгрузилась в память.

Делаеш Close она просто уходит в hide (где вообще различия между ними тогда), форма остается в памяти до тех пор пока не закроеш основную - вот где беда
WhiteForge вне форума Ответить с цитированием
Старый 03.11.2012, 15:49   #18
WhiteForge
Пользователь
 
Регистрация: 26.09.2012
Сообщений: 14
Радость

Цитата:
Сообщение от New man Посмотреть сообщение
Код:
Form1.ButtonClick(sender:TObject);
var NewForm:TForm2;
begin
   NewForm:=TForm2.Create(Form1);
   NewForm.Show;
end;



TForm2.Close(Sender:Tobject);
begin
  Destroy
end;
Код выглядит подходящим, нечто подобное пробовал, попробую этот код Спасибо, мб и сработает
WhiteForge вне форума Ответить с цитированием
Старый 03.11.2012, 21:25   #19
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Цитата:
Сообщение от Sciv Посмотреть сообщение
саша40, хороший код, если на форме 2-3 едита... а если 20-30?


P.S. Не смейтесь и не бейте сильно, но у нас на работе есть такая программа, в которой на форме порядка 30 полей (правда, писана на эклипсе)
То пусть тогда пусть он копирует код(Form2.Edit1.Text:='' и заново вставляет, только цыфру меняет на номер компонента.
P.S. Жаль что нет ещё раздельно написание имени компонента, а то можно цыклом.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 03.11.2012, 22:04   #20
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Жаль что нет ещё раздельно написание имени компонента, а то можно цыклом.
Можно. Через TForm.ControlCount и TForm.Controls[i]
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как поместить вторую форму в Delphi Kreadlling Общие вопросы Delphi 5 06.04.2012 17:26
Закрыть и открыть форму Swatch Microsoft Office Access 1 31.05.2010 23:04
Как запустить вторую форму нажатием кнопки на первой на с#? mr Vi Общие вопросы C/C++ 1 24.05.2010 07:53
Как в С# вызывать вторую форму по F1 Linore Общие вопросы .NET 20 15.02.2010 09:35
С++. Открыть вторую форму ЛУНА55 Помощь студентам 2 10.12.2009 11:35