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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2009, 11:36   #1
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
Сообщение Установить курсор в DBGrid

Добрый день.
Ищу в DbGrid ячейку которая совпадает со строкой str
Код:
i:=0;
  while (not DbGrid1.DataSource.DataSet.Eof)  do
  begin
    if str=DbGrid1.Fields[2].Asstring then begin
    result:=DBGrid1.Fields[0].AsString; break;end;
    DBGrid1.DataSource.DataSet.Next;
    i:=i+1;
  end;
в первый раз всё прекрасно находит, а при вотором обращении он выдает не правильный ответ.
Насколько я понял
DBGrid1.DataSource.DataSet.Next;
есть перемещение курсора, при первом поиске курсор идет в конец, не поэтому ли он выдает неправильный ответ?
Терь вопросы
1)А какой узнать позицию курсора (позицию активной строки)?
2)Как установить позицию курсора?
Заранее благодарю-с.
nusik вне форума Ответить с цитированием
Старый 06.05.2009, 12:13   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

ваще-то есть такой метод Locate - почитай в хелпе
soleil@mmc вне форума Ответить с цитированием
Старый 06.05.2009, 12:15   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
при первом поиске курсор идет в конец, не поэтому ли он выдает неправильный ответ?
Вполне возможно. Передциклом ставь DbGrid1.DataSource.DataSet.First, если поиск с начала должен начаться
Цитата:
А какой узнать позицию курсора (позицию активной строки)?
Код:
DbGrid1.DataSource.DataSet.RecNo()
Цитата:
Как установить позицию курсора?
Куда именно? В любую абсолютную позицию то так:
Код:
WITH DbGrid1.DataSource.DataSet DO BEGIN
 First;MoveBy(Позиция)
END:
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2009, 14:17   #4
Neeter
Форумчанин
 
Аватар для Neeter
 
Регистрация: 22.02.2009
Сообщений: 875
По умолчанию

Я не могу понять, зачем вам в коде нужна переменная i, ведь вы ее даже не используете... Присваиваете ноль и увеличиваете, но это только засорение кода... Зачем она вам?
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Neeter вне форума Ответить с цитированием
Старый 06.05.2009, 14:43   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Neeter
А все равно. Ее оптимизатор покоцает...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 06.05.2009, 22:14   #6
nusik
Форумчанин
 
Регистрация: 13.04.2009
Сообщений: 117
По умолчанию

Спасибо всем.
Сразу чувствуется - реальный форум, реальная помощь.
Цитата:
А все равно. Ее оптимизатор покоцает...
Не покоцает она в дальнейшем понадобится...
nusik вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
перенос данных из DBGrid в DBGrid KingSize БД в Delphi 17 24.04.2009 09:30
Как установить курсор на добавленную запись в таблице tarakan1983 БД в Delphi 4 05.04.2009 17:13
Курсор wolf950 Помощь студентам 3 13.11.2008 22:24
Программно установить курсор мыши в браузере IE, и кликнуть в окне браузера Vladimir K. Общие вопросы Delphi 13 19.01.2008 17:07
Курсор над DBGrid. Какая колонка? Nowichok Компоненты Delphi 3 05.02.2007 16:51