Показать сообщение отдельно
  #4  
Старый 30.04.2014, 09:09
Аватар для spawn-1212
spawn-1212 spawn-1212 вне форума
Прохожий
 
Регистрация: 03.12.2012
Сообщения: 25
Репутация: 10
Восклицание

А можете подсказать как реализовать проверку по количеству символов, т.е. в 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);
А если необходим список которые не найдены?
Ответить с цитированием