![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте дорогие форумчане, помогите решить проблему с прогрессбаром.
Есть компонент TMemo который постепенно заполняется следующим текстом: Цитата:
Объясню что этот текст обозначает: START-PAGE000000000 - номер первой страницы, выводится сразу. STOP--PAGE000004000 - номер последней страницы, выводится приблизительно через секунд 10 после вывода START-PAGE. PAGE000000000 - номер текущей страницы. То есть в начале выводит общее количество страниц, в данном случае 4, дальше начинает идти текст нумерацией 1, 2, 3 и 4. Теперь относительно расшифровки нумерации: Цитата:
Вот процедуры, в которых я попытался реализовать то, что мне необходимо: Код:
procedure SetMinMax(s:string); var tmp,substr:string; begin substr:='START-PAGE'; if MatchesMask(s,substr+'*') then begin tmp:=Copy(s,Pos(substr,s)+length(substr),length(s)); if IsNumber(tmp) then begin Form1.ProgressBar1.Min:=StrToInt(Copy(tmp,0,3))*255+StrToInt(Copy(tmp,4,3)); end; end; substr:='STOP--PAGE'; if MatchesMask(s,substr+'*') then begin tmp:=Copy(s,Pos(substr,s)+length(substr),length(s)); if IsNumber(tmp) then begin Form1.ProgressBar1.Max:=StrToInt(Copy(tmp,0,3))*255+StrToInt(Copy(tmp,4,3))-1; end; end; end; procedure SetProgress(s:string); var tmp,substr:string; begin substr:='PAGE'; if MatchesMask(s,substr+'*') then begin tmp:=Copy(s,Pos(substr,s)+length(substr),length(s)); if IsNumber(tmp) then begin Form1.ProgressBar1.Position:=StrToInt(Copy(tmp,0,3))*255+StrToInt(Copy(tmp,4,3)); end; end; end; |