![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 ;