Форум: "Начинающим";
Текущий архив: 2009.11.15;
Скачать: [xml.tar.bz2];
ВнизпРОБЛЕМА С 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c