Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Delphi 7. Неудается выполнить поиск

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Delphi 7. Неудается выполнить поиск
Имя
Сообщение << Старые топики   Новые топики >>
Delphi 7. Неудается выполнить поиск - 2008-06-03 07:00:30.560000   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
Помогите плиз написать поиск. Есть три LabelEdit, при вводе имени в dbGrid должна отобрахаться искомая строка с фокусировкой на ней.
Post #: 1
RE: Delphi 7. Неудается выполнить поиск - 2008-06-03 09:21:42.376666   
DEMONirk

Сообщений: 46
Оценки: 0
Присоединился: 2008-02-28 16:24:11.623333
А ищешь где в строке или в файле? И вообще в кратце где применяеться?
Post #: 2
RE: Delphi 7. Неудается выполнить поиск - 2008-06-03 11:26:39.036666   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
в строке таблицы
Post #: 3
RE: Delphi 7. Неудается выполнить поиск - 2008-06-04 17:43:54.183333   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
del this message, pls
Post #: 4
RE: Delphi 7. Неудается выполнить поиск - 2008-06-04 20:52:30.606666   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
Молодой человек, учите мат. часть.
Намекаю, класс TDataSet метод Locate
Post #: 5
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 04:36:49.500000   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
все это очень хорошо. вот только проблема не в том чтобы подкличьтбся к таблице, а в том что у меня в labeledit, не вводятся данные поиска.
Post #: 6
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 05:31:46.216666   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
procedure TfmSpisok.edLastnChange(Sender: TObject);
 var KeyFields: string;
     KeyValues: Variant;
     Options: TLocateOptions;
  begin
   with dmOft do
  begin
  
   //if (edLastn.Text and edFirstn.Text) then
   MessageDlg('Íå çàäàíû óñëîâèÿ ïîèñêà', mtInformation, [mbOK], 0);
   exit;
   KeyFields := 'LastName;First_Name;Father_Name';
   KeyValues := VarArrayOf([edLastn.Text, edFirstn.Text]);
   Options := [loCaseInsensitive, loPartialKey];
   if Pacient.Locate(KeyFields, KeyValues, Options) then begin
   Beep;
   MessageDlg('Çàïèñü íå íàéäåíà!', mtInformation, [mbOK], 0);
   exit;
   end;
   end;
   end;
Post #: 7
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 11:53:28.073333   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
quote:

ORIGINAL: BolXB

procedure TfmSpisok.edLastnChange(Sender: TObject);
var KeyFields: string;
&nbsp; KeyValues: Variant;
&nbsp; Options: TLocateOptions;
begin
with dmOft do
begin

//if (edLastn.Text and edFirstn.Text) then
MessageDlg('Íå çàäàíû óñëîâèÿ ïîèñêà', mtInformation, [mbOK], 0);
exit;
KeyFields := 'LastName;First_Name;Father_Name';
KeyValues := VarArrayOf([edLastn.Text, edFirstn.Text]);
Options := [loCaseInsensitive, loPartialKey];
if Pacient.Locate(KeyFields, KeyValues, Options) then begin
Beep;
MessageDlg('Çàïèñü íå íàéäåíà!', mtInformation, [mbOK], 0);
exit;
end;
end;
end;

Мы говорим о поиске или о фильтре?
В результате выполнения метода Locate активной станет первая запись, удовлетворяющая условию.
Т.е. в гриде курсор прыгнет именно туда.
И тогда просто пишем
ShowMessage(Pacient.FieldByName('FirstName').AsString+' &lt;ну и остальные поля...&gt;'); А если нужно отсечь записи, не удовлетворяющие условию, а оставить только нужные, то делаем так
Pacient.Filter:='(LastName='Пупкин') and (First_Name='Вася)'; Pacient.Filtered:=true;
Post #: 8
RE: Delphi 7. Неудается выполнить поиск - 2008-06-06 09:40:36.150000   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
а как подключить LabelEdit к dbGrid?
Post #: 9
RE: Delphi 7. Неудается выполнить поиск - 2008-06-06 13:35:39.023333   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
quote:

ORIGINAL: BolXB

а как подключить LabelEdit к dbGrid?

Э…
Я тут вообще сути не понял
Используй TDBEdit
Или TDBLabel.
Короче что-либо из вкладки DataControls.

Post #: 10
RE: Delphi 7. Неудается выполнить поиск - 2008-06-09 09:37:55.496666   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
что не понятно я пытаюсь выполнить поиск в dbGrid через LabekEdit
Post #: 11
RE: Delphi 7. Неудается выполнить поиск - 2008-06-09 13:38:13.963333   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
Это мне не понятно, что же ты хочешь.
Непосредственно в DBGrid ни поиск ни фильтрацию не делают.
Это делается в DataSet (в твоем случае DataSet - это IBTable )

Post #: 12
RE: Delphi 7. Неудается выполнить поиск - 2008-06-11 12:08:42.556666   
BolXB

Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
это я уже давно сделал. но небудет же коненчный пользователь лазеть по исходному коду и настраивать IBTable? правильно?
поэтому нужно не посредственно где то вводить информацию, в моем случае это LabekEdit , а отображаться информация должна в таблице, в моем случае это dbGrid.
только и всего
Post #: 13
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Delphi 7. Неудается выполнить поиск







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.