Главная страница
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.012 c
1-1224746986
gameus
2008-10-23 11:29
2009.11.15
Как заставить чужое приложение двигаться


2-1254144458
Drowsy
2009-09-28 17:27
2009.11.15
Просмотры в InterBase.


2-1254568749
faiwer
2009-10-03 15:19
2009.11.15
Как реализовать?


6-1209555293
leechdraw
2008-04-30 15:34
2009.11.15
Как отправть письмо со вложением?


4-1222095827
denissoft
2008-09-22 19:03
2009.11.15
Как перехватить функцию CreateFile