Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SpinEdit [D2005, XP]


ZV ©   (2006-05-27 00:52:00) 

Имеется два SpinEdit. При старте программы в SpinEdit 1 внесено число(пример300).в SpinEdit2 (0).Как сделать так чтобы при увеличении значения SpinEdit2 уменьшалось значение в SpinEdit1.  и на оборот. Короче надо чтобы значение перетекало, но только при изменении SpinEdit2.При изменении значения  в SpinEdit1 значение  SpinEdit2   должно обнуляться


ЮЮ   (2006-05-27 10:41:00) [1]

Достаточно одного SpinEdit1, у которого установить ещё и MaxValue

SpinEdit1.MaxValue - SpinEdit.Value и есть то, что хочешь показать в SpinEdit2, хотя для этого достаточно и Label


Loginov Dmitry   (2006-05-27 09:21:00) [2]

ZV ©   (27.05.06 2:06) [4]
Да, при изменении значения, которое было при входе в SpinEdit2 .Так как написал ты не получается .только отнимает а наоборот не получается.


А ты напиши так, чтобы получалось (еще не забудь предусмотреть возможность ручного ввода значения, и обработать связанные с этим возможные исключения).


ZV   (2006-05-27 02:06:00) [3]

Да, при изменении значения, которое было при входе в SpinEdit2 .Так как написал ты не получается .только отнимает а наоборот не получается. Мне нужно :пример
SpinEdit1=500  SpinEdit2=0 (такие значения при старте программы)
SpinEdit2=200   SpinEdit1=300(после  изменения значения SpinEdit2)
SpinEdit2=400   SpinEdit1=100(и так далее)
SpinEdit2=50     SpinEdit1=450
Значение нужно перетягивать туда и обратно при помощи SpinEdit2


Rial   (2006-05-27 01:17:00) [4]

Да да, не подумал, накосичил.
Такой расклад как у меня заставит сильно задуматься прогу...

Нужно действительно флаг, где именно происходит изменение.


unknown   (2006-05-27 01:04:00) [5]

не понятно, что значит > сделать так чтобы при увеличении значения SpinEdit2
Увеличении изначального значения - сравнение с какой-то константой?
Или при изменении значения, которое было при входе в SpinEdit2 ? Или...
В общем вот:
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
 if ActiveControl = Sender then
   SpinEdit2.Value := 0;
end;

procedure TForm1.SpinEdit2Change(Sender: TObject);
begin
 if ActiveControl = Sender then //сюда стоит добавить условие сравнения и все.
   SpinEdit1.Value := SpinEdit1.Value - 1;
end;


Rial   (2006-05-27 00:58:00) [6]

В
SpinEdit1 - > OnChange
обнуляешь второй спин, в
SpinEdit2 - > OnChange

SpinEdit1.Value(?) := SpinEdit2.Value ;


Наверх

Титульная страница Поиск, карта сайта Написать письмо