![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() Добрый день.
Подскажите, как подсчитать количество отмеченных строк в CheckListBox? Необходимо сделать подсчет и вывести это значение в Gauge.MaxValue (компонент из AlphaSkins). Код такой: Код:
for i := 0 to MainForm.asCheckListBox.Items.Count - 1 do begin if MainForm.asCheckListBox.Checked[i] then begin Ident := sl[i]; Value := InstallINI.ReadString(PChar('All'), Ident, ''); ... MainForm.asInstGauge.MaxValue := ?; ... if CreateProcess(PChar(ExePath), PChar(CmdLine), nil, nil, False, 0, nil, nil, SI, PI) then try while True do begin if (WaitForSingleObject(PI.hProcess, 100) <> WAIT_TIMEOUT) then Break; end; finally MainForm.asInstGauge.Progress := ?; Application.ProcessMessages; CloseHandle(PI.hProcess); CloseHandle(PI.hThread); end; end; end; То есть с каждым выполненным CreateProcess, Gauge по задумке должен отображать ход выполнения. |
#2
|
||||
|
||||
![]() Цитата:
Вот пример функции подсчитывающей количество помеченных элементов в указанном CheckListBox: Код:
function CalcChecked(CheckListBox: TCheckListBox): Integer; var i: Integer; begin Result := 0; for i := 0 to CheckListBox.Count - 1 do if CheckListBox.Checked[i] then Inc(Result); end; Код:
asInstGauge.MaxValue := CalcChecked(asCheckListBox); Цитата:
|
Этот пользователь сказал Спасибо poli-smen за это полезное сообщение: | ||
nerZEROn (09.01.2014)
|
#3
|
||||
|
||||
![]() Цитата:
![]() У меня получилось сделать самому, но через занесение кол-ва отмеченных строк CheckListBox в Memo. А количество линий Memo присваивал TStrings. Но это не так красиво и удобно, как через функцию. Так что большое спасибо! |