Вниз
Скачать: CL | DM;

Группировка в ListBox1   Найти похожие ветки 

← →
Supreme   (2002-12-12 17:09) [0]

Нужно написать отдельную процедуру, чтобы сгруппировать строки в
ListBox1. Т.е. имееются строки, например:
111111
222222
333333
444444
Нужно перед каждой добавить "1. ", "2. ", "3. "...."25. " и т.д. до конца.
Но чтобы не это делалось не просто "допечатыванием", а с заменой старых значений.
т.е., чтобы не получилось такого:
1. 1. 111111
2. 2. 222222
3. 3. 333333
и т.д.
помогите написать процедуру.


← →
Calm ©   (2002-12-12 17:26) [1]

Перед тем как добавить номер, проверяй первое слово (символы до пробела) обрабатываемой строки. Если перовое слово состоит из цифр и точки, тогда его нужно удалить и только после этого добавить номер.

Использовать фукнцию Copy, проверку на вхождение символа в множество и все...


← →
Supreme   (2002-12-12 20:38) [2]

Можно пример?


← →
Бурундук   (2002-12-12 21:17) [3]

Есть ещё вариант:
можно не добавлять номер к строке, а просто
рисовать его. Тогда не надо будет отслеживать изменения -
номер будет соответсвтовать позиции автоматически.

ListBox1.Style := lbOwnerDrawFixed;

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var s: string;
begin
with (Control as TListBox) do
begin
if odSelected in State then
begin
Canvas.Brush.Color := clHighlight;
Canvas.Font.Color := clHighlightText;
end else
if odDisabled in State then
Canvas.Font.Color := clInactiveCaption;
//...

s := Format("%d. %s", [Index, Items[Index]]);
Canvas.TextRect(Rect, Rect.Left+2, Rect.Top, s);
end;
end;



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-74953
NeyroSpace
2002-12-02 10:56
2002.12.23
Скрипт Паскаль? Существует ли он или прийдется писать самому?


1-74634
Beglec
2002-12-12 14:17
2002.12.23
QuickReport


3-74581
Vint
2002-12-04 13:10
2002.12.23
Формат таб. Paradox


14-74928
lak_b
2002-12-01 15:03
2002.12.23
файлы ресурсов


1-74723
RX
2002-12-14 03:29
2002.12.23
Глюки слокализацией




   Наверх