Насколько я понимаю ваш вопрос, вы хотите извлечь Id из форматированного текста, который вы поместили в список. Если я прав, вы можете сделать это так:
function GetIdFromListBoxText(const Text: string): string;
var
P1, P2: Integer;
begin
P1 := Pos('[', Text);
P2 := Pos(']', Text);
if (P1<>0) and (P2<>0) then
Result := Copy(Text, P1+1, P2-P1-1)
else
Result := '';
end;
Этот код основан на предположении, что ваши строки Id не содержат [
или ]
.
Вы можете использовать его в своем коде так:
ShowMessage(GetIdFromListBoxText(ListBox1.Items[Listbox1.ItemIndex]));