А можете подсказать как реализовать проверку по количеству символов, т.е. в LisTBox1 меня есть номера ААА001-002 и ААА0001-0002 (6 и 7 значные). При щелчке на один из диапозонов, они должны заносится в Edit1 и Edit2, как сделать проще чем у меня?
У меня так :
Код:
procedure TForm1.ListBox2Click(Sender: TObject);
begin
Edit3.Text:=ListBox2.Items[ListBox2.ItemIndex];
{6-знаков}
//серия
Edit3.SelStart:=0; //устанавливаю курсор перед нулевым символом
Edit3.SelLength:=3; //выделяем 3 символа
Edit3.CopyToClipboard; //копируем выделенное
Edit4.Clear;
Edit4.PasteFromClipboard; //втавляем в Edit4
//начало номеров
Edit3.SelStart:=4; //устанавливаю курсор перед 4 символом
Edit3.SelLength:=3; //выделяем 3 символа
Edit3.CopyToClipboard; //копируем выделенное
Edit5.Clear;
Edit5.PasteFromClipboard; //втавляем в Edit5
//конец номеров
Edit3.SelStart:=8; //устанавливаю курсор перед 8 символом
Edit3.SelLength:=3; //выделяем 3 символа
Edit3.CopyToClipboard; //копируем выделенное
Edit6.Clear;
Edit6.PasteFromClipboard; //втавляем в Edit6
Edit7.Text:=Edit4.Text+Edit5.Text; // собираем в одно
Edit8.Text:=Edit4.Text+Edit6.Text; // собираем в одно
{7-знаков}
//серия
Edit3.SelStart:=0; //устанавливаю курсор перед нулевым символом
Edit3.SelLength:=3; //выделяем 3 символа
Edit3.CopyToClipboard; //копируем выделенное
Edit9.Clear;
Edit9.PasteFromClipboard; //втавляем в Edit4
//начало номеров
Edit3.SelStart:=4; //устанавливаю курсор перед 4 символом
Edit3.SelLength:=4; //выделяем 4 символа
Edit3.CopyToClipboard; //копируем выделенное
Edit10.Clear;
Edit10.PasteFromClipboard; //втавляем в Edit10
//конец номеров
Edit3.SelStart:=9; //устанавливаю курсор перед 9 символом
Edit3.SelLength:=4; //выделяем 4символа
Edit3.CopyToClipboard; //копируем выделенное
Edit11.Clear;
Edit11.PasteFromClipboard; //втавляем в Edit11
Edit12.Text:=Edit9.Text+Edit10.Text;// собираем в одно
Edit13.Text:=Edit9.Text+Edit11.Text;// собираем в одно
end;
Минусы моего кода:
1. Много полей: 6знаков в Edit1 и Edit2, 7знаков в Edit3 и Edit4
2. Приходится делать две кнопки для 6знаков и 7 знаков
а хотелось чтобы одна кнопка
3. В Editы постоянно вставляются символы, т.е. потом кто будет пользоваться программой нужно смотреть куда тыкать.
Спасибо разобрался
Цитата:
Сообщение от poli-smen
Примерно как-то так:
Код:
ADOQuery2.Sql.Text := 'Select Number From Lugi Where Number >= ' + QuotedStr(Edit1.Text) + ' and Number <= ' + QuotedStr(Edit2.Text);
|
А если необходим список которые не найдены?