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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.12.2016, 15:00   #1
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию Запрограммировать кнопку поиск

Запрограммируйте кнопку «Найти», так чтобы на панели «Найдены запись» отображалась вся информация о выбранном элементе списка (для данного примера о лице, фамилия которого указанна в поле редактирования Edit5 «Введите фамилию»). Если по данному запросу ничего не обнаружено, то выведите сообщение об этом.

Вот проект помогите кто-нибудь
Вложения
Тип файла: rar Проект.rar (215.0 Кб, 15 просмотров)
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 16:03   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,761
По умолчанию

Вы решили поделиться с нами Вашим заданием?
Потому что никакого вопроса от Вас не видно и даже знака вопроса нет.
FaTaL вне форума Ответить с цитированием
Старый 19.12.2016, 16:11   #3
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Нужна помощь как лучше реализовать поиск, чтобы информация отображалась в 4 полях EDit из компонента StringGrid1, при вводе автора или выбора его из компонента ComboBox1?

Надеюсь понятно объяснил.
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 16:12   #4
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

вот
Изображения
Тип файла: png Безымянный.png (18.1 Кб, 76 просмотров)
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 16:30   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

В стринггриде поиск реализуется просто в цикле перебором всех строк и сравнением значений каких-то колонок с заданными значениями. Нашел - выход из цикла и в эдиты перемещай данные из строки. Это и будет лучшая реализация поиска
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.12.2016, 16:35   #6
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Можете на примере или в качестве примера показать как это должно выглядеть?
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 16:53   #7
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А как же ты его заполнял, если не можешь в цикле прочитать?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.12.2016, 16:59   #8
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

У меня стринггрид заполняется тогда когда я открою файл. Но впринципе кажется идея понятна сейчас попробую реализовать.
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 18:15   #9
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Так и никак что не соображу по поиску, вот нашел кажется пример. Но в этом примере как я понял результат поиска выводится во второй компонент StringGrid2?
То есть мне достаточно переделать что бы выводилось в поля Edit так?
ИвановБ вне форума Ответить с цитированием
Старый 19.12.2016, 18:17   #10
ИвановБ
Пользователь
 
Регистрация: 19.12.2016
Сообщений: 70
По умолчанию

Код:
var i,j,k:integer; {номер строки данных в таблице}
begin
if Edit5.Text='' then begin showmessage('Введите строку для поиска');exit;end;
k:=0;
for i:=0 to stringgrid2.RowCount-1 do
for j:=1 to stringgrid2.ColCount-1 do
stringgrid2.Cells[i,j]:='';

for i:=1 to N do
begin
if StringGrid1.Cells[3,i]=Edit5.Text
then
begin
k:=k+1;
stringgrid2.Cells[0,k]:=stringgrid1.Cells[0,i];
stringgrid2.Cells[1,k]:=stringgrid1.Cells[1,i];
stringgrid2.Cells[2,k]:=stringgrid1.Cells[2,i];
stringgrid2.Cells[3,k]:=stringgrid1.Cells[3,i];
stringgrid2.Cells[4,k]:=stringgrid1.Cells[4,i];
end;

end;

if stringgrid2.Cells[0,1]='' then Showmessage('Ничего не найдено');
end;


________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 19.12.2016 в 19:23.
ИвановБ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как сделать поиск по БД через кнопку и ADOQuery SQL? - Delphi БД Бахтияр Оралов БД в Delphi 12 07.11.2016 20:12
запрограммировать стенд chudesny Помощь студентам 0 18.05.2012 18:45
запрограммировать составную функцию Kseniya_gorina Помощь студентам 14 24.03.2011 22:15
Нужно запрограммировать микросхему Volya Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 26.03.2007 10:20