purebasic.info

PureBasic forum
Текущее время: Ср апр 24, 2019 3:41 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 3:35 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 456
Благодарил (а): 33 раз.
Поблагодарили: 50 раз.
Пункты репутации: 0
Я не делал это в виде функции, а чисто визуально. В AutoIt3 я делал функцию, хотя её можно было улучшать, но в реальности не пригодилась.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
If OpenWindow(0, 0, 0, 320, 140, "Текстовый прогресс-бар", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
        TextGadget(0, 10, 10, 250, 30, "", #PB_Text_Border)
        SetGadgetColor(0, #PB_Gadget_BackColor, $DADEFF)
        SetGadgetColor(0, #PB_Gadget_FrontColor, $6103FF)
        If LoadFont(0, "Segoe UI", 14, #PB_Font_Bold)
                SetGadgetFont(0, FontID(0))  ; Установить загруженный шрифт Courier 10 как новый стандарт
        EndIf
        SpinGadget    (1, 10, 50, 40, 25, 0, 10)
        SetGadgetState (1, 7)
        SetGadgetText(1, "7")  ; задать начальное значение
       
        ButtonGadget  (2, 60, 50, 80, 30, "Старт")
        ComboBoxGadget(3, 150, 51, 50, 25)
        Dim LstChrw.s{1}(18)
        LstChrw(1) = Chr($2665)
        LstChrw(2) = Chr($25CF)
        LstChrw(3) = Chr($25AA)
        LstChrw(4) = Chr($2022)
        LstChrw(5) = Chr($2039)
        LstChrw(6) = Chr($203A)
        LstChrw(7) = Chr($2206)
        LstChrw(8) = Chr($20AC)
        LstChrw(9) = Chr($2588)
        LstChrw(10) = Chr($25A0)
        LstChrw(11) = Chr($F031)
        LstChrw(12) = Chr($25B2)
        LstChrw(13) = Chr($25BA)
        LstChrw(14) = Chr($25BC)
        LstChrw(15) = Chr($2590)
        LstChrw(16) = Chr($2666)
        LstChrw(17) = Chr($25D8)
        LstChrw(18) = Chr($263B)
        For i = 1 To  ArraySize(LstChrw())
                AddGadgetItem(3, -1, LstChrw(i))
        Next
        SetGadgetState(3, 0) ; устанавливает (начиная с 0) третий элемент как активный
       
        ComboBoxGadget(4, 210, 51, 50, 25)
        For i = 1 To  5
                AddGadgetItem(4, -1, Str(i))
        Next
        SetGadgetState(4, 2)
       
        chrw$ = Chr($2665)
        SetGadgetText(0 , LSet("" , 15, chrw$))
       
        Repeat
                Select WaitWindowEvent()
                        Case #PB_Event_Gadget
                                Select EventGadget()
                                        Case 2
                                                z = Val(GetGadgetText(1))
                                                For i = z To  0 Step -1
                                                        SetGadgetText(0 , LSet("" , i, chrw$))
                                                        Delay(100)
                                                Next
                                                For i = 0 To  z
                                                        SetGadgetText(0 , LSet("" , i, chrw$))
                                                        Delay(100)
                                                Next
                                        Case 1
                                                SetGadgetText(1, Str(GetGadgetState(1)))
                                                i = Val(GetGadgetText(1))
                                                SetGadgetText(0 , LSet("" , i, chrw$))
                                        Case 3
                                                chrw$ = GetGadgetText(3)
                                                i = Val(GetGadgetText(1))
                                                SetGadgetText(0 , LSet("" , i, chrw$))
                                        Case 4
                                                Select Val(GetGadgetText(4))
                                                        Case 1
                                                                SetGadgetColor(0, #PB_Gadget_FrontColor, $FFCC00)
                                                                SetGadgetColor(0, #PB_Gadget_BackColor, $F7F7F7)
                                                        Case 2
                                                                SetGadgetColor(0, #PB_Gadget_FrontColor, $0087FF)
                                                                SetGadgetColor(0, #PB_Gadget_BackColor, $8DFFFF)
                                                        Case 3
                                                                SetGadgetColor(0, #PB_Gadget_FrontColor, $6103FF)
                                                                SetGadgetColor(0, #PB_Gadget_BackColor, $DADEFF)
                                                        Case 4
                                                                SetGadgetColor(0, #PB_Gadget_FrontColor, $72A200)
                                                                SetGadgetColor(0, #PB_Gadget_BackColor, $D8EEE8)
                                                        Case 5
                                                                SetGadgetColor(0, #PB_Gadget_FrontColor, $515151)
                                                                SetGadgetColor(0, #PB_Gadget_BackColor, $F1F1F1)
                                                EndSelect
                                               
                                                chrw$ = GetGadgetText(3)
                                                i = Val(GetGadgetText(1))
                                                SetGadgetText(0 , LSet("" , i, chrw$))
                                EndSelect
                        Case #PB_Event_CloseWindow
                                CloseWindow(0)
                                End
                EndSelect
        ForEver
       
EndIf
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 4:03 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11439
Благодарил (а): 4 раз.
Поблагодарили: 461 раз.
Проще заполнить список таким образом.
Код:
1
2
3
For i = 1 To  18
  AddGadgetItem(3, -1, Mid("♥●▪•‹›∆€█■1▲►▼▐♦◘☻", i, 1))
Next


_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 9:28 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 797
Благодарил (а): 2 раз.
Поблагодарили: 37 раз.
Пункты репутации: 9
А так? :D
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
If OpenWindow(0, 0, 0, 1020, 50, "Текстовый прогресс-бар", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
CanvasGadget(1,0,0,1020,50)
 
r.i=CreateFont_(44,0,0,0,0,0,0,0,#RUSSIAN_CHARSET,0,0,#CLEARTYPE_QUALITY,0,"Lucida sans Unicode")
 
For i=0 To 990 Step 30
  Delay(100)
StartDrawing(CanvasOutput(1))
  DrawingFont(r)
  DrawingMode(#PB_2DDrawing_Outlined)  
  DrawText(i,2,"☻",$00777700,$0FFFFEC)
  StopDrawing()
  Next
 
For i=990 To 0 Step -30
  Delay(100)
StartDrawing(CanvasOutput(1))
  DrawingFont(r)
  DrawingMode(#PB_2DDrawing_Outlined)  
  DrawText(i,2,"♥",$00777700,$0FFFFEC)
  StopDrawing()
  Next
   
DeleteObject_(r)
EndIf
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 9:54 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6506
Благодарил (а): 28 раз.
Поблагодарили: 211 раз.
Пункты репутации: 57
Сергейчик, есть же в Пурике кроссплатформенно
Код:
1
 r.i=FontID(LoadFont(#PB_Any, "Lucida sans Unicode", 20,#PB_Font_HighQuality))


_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 10:53 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 456
Благодарил (а): 33 раз.
Поблагодарили: 50 раз.
Пункты репутации: 0
Сергейчик писал(а):
А так? :D
:)
градиента добавил
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
If OpenWindow(0, 0, 0, 1020, 50, "Текстовый прогресс-бар", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
        CanvasGadget(1,0,0,1020,50)
       
        ;       r.i=CreateFont_(44,0,0,0,0,0,0,0,#RUSSIAN_CHARSET,0,0,#CLEARTYPE_QUALITY,0,"Lucida sans Unicode")
        r.i=FontID(LoadFont(#PB_Any, "Lucida sans Unicode", 27,#PB_Font_HighQuality))
       
        For i=0 To 33
                Delay(50)
                StartDrawing(CanvasOutput(1))
                DrawingFont(r)
                ;               DrawingMode(#PB_2DDrawing_Outlined)  
                DrawingMode(#PB_2DDrawing_Gradient)
                BackColor($0000FF)
                GradientColor(0.3, $00FFFF)
                GradientColor(0.7, $FFFF00)
                FrontColor($FF0000)
                LinearGradient(0, 0, 1020, 0)
                DrawText(i * 30, 2, "☻", $00777700, $0FFFFEC)
                StopDrawing()
        Next
       
        For i=33 To 0 Step -1
                Delay(50)
                StartDrawing(CanvasOutput(1))
                DrawingFont(r)
;               DrawingMode(#PB_2DDrawing_Outlined)  
                DrawingMode(#PB_2DDrawing_Gradient)
                BackColor($0000FF)
                GradientColor(0.3, $00FFFF)
                GradientColor(0.7, $FFFF00)
                FrontColor($FF0000)
                LinearGradient(0, 0, 1020, 0)
                DrawText(i * 30, 2, "♥", $00777700, $0FFFFEC)
                StopDrawing()
        Next
       
        DeleteObject_(r)
        Delay(2000)
EndIf



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 11:22 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 797
Благодарил (а): 2 раз.
Поблагодарили: 37 раз.
Пункты репутации: 9
А по окну не градиентит. :evil:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
 
Procedure zagruzci()
If OpenWindow(0, 0, 300, 1020, 50,"",$80000000)
        ;CanvasGadget(1,0,0,1020,50)
       
        ;       r.i=CreateFont_(44,0,0,0,0,0,0,0,#RUSSIAN_CHARSET,0,0,#CLEARTYPE_QUALITY,0,"Lucida sans Unicode")
      Protected r.i=FontID(LoadFont(#PB_Any, "Lucida sans Unicode", 27,#PB_Font_HighQuality))
      Protected i.i  
        For i=0 To 33
                Delay(50)
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
                ;DrawingMode(#PB_2DDrawing_Outlined)  
                DrawingMode(#PB_2DDrawing_Gradient)
                BackColor($0000FF)
                GradientColor(0.3, $00FFFF)
                GradientColor(0.7, $FFFF00)
                FrontColor($FF0000)
                LinearGradient(0, 0, 1020, 0)
                DrawText(i * 30, 2, "☻", $00777700, $0FFFFEC)
                StopDrawing()
        Next
       
        For i=33 To 0 Step -1
                Delay(50)
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
;               DrawingMode(#PB_2DDrawing_Outlined)  
                DrawingMode(#PB_2DDrawing_Gradient)
                BackColor($0000FF)
                GradientColor(0.3, $00FFFF)
                GradientColor(0.7, $FFFF00)
                FrontColor($FF0000)
                LinearGradient(0, 0, 1020, 0)
                DrawText(i * 30, 2, "♥", $00777700, $0FFFFEC)
                StopDrawing()
        Next
       
       
        Delay(2000)
   EndIf
     
   StartDrawing(WindowOutput(0))
   DrawingFont(r)
   DrawText(i * 30, 2, "                     ♥☻♥Puric загрузил смайлик ♥☻♥                    ", $00777700, $0FFFFEC)
   
   StopDrawing()
   Delay(2000)
  DeleteObject_(r)
EndProcedure
 
zagruzci()
 



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 11:34 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11439
Благодарил (а): 4 раз.
Поблагодарили: 461 раз.
Сергейчик писал(а):
А по окну не градиентит.
https://www.purebasic.com/documentation ... dient.html
Цитата:
Примечание: Эта команда имеет эффект только с поверхностями вывода - ImageOutput() и CanvasOutput().

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Текстовый прогресс-бар
СообщениеДобавлено: Вс фев 10, 2019 11:48 pm 
Не в сети
профессор

Зарегистрирован: Пн июл 22, 2013 11:00 pm
Сообщений: 797
Благодарил (а): 2 раз.
Поблагодарили: 37 раз.
Пункты репутации: 9
Пётр писал(а):
Сергейчик писал(а):
А по окну не градиентит.
https://www.purebasic.com/documentation ... dient.html
Цитата:
Примечание: Эта команда имеет эффект только с поверхностями вывода - ImageOutput() и CanvasOutput().

Тогда самому красить. :D
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
 
Procedure zagruzci()
If OpenWindow(0, 100, 300, 1020, 50,"",$80000000)
        ;CanvasGadget(1,0,0,1020,50)
       
        ;       r.i=CreateFont_(44,0,0,0,0,0,0,0,#RUSSIAN_CHARSET,0,0,#CLEARTYPE_QUALITY,0,"Lucida sans Unicode")
      Protected r.i=FontID(LoadFont(#PB_Any, "Lucida sans Unicode", 27,#PB_Font_HighQuality))
      Protected i.i  
        For i=0 To 33
                Delay(50)
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
 
                DrawText(i * 30, 2, "☻", $0025EBBE*i, $0FFFFEC+i)
                StopDrawing()
        Next
       
        For i=33 To 0 Step -1
                Delay(50)
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
;
                DrawText(i * 30, 2, "♥", $00882DE3*i, $0FFFFEC+i)
                StopDrawing()
        Next
       
       
        Delay(2000)
   EndIf
     
   StartDrawing(WindowOutput(0))
   DrawingFont(r)
   DrawText(i * 30, 2, "                     ♥☻♥Puric загрузил смайлик ♥☻♥                    ", $00F1C71F, $0FFFFEC)
   
   StopDrawing()
   Delay(2000)
   DeleteObject_(r)
   CloseWindow(0)
  DestroyWindow_(WindowID(0))
EndProcedure
 
zagruzci()
 
 


Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
 
 
Procedure zagruzci()
If OpenWindow(0, 200,50,340,550,"",$80000000|#WS_CHILD)
 
      Protected r.i=FontID(LoadFont(#PB_Any, "Lucida sans Unicode", 27,#PB_Font_HighQuality))
      Protected i.i
      Protected a.i
 
     
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
                DrawingMode(#TRANSPARENT)
 
                ffgggs:
               
      For i=0 To 400 Step 40
               Delay(50)
                Box(0,0,500,550,$0)
                DrawText(0,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(30,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(60,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(90, Random(500),Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(120,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(150,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(180,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(210,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(240,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(270,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(300,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)      
        Next
         If a<30
           a+1
           Goto ffgggs
         EndIf  
         StopDrawing()
     a=0    
         
                StartDrawing(WindowOutput(0))
                DrawingFont(r)
                DrawingMode(#TRANSPARENT)
                ffgggsr:
               Box(0,0,500,550,$0)
                     
      For i=0 To 400 Step 40
               Delay(50)
               
                DrawText(0,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(30,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(60,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(90, Random(500),Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(120,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(150,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(180,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(210,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(240,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(270,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)
                DrawText(300,Random(500), Chr(Random(65565)), $0025EBBE-i, $0FFFFEC*i)      
        Next
         If a<30
           a+1
           Goto ffgggsr
         EndIf  
         StopDrawing()      
         
     
         
         
   DeleteObject_(r)
   CloseWindow(0)
   ;DestroyWindow_(WindowID(0))
   
 EndIf  
EndProcedure
 
zagruzci()
 
 



Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB