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

Вниз

пРОБЛЕМА С listbox   Найти похожие ветки 

 
defen ©   (2009-09-28 15:59) [0]

Есть строки в listBox:
</##?#USBSTOR#Disk&Ven_&Prod_USB_DISK_30X&Rev_3.00#6&1946012f&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
\##?#USBSTOR#Disk&Ven_CBM&Prod_Flash_Disk&Rev_5.00#121006002C63D402&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}CODE>\

Из них надо достать шестнадцатиричное значение 6&1946012f и 121006002C63D402. Использовал
S:="##?#USBSTOR#Disk&Ven"; with ListBox1 do
  ItemIndex := Perform(LB_SELECTSTRING, ItemIndex, LongInt(S));


но, как видитие не получил полноценного результата... Значения должны выводиться во второй ListBox, но это не критично, если знаете другой способ, помогите пожалуйста! Заранее спасибо.


 
clickmaker ©   (2009-09-28 16:05) [1]

регулярные выражения


 
Сергей М. ©   (2009-09-28 16:06) [2]

TRegExpr


 
Юрий Зотов ©   (2009-09-28 16:09) [3]

1. Берем всю строку
2. В ней находим позиции 5-го и 6-го символов #
3. Берем подстроку между этими позициями


 
defen ©   (2009-09-28 16:10) [4]

уважаемые, я конечно все понимаю, но нельзя ли конкретизировать свои ответы. Я не особо хорошо знаю язык, а програмированием занимаюсь от случая к случаю. Спасибо...


 
Сергей М. ©   (2009-09-28 16:21) [5]

http://www.delphikingdom.com/asp/viewitem.asp?catalogid=163


 
defen ©   (2009-09-28 16:33) [6]

Попробую...


 
Юрий Зотов ©   (2009-09-28 16:39) [7]

Я все же полагаю, что использование регулярных выражений в такой детской задачке - это стрельба из пушки по воробьям. Каждый способ решения хорош по-своему и в данном случае написать десяток элементарных строк гораздо проще и быстрее, чем изучать регвыражения.

Ну не нужен экскаватор для того, чтобы наполнить песком игрушечное ведерко. Совочек нужен, а экскаватору оставим котлованы - это его работа.

uses
 StrUtils;

procedure TForm1.FormDblClick(Sender: TObject);
var
 S: string;
 i, P5, P6: integer;
begin
 if ListBox1.ItemIndex >= 0 then
 begin
   S := ListBox1.Items[ListBox1.ItemIndex];
   P5 := 0;
   for i := 1 to 5 do
     P5 := PosEx("#", S, P5 + 1);
   P6 := PosEx("&0#{", S, P5 + 1);
   S := Copy(S, P5 + 1, P6 - P5 - 1);
   ListBox2.Items.Add(S)
 end
end;


 
Игорь Шевченко ©   (2009-09-28 16:46) [8]

нет у тебя с listbox проблемой, читай правила форума и учись правильно задавать вопрос



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
15-1253037180
Вячеслав.К
2009-09-15 21:53
2009.11.15
D2009 - Enter стирает строки в коде?


2-1254269831
Drowsy
2009-09-30 04:17
2009.11.15
Как можно из программы запустить другое приложение


2-1254227370
Aleks
2009-09-29 16:29
2009.11.15
Реестр и StringToColor


2-1254305859
Fr
2009-09-30 14:17
2009.11.15
Кнопка в TWebBrowser


2-1254531792
сергей
2009-10-03 05:03
2009.11.15
Как определить размер Application.ExeName ??