![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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; |