![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сделать кнопки не активными [D7, XP]
alikon1 © (2007-10-08 13:21:00)procedure TForm1.BitBtn2Click(Sender: TObject);
begin
DBNavigator1.BtnClick(nbNext);
end;
Даже если дойти до конца базы, то кнопка все равно остается активной. А как ее сделать не активной, если запись уже последняя?
korneley (2007-10-08 16:20:00) [1]
> Desdechado © (08.10.07 15:38) [15]
> И RecordCount, и RecNo слишком скользкие
Полностью согласен. А на 95/98 в Paradox-е и персонале, который всегда "я правильно всё выключил" - постоянная головная боль с индексами, и это ещё счастье, пока не наступит полный "file corrupt" :)
korneley (2007-10-08 15:56:00) [2]
> а можно узнать, элемент под каким номером выделен в текущий
> момент (допустим в DBGrid)
Боюсь ошибиться, но опять же для Paradox + BDE, работает что-то типаTable1.CurrentRecord
clickmaker (2007-10-08 15:53:00) [3]
> alikon1 (08.10.07 13:58)
а ты ее сюда приглашай... ;)
Desdechado (2007-10-08 15:38:00) [4]И RecordCount, и RecNo слишком скользкие.
Привычка их использовать потом вылазит боком.
Номер строки обычно не нужен, есть уникальный первичный ключ для этих целей.
Anatoly Podgoretsky (2007-10-08 15:13:00) [5]> alikon1 (08.10.2007 13:47:05) [5]
Выбрось DBNavigator совсем.
alikon1 (2007-10-08 14:05:00) [6]Нашел команду, вроде то что надо выводит:
label4.caption := inttostr(table1.RecNo);
alikon1 (2007-10-08 14:01:00) [7]спасибо, количество записей вроде работает
label4.caption := inttostr(Table1.RecordCount);
а можно узнать, элемент под каким номером выделен в текущий момент (допустим в DBGrid)
alikon1 (2007-10-08 13:58:00) [8]вообще то это ОНА, программирование преподает, хотя сама только начала изучать язык пару недель назад. Такие вот преподаватели в Казахстане бывают.
clickmaker (2007-10-08 13:55:00) [9]
> как в Delphi работать и сам преподаватель не знает
а что он преподает?
korneley (2007-10-08 13:54:00) [10]
> И как можно узнать общее количество записей в БД?Для Paradox
Table1.RecordCount. Причем работает только с Paradox + BDE
engine (2007-10-08 13:54:00) [11]> [5] alikon1 (08.10.07 13:47)
Кидаешь баттон на форму, меняешь ему кэпшион на слово «Впирет/Назат»
Жамкаешь мышой на кнопку и в процедуре ОнКлик пишешь
Table1.Next/Prior;
alikon1 (2007-10-08 13:53:00) [12]SELECT Count(*) - как комментарий считает
И с DataSet.Next можно подробнее, в универе задание дали, а как в Delphi работать и сам преподаватель не знает. Так что сижу сам пытаюсь разобраться.
clickmaker (2007-10-08 13:48:00) [13]select count(*) from table
для любой СУБД. Хоть у нас, хоть на Марсе
Есть еще RecordCount, но оно не всегда показывает полное количество, а для "мертвых" запросов может вобще быть -1
alikon1 (2007-10-08 13:47:00) [14]У DBNavigator'а вместо слов стрелки, а я со словами кнопки хотел
Desdechado (2007-10-08 13:47:00) [15]SELECT Count(*) по всем таблицам и просуммировать
alikon1 (2007-10-08 13:42:00) [16]И как можно узнать общее количество записей в БД?
Для Paradox
clickmaker (2007-10-08 13:39:00) [17]
> alikon1 (08.10.07 13:21)
а зачем такой бутерброд? Одной кнопкой имитировать нажатие другой?
Не проще ли DataSet.Next?
Desdechado (2007-10-08 13:32:00) [18]Это ты видишь, что конец. А методу нужно попытаться еще раз, чтобы убедиться (поймать DataSet.EOF). Тогда он и сделает кнопки серыми.