Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Как неписать много if   Найти похожие ветки 

 
kepten ©   (2002-12-05 09:50) [0]

Ситуация такая есть поисковая форма где около 20 edit пользователь может производить поиск по любому полю я должен прописать if ((edit1.text="")and(edit2.text<>""......)then таких условий получится очень много как это сделать попроще;


 
KoluChi ©   (2002-12-05 09:56) [1]

Сделать массив Edit"ов и проверять в цикле, а можно написать класс в котором будет список Edit"ов и полей за которые они отвечают.


 
Илайдж   (2002-12-05 10:27) [2]

Для этого существует StringGrid


 
kepten ©   (2002-12-05 11:36) [3]

Я что-то непонял а причём здесь StringGrid


 
Skier ©   (2002-12-05 11:41) [4]

>kepten
А у тебя есть какая-нибудь закономерность в построении
условий для edit-ов или это простой перебор ? Типа:


if ((edit1.text="")and(edit2.text<>""......) then
if ((edit1.text="")and(editN.text<>""......) then
//..........................
if ((edit2.text="")and(edit3.text<>""......) then
if ((edit2.text="")and(edit4.text<>""......) then
//.............................

???




 
kepten ©   (2002-12-05 11:47) [5]

Нет никакой закономерности просто в зависимости от того какие edit заполнены будет выполняться sql запрос


 
Ihor Osov'yak ©   (2002-12-05 11:48) [6]

Как вариант


repeat

if not (условие 1) then break;
if not (условие 2) then break;
..
if not (условие n) then break;

ShowMessage("Нашел и счас сделаю !!!!!")

break
until false;


Отлаживать это намного проще ....
Или вынеси это в отдtльную ф-цию, не нужно псевдоцикла, а вместо break - exit..

Зы , есть у меня еще коллега- извращенец (Вова, привет), так вот, он еще юзает

try
if ... abort;
if ... abort;

...
except

end








 
kepten ©   (2002-12-05 11:51) [7]

Спасибо буду пробовать


 
Separator ©   (2002-12-05 11:55) [8]

Приведи свой код, чтоб посмотреть что конкретно требуется сделать в твоей проге


 
Tundra   (2002-12-05 12:00) [9]

вообще ты не дал достаточно сведений - например по полям по которым надо искать - нет списка поле.
Вот тебе код для случая когда в каждое поле вводится выр-е типа
MyField1="Петров"
попробуй так если я правильно тебя понял
frm-твоя форма
var st:string;
Begin
for i:=0 to frm.ComponentCount-1 do
begin
st:="true";
if frm.components[i].ClassNameIs("tedit") then
begin
if tedit(frm.components[i]).text<>"" then
st:=St+ " and " tedit(frm.components[i]).text
end
end
end


 
Tundra   (2002-12-05 12:01) [10]

St - это строка после where в запросе SQL



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
1-51671
Mihey
2002-12-05 16:19
2002.12.16
Создание dll-ки.


3-51566
Rustik
2002-11-26 14:55
2002.12.16
Требуется сфорировать отчет в Excel по гостовому шаблону


1-51699
avsh
2002-12-05 20:44
2002.12.16
TImage


6-51878
Beginner-Designer
2002-10-18 13:58
2002.12.16
Принцип работы Lookup


3-51617
Skywalker
2002-11-14 12:55
2002.12.16
DATE