powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Визуализация процентов выполнения работы шкала либо прогресс бар.
4 сообщений из 4, страница 1 из 1
Визуализация процентов выполнения работы шкала либо прогресс бар.
    #39715993
p672
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересует визуализация процентов количества строк в таблице в Visual Fox Pro по условию.
Допустим есть таблица с двумя полями: rabota c(100) и vipoln с(2)
ячейки с непустым rabota - 200 строк
ячейки с заполненным среди них vipoln = "да" - 140 строк - это 70% от всех строк
нужно рассчитать процент заполненных vipoln = "да" и визуализировать это НА ФОРМЕ в Visual Fox Pro в виде шкалы на весь экран
то есть на форме отобразить шкалу заполненную на 70% либо прогресс бар.
По мере заполнения vipoln при нажатии кнопки "обновить" шкала будет изменяться.

Как лучше это сделать?

Отчёты и диаграммы не предлагать.
Это будет висеть в цехе и на телевизоре отображаться.
...
Рейтинг: 0 / 0
Визуализация процентов выполнения работы шкала либо прогресс бар.
    #39716000
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можешь виндовый прогрессбар использовать через ole, можешь свой контрол нарисовать из двух прямоугольников.
...
Рейтинг: 0 / 0
Визуализация процентов выполнения работы шкала либо прогресс бар.
    #39716410
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кладешь на форму объект Shape в виде прямоугольника. Для него указываешь свойство BackColor, чтобы задать цвет фона. Собственно изменение - это динамическое изменение длины. Т.е. свойство Width пересчитывается и обновляется при нажатии кнопки "Обновить"

Чтобы сделать это более..менее универсальным, можно сделать собственный класс-контейнер, внутри которого этот Shape и расположить. Пересчет длины делать относительно текущей длины этого контейнера, который принять за 100%
...
Рейтинг: 0 / 0
Визуализация процентов выполнения работы шкала либо прогресс бар.
    #39716771
Погодин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда то делал с помощью win32api.

В основной программе:


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
STORE 0 TO m.hwndPB && дескриптор прогресс-бара

*** константы win32api ***
*m.PBM_SETRANGE=1025
m.PBM_SETRANGE32=1030
m.PBM_SETPOS=1026
m.PROGRESS_CLASS='msctls_progress32'
m.lpWindowName=.null.
m.WS_CHILD=1073741824
m.WS_VISIBLE=268435456
DECLARE LONG CreateWindowEx IN win32api LONG dwExStyle,STRING @lpClassName,STRING @lpWindowName,;
 LONG dwStyle,LONG x,LONG y,LONG nWidth,LONG nHeight,LONG hWndParent,LONG hMenu,LONG hInstance,LONG lpParam
DECLARE LONG SendMessage IN win32api LONG hwnd,LONG msg,LONG wParam,LONG lParam
DECLARE LONG DestroyWindow IN win32api LONG hwnd
*** константы win32api ***




В событии формы Form.Load:


Код: vbnet
1.
2.
3.
m.hwndPB=CreateWindowEx(0,@m.PROGRESS_CLASS,@m.lpWindowName,BITOR(m.WS_CHILD,m.WS_VISIBLE),;
  10,70,380,19,this.hwnd,0,0,0)
SendMessage(m.hwndPB2,m.PBM_SETRANGE32,0,12)




Перерисовка прогресс-бара:


Код: vbnet
1.
2.
3.
4.
m.ncurpos="№ текущей позиции"
...
SendMessage(m.hwndPB,m.PBM_SETPOS,m.ncurpos,0)
...




Form.UnLoad:


Код: vbnet
1.
DestroyWindow(m.hwndPB)




Выход из программы:


Код: vbnet
1.
CLEAR DLLS


...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Визуализация процентов выполнения работы шкала либо прогресс бар.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]