Форум: "Начинающим";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
ВнизSpinButton Найти похожие ветки
← →
SpinButton (2008-09-17 23:27) [0]Киньте плиз пример работы со SpinButton, чтобы при нажатии на кнопку SpinButton, в Edit значение увеличивалось на 1 или уменьшалось на 1 соответственно, в записимости от нажатой кнопки, вверх/вниз.
← →
{RASkov} © (2008-09-17 23:36) [1]> [0] SpinButton (17.09.08 23:27)
А зачем такие сложности? Почему не подходит TUpDown или ТSpinEdit например?
А так там есть OnUpClick и OnDownClick есть такие функции как IntToStr и StrToInt
Но тут достаточно IntToStr а значение хранить например в Тэге Эдита....
← →
KilkennyCat © (2008-09-17 23:37) [2]В обработчике клика проверяем Button на соответствие TUDBtnType = (btNext, btPrev), в зависимости от результата делаем Inc(x) или Dec(x) и отображаем edit1.text := inttostr(x);
← →
KilkennyCat © (2008-09-17 23:40) [3]хе... извиняюсь, я перепутал с апдауном :)
← →
{RASkov} © (2008-09-17 23:41) [4]И вот ведь найдут ведь себе геморой-то....
Из кучи готовых решений выберут самое не подходящее... как например в Мемо цветные строки или связку спинбутон и эдит :)
← →
SpinButton (2008-09-17 23:43) [5]Да, нашёл TUpDown, но он цепляется с Edit, но не цепляется с DBEdit, почему? И как их можно соединить?
← →
KilkennyCat © (2008-09-17 23:45) [6]ручками,например. как я написал выше.
Оффтоп: блин, вот я всегда считал, что работа с DB - это предполагает, что все остальное уже известно...
← →
KilkennyCat © (2008-09-17 23:47) [7]А если спидбатон "цепляет", то что тогда от него так сразу-то отказаться-то? Raskov ведь дал ответ.
← →
{RASkov} © (2008-09-17 23:48) [8]> [5] SpinButton (17.09.08 23:43)
> ручками,например. как я написал выше.
Только не совсем так, но ты сам виноват, задав так вопрос.
Тебе нужно не с (Дб)Эдитами оперировать, а с данными датасета....
← →
{RASkov} © (2008-09-17 23:50) [9]> > ручками,например. как я написал выше.
>
> Только не совсем так, но ты сам виноват, задав так вопрос.
Гы... не я, а [2] :)
Цитата у меня вышла не удачно :(
← →
SpinButton (2008-09-17 23:50) [10]потому что DBEdit привязан к таблице и по изменении значения в DBEdit, меняется значение в таблице, если сделать изменение по SpinButton, то значение будет меняться в DBEdit, но не в таблице, а надо чтобы и в таблице тоже, видимо при данном способе реализации, который пердложил Raskov не происходит тех обработчиков событий, которые происходят при прямом скажем вбивании значения в DBEdit.
← →
{RASkov} © (2008-09-17 23:52) [11]> [10] SpinButton (17.09.08 23:50)
Да не нужны тебе эдиты... они "только" для визуализации данных....
Тебе подойдет любой компонент.... хоть просто TButton только работай с данными в датасете напрямую, а не через Эдиты...
← →
{RASkov} © (2008-09-17 23:54) [12]Например:
procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin
DataSet.Edit;
DataSetIntPole.Value:= DataSetIntPole.Value + 1;
DataSet.Post;
end;
procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin
DataSet.Edit;
DataSetIntPole.Value:= DataSetIntPole.Value - 1;
DataSet.Post;
end;
← →
SpinButton (2008-09-18 00:04) [13]У компонента DataSource нет DataSetIntPole
Пишу:
DataModele2.DataSource.DataSet.Edit;
DataModele2.DataSource.DataSetIntPole.Value:= DataSetIntPole.Value + 1;
DataModele2.DataSet.Post;
Выводит ошибку на DataModele2.DataSource.DataSetIntPole.Value:= DataSetIntPole.Value + 1; - нету DataSetIntPole
← →
KilkennyCat © (2008-09-18 00:06) [14]
> {RASkov}
Ну, что, наизобретал новых терминов? :)
← →
{RASkov} © (2008-09-18 00:09) [15]> [13] SpinButton (18.09.08 00:04)
:)
Конечно нет... Это я его придумал, а точнее ты)
Ищи у себя как он там называется)
Поле, которое связано с ДБЭдитом, в котором тебе хочется менять значения....
Если он у тебя не присутствует в паблишед формы, то как-нибудь так FieldByName или еще как-нибудь так....
← →
{RASkov} © (2008-09-18 00:10) [16]> [14] KilkennyCat © (18.09.08 00:06)
:) Да уж...) Ничё, прорвёмся)
← →
{RASkov} © (2008-09-18 00:12) [17]> [14] KilkennyCat © (18.09.08 00:06)
И что самое интересно, так это то, как он нашел и добрался до действительного значения(свойства) DataSet :)))
← →
SpinButton (2008-09-18 00:14) [18]Всё, сделал с SpinEdit как надо и значения в базе изменяет, спасибо большое
← →
{RASkov} © (2008-09-18 00:16) [19]> [13] SpinButton (18.09.08 00:04)
> У компонента DataSource нет DataSetIntPole
Интересно, а что тебя подвигло искать это "все дело" именно у DataSource ?
Этж просто компонент связи, у него вообще практически ничего нет :)
> [18] SpinButton (18.09.08 00:14)
Фух... :)
← →
Германн © (2008-09-18 00:36) [20]Не ну. А на кой фиг нужен такой компонент? Изменять значение поля в базе на +1 или -1.
Неисповедимы твои пути, господь! (Или это проделки Сатаны? :)
← →
{RASkov} © (2008-09-18 00:43) [21]> Изменять значение поля в базе на +1 или -1.
:)
> А на кой фиг нужен такой компонент?
Действительно...)
Кстати, если нажать на спинбутон и держать, то событие наверняка будет генерироваться одно за другим.... ужасно :) ....постоянная смена состояния датасета....
← →
{RASkov} © (2008-09-18 00:49) [22]Автор, замени ДБЭдит обычным, "прикрути" к нему ТАпДаун, а в базу заноси при окончательном решении сколько нужно сделать +(-)1 для значения, т.е. после ввода его полностью... Может быть на ОнЭксит или еще как... не забудь про то, что ОнЭксит может и не произойти, ну не будет пользователь фокус убирать....
← →
Германн © (2008-09-18 00:57) [23]
> Кстати, если нажать на спинбутон и держать, то событие наверняка
> будет генерироваться одно за другим.... ужасно :) ....постоянная
> смена состояния датасета....
>
Вот и я об том же. :)
> {RASkov} © (18.09.08 00:49) [22]
>
> Автор, замени ДБЭдит обычным, "прикрути" к нему ТАпДаун,
> а в базу заноси при окончательном решении сколько нужно
> сделать +(-)1 для значения, т.е. после ввода его полностью.
>
Да и это на фиг. Если нужно менять значение поля строго на единицу, то не надо давать пользователю возможность сделать неправильный ввод. А если не надо, обычный DBEdit решит все проблемы.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.10.26;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.005 c