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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2012, 09:59   #1
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 147
По умолчанию UpDown + Edit + String

Здравствуйте. Есть форма Form1, на ней добавлены два элемента Edit1 и ассоциированный с ним UpDown1. Необходимо в Edit1 показывать строковые значение вида 00, 01, 02 и т.д. При этом в текущий момент в UpDown1.Position будет равен 0, 1, 2 и т.д., соответственно.

Как я пытался реализовать:
Код:

procedure TForm1.FormCreate(Sender: TObject);
begin
  UpDown1Click(UpDown1, btNext);
end;

procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
 if (UpDown1.Position >= 0) and (UpDown1.Position <=9) then
  begin
    Edit1.Text := '0'+IntToStr(UpDown1.Position);
  end;
end;
т.е. создан обработчик нажатия на UpDown1, в этом случае все проходит корректно мне в Edit1 показывают 00, 01, 02 и т.д.

Почему в обработчике создания формы Form1 не срабатывает явно вызванный UpDown1Click. Т.е. в форме поначалу я вижу в Edit1 значение 0 а не 00.?
ichi вне форума Ответить с цитированием
Старый 14.03.2012, 10:09   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может условие не срабатывает?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.03.2012, 10:21   #3
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 147
По умолчанию

Цитата:
а может условие не срабатывает?
Код:
procedure TForm1.FormCreate(Sender: TObject);
begin
  UpDown1Click(UpDown1, btNext);
  ShowMessage(Edit1.Text);
end;
ShowMessage сообщает: 00

Т.е. по-этому могу предположить, что срабатывает.
ichi вне форума Ответить с цитированием
Старый 14.03.2012, 10:23   #4
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

так и не понял, тебе надо что бы при старте сработал UpDown1Click и в эдит было 00 ?
если так то поставь вызов процедуры UpDown1Click на событие onShow

P.S.
у тебя в объект инспекторе у edit1.text стоит 0 ?
fate вне форума Ответить с цитированием
Старый 14.03.2012, 10:36   #5
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 147
По умолчанию

Цитата:
так и не понял, тебе надо что бы при старте сработал UpDown1Click и в эдит было 00 ?
Верно
Цитата:
если так то поставь вызов процедуры UpDown1Click на событие onShow
Все работает, спасибо.

Цитата:
P.S.
у тебя в объект инспекторе у edit1.text стоит 0 ?
Да, установлен в 0


Почему в обработчике создания формы UpDown1Click не сработал?
ichi вне форума Ответить с цитированием
Старый 14.03.2012, 10:51   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вообще, зачем лишний код гонять, вам сразу 00 не поставить в эдит?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.03.2012, 13:32   #7
ichi
Форумчанин
 
Регистрация: 14.03.2012
Сообщений: 147
По умолчанию

Цитата:
а вообще, зачем лишний код гонять, вам сразу 00 не поставить в эдит?
Если не привязывать, при помощи свойства Associate, к элементу UpDown1 элемент Edit1, то в обработчике создания формы Form1 легко можно выполнить Edit1.Text := '00'. Если выполнить привязку элемента UpDown1 к элементу Edit1, то в обработчике создания формы это уже не выполнится (Edit1.Text := '00'), и на форме в Edit1 я увижу 0 вместо 00. В OnShow формы это (Edit1.Text := '00') почему-то выполняется, даже если UpDown1 ассоциирован с Edit1. Может кто скажет почему?
ichi вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Add string list with all user meta in wp-e commerce Custom Fields like wordpress default add/edit post/page admin panel Alar WordPress и другие CMS 1 11.03.2012 01:11
updown Pein95 Общие вопросы Delphi 0 27.11.2010 23:00
Edit Показать/Скрыть пароль.. String и Char проблемы.. Человек_Борща Общие вопросы Delphi 2 10.04.2010 22:32
Тип string и Edit. (*_*) Общие вопросы C/C++ 2 04.06.2009 14:34
UpDown MasterofCDM Общие вопросы Delphi 3 23.01.2009 10:37