Вот потребовалось замутить вывод состояния завершенности процесса.
сначала выводил проценты, тоже выход, но мысль пошла дальше.
Итак:
Входные параметры:
сколько из скольки (численные значения)
'N - текущее значение
'Total - общее значение
'Current - служебная переменная
Deflcdchar 0 , 32 , 32 , 32 , 32 , 32 , 32 , 32 , 32 '
Deflcdchar 1 , 16 , 16 , 16 , 16 , 16 , 16 , 16 , 32 ' |
Deflcdchar 2 , 24 , 24 , 24 , 24 , 24 , 24 , 24 , 32 ' ||
Deflcdchar 3 , 28 , 28 , 28 , 28 , 28 , 28 , 28 , 32 ' |||
Deflcdchar 4 , 30 , 30 , 30 , 30 , 30 , 30 , 30 , 32 ' ||||
Deflcdchar 5 , 31 , 31 , 31 , 31 , 31 , 31 , 31 , 32 ' |||||
Progress:
Current = N * 80 '(80 - это количество столбцов прогрессбара {16 знаков на 5 столбцов в знаке})
Current = Abs(current) '(Не обязательно, но, в моем случае, текущее значение может быть отрицательным)
Current = Current / Total
Pixel = Current Mod 5 '(Вычисляем кол-во столбцов {остаток от деления})
Current = Current / 5 '(Вычисляем кол-во полностью заполненных сегментов {остаток от деления})
Locate 2 , Current '(координаты полностью заполненного сегмента)
Locate 2 , Current : Lcd Chr(5) '(вывод полностью заполненного сегмента)
Incr Current '(переход к следующему сегменту)
Locate 2 , Current '(координаты остатка для следующего сегмента)
On Pixel Gosub P0 , P1 , P2 , P3 , P4 '(выбор символа для остатка)
Return
P0:
Lcd Chr(0)
Return
P1:
Lcd Chr(1)
Return
P2:
Lcd Chr(2)
Return
P3:
Lcd Chr(3)
Return
P4:
Lcd Chr(4)
ReturnКонструктивная критика приветствуется.
