purebasic.info

PureBasic forum
Текущее время: Сб июн 23, 2018 1:00 pm

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




Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Чт авг 29, 2013 7:43 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб сен 08, 2012 9:03 am
Сообщений: 58
Откуда: Россия
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Полный или может не полный список всех зарезервированных #PB_ констант и их значения:

Код:
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
 
#PB_2DDrawing_AllChannels = 256
 #PB_Absolute = 0
 #PB_Absolute = 0
 #PB_All = -1
 #PB_Any = -1
 #PB_Array = 15
 #PB_Ascii = 24
 #PB_Byte = 1
 #PB_Character = 11
 #PB_Checkbox_ThreeState = 5
 #PB_Cipher_NoPadding = 32
 #PB_Cipher_URL = 16
 #PB_Compiler_Console = 2
 #PB_Compiler_DLL = 1
 #PB_Compiler_Date = 1377815232
 #PB_Compiler_Debugger = 1
 #PB_Compiler_EnableExplicit = 0
 #PB_Compiler_Executable = 0
 #PB_Compiler_ExecutableFormat = 0
 #PB_Compiler_File = C:\....pb
 #PB_Compiler_FilePath = C:\...\
 #PB_Compiler_Filename = ....pb
 #PB_Compiler_Home = C:\Program Files (x86)\PureBasic5.11\
 #PB_Compiler_InlineAssembly = 0
 #PB_Compiler_IsIncludeFile = 0
 #PB_Compiler_IsMainFile = 1
 #PB_Compiler_Line = 136
 #PB_Compiler_LineNumbering = 0
 #PB_Compiler_OS = 1
 #PB_Compiler_Procedure =
 #PB_Compiler_Unicode = 0
 #PB_Compiler_Version = 511
 #PB_Constant = 50
 #PB_Container_Borderless = 0
 #PB_Default = -1
 #PB_Default = -1
 #PB_Editor_WordWrap = 268435456
 #PB_Entity_BoxBody = 2
 #PB_Entity_CapsuleBody = 7
 #PB_Entity_CastShadow = 4
 #PB_Entity_ConvexHullBody = 5
 #PB_Entity_CylinderBody = 4
 #PB_Entity_DisplaySkeleton = 8
 #PB_Entity_DisplaySkeleton = 8
 #PB_Entity_MassCenterX = 7
 #PB_Entity_MassCenterY = 8
 #PB_Entity_MassCenterZ = 9
 #PB_Entity_MaxVelocity = 10
 #PB_Entity_None = 0
 #PB_Entity_SphereBody = 3
 #PB_Entity_StaticBody = 1
 #PB_Entity_VelocityX = 4
 #PB_Entity_VelocityY = 5
 #PB_Entity_VelocityZ = 6
 #PB_EventType_Change = 768
 #PB_EventType_LostFocus = 14001
 #PB_EventType_RightClick = 1
 #PB_Event_ActivateWindow = 13104
 #PB_Event_DeactivateWindow = 13114
 #PB_Event_LeftClick = 13112
 #PB_Event_LeftDoubleClick = 13113
 #PB_Event_MaximizeWindow = 13108
 #PB_Event_MinimizeWindow = 13107
 #PB_Event_MoveWindow = 3
 #PB_Event_RestoreWindow = 13109
 #PB_Event_RightClick = 13111
 #PB_Event_SizeWindow = 5
 #PB_Explorer_DisplayMode = 2
 #PB_FileSystem_Force = 2
 #PB_File_Append = 8
 #PB_File_IgnoreEOL = 65536
 #PB_File_NoBuffering = 4
 #PB_File_SharedRead = 1
 #PB_File_SharedWrite = 2
 #PB_FontRequester_Effects = 256
 #PB_Frame3D_Double = 1
 #PB_Frame3D_Flat = 3
 #PB_Frame3D_Single = 2
 #PB_Function = 54
 #PB_Gadget_ScreenCoordinate = 1
 #PB_Gadget_WindowCoordinate = 2
 #PB_HingeJoint_LowerLimit = 8
 #PB_HingeJoint_UpperLimit = 9
 #PB_Ignore = -65535
 #PB_Ignore = -65535
 #PB_Image_DisplayFormat = 24
 #PB_Image_Raised = 1
 #PB_Image_Transparent = 256
 #PB_InputRequester_Password = 1
 #PB_Integer = 21
 #PB_Interface = 52
 #PB_Key_All = -1
 #PB_Label = 56
 #PB_Light_Directional = 2
 #PB_Light_Point = 1
 #PB_Light_Spot = 3
 #PB_LinkedList = 14
 #PB_ListIcon_Inbetween = 4
 #PB_ListIcon_ThreeState = 64
 #PB_Long = 5
 #PB_Map = 22
 #PB_Material_Add = 1
 #PB_Material_Add = 1
 #PB_Material_AlphaBlend = 3
 #PB_Material_AlphaBlend = 3
 #PB_Material_Animated = 1
 #PB_Material_Anisotropic = 3
 #PB_Material_Anisotropic = 3
 #PB_Material_Bilinear = 1
 #PB_Material_Color = 4
 #PB_Material_Fixed = 0
 #PB_Material_Flat = 1
 #PB_Material_Gouraud = 2
 #PB_Material_Modulate = 2
 #PB_Material_None = 0
 #PB_Material_Phong = 4
 #PB_Material_Point = 16
 #PB_Material_Point = 16
 #PB_Material_Replace = 0
 #PB_Material_Solid = 32
 #PB_Material_Solid = 32
 #PB_Material_Trilinear = 2
 #PB_Material_Wireframe = 8
 #PB_Material_Wireframe = 8
 #PB_Memory_NoClear = 1
 #PB_NetworkEvent_Disconnect = 4
 #PB_Network_IPv6 = 268435456
 #PB_OSFunction = 55
 #PB_OS_AmigaOS = 3
 #PB_OS_Linux = 2
 #PB_OS_Linux_2_2 = 1000
 #PB_OS_Linux_2_4 = 1100
 #PB_OS_Linux_2_6 = 1200
 #PB_OS_Linux_Future = 2000
 #PB_OS_MacOS = 4
 #PB_OS_MacOSX_10_0 = 10000
 #PB_OS_MacOSX_10_1 = 10100
 #PB_OS_MacOSX_10_2 = 10200
 #PB_OS_MacOSX_10_3 = 10300
 #PB_OS_MacOSX_10_4 = 10400
 #PB_OS_MacOSX_10_5 = 10500
 #PB_OS_MacOSX_10_6 = 10600
 #PB_OS_MacOSX_10_7 = 10700
 #PB_OS_MacOSX_10_8 = 10800
 #PB_OS_Windows_2000 = 50
 #PB_OS_Windows_2008_R2 = 85
 #PB_OS_Windows_7 = 80
 #PB_OS_Windows_8 = 90
 #PB_OS_Windows_95 = 10
 #PB_OS_Windows_98 = 30
 #PB_OS_Windows_Future = 200
 #PB_OS_Windows_ME = 40
 #PB_OS_Windows_NT3_51 = 5
 #PB_OS_Windows_NT_4 = 20
 #PB_OS_Windows_Server_2003 = 65
 #PB_OS_Windows_Server_2008 = 75
 #PB_OS_Windows_Server_2012 = 95
 #PB_OS_Windows_Vista = 70
 #PB_OS_Windows_XP = 60
 #PB_PixelFormat_ReversedY = 32768
 #PB_Preference_GroupSeparator = 2
 #PB_Preference_NoSpace = 1
 #PB_RegularExpression_NoCase = 1
 #PB_Relative = 1
 #PB_Round_Nearest = 2
 #PB_ScrollArea_ScrollStep = 5
 #PB_Shadow_Additive = 2
 #PB_Shadow_Modulative = 1
 #PB_Shadow_None = 0
 #PB_Shadow_TextureAdditive = 3
 #PB_Shadow_TextureAdditive = 3
 #PB_Sound_MultiChannel = 2
 #PB_String_MaximumLength = 1
 #PB_String_NoCase = 1
 #PB_Structure = 7
 #PB_Structure_AlignC = -1
 #PB_Tree_Inbetween = 16
 #PB_Tree_ThreeState = 65536
 #PB_URL_Protocol = /PC/
 #PB_UTF8 = 2
 #PB_Unicode = 25
 #PB_Variable = 51
 #PB_Web_Mozilla = 1
 #PB_Window_FrameCoordinate = 0
 #PB_Window_InnerCoordinate = 1
 #PB_Window_NoActivate = 33554432
 #PB_Window_ScreenCentered = 1
 #PB_Window_Tool = 4
 #PB_Window_WindowCentered = 2
 #PB_Word = 3
 #PB_World_DebugBody = 2
 #PB_World_DebugEntity = 1
 #PB_World_DebugNone = 0
 #PB_World_UnderWater = 64
 #PB_World_WaterGodRays = 128
 



Дополняйте список недостающих констант и их значения.

_________________
Программист ставит себе на тумбочку перед сном два стакана. Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 8:11 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11189
Благодарил (а): 4 раз.
Поблагодарили: 416 раз.
Не проще в IDE, в меню "инструменты", выбрать "просмотр структур", перейти на вкладку "константы" и ввести PB?

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 8:14 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Честно говоря, нет смысла. Если они уже определены, зачем нам знать их значение? Но за старания конечно респект :)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 8:36 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб сен 08, 2012 9:03 am
Сообщений: 58
Откуда: Россия
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Пётр, :D А я этого даже и не знал. Оказывается всё намного проще :)
Никита Однороб писал(а):
Честно говоря, нет смысла. Если они уже определены, зачем нам знать их значение?

В некоторых случаях их значения могут понадобится. Я сейчас пишу прогу, и ну никак без них не получится :)

_________________
Программист ставит себе на тумбочку перед сном два стакана. Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 9:01 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6313
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
kler2008 писал(а):
Я сейчас пишу прогу, и ну никак без них не получится

интересно бы пример, где нужны значения и невозможно использовать константы?
А вообще в Пурике на сегодняшний день 13811 констант
Цитата:
STARTING 5.20 PureBasic 5.20 beta 12 LTS (Windows - x86)
READY
found 666 structures
found 1510 procedures
found 13811 constants
found 2111 interfaces
DONE.


Если хочешь увидеть их все, то вот код который их генерирует
Код:
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
 
; Для тех, кто в танке:
; [X] Create temporary executable in the source directory
 
CompilerIf #PB_Compiler_Unicode
    CompilerError "Please turn off compiler option 'Create unicode executable'"
CompilerEndIf
 
 
EnableExplicit
 
#Compiler = #PB_Compiler_Home+"compilers\pbcompiler.exe"
 
Procedure StartCompiler()
    ProcedureReturn RunProgram(#Compiler,"/STANDBY","",#PB_Program_Open|#PB_Program_Read|#PB_Program_Write|#PB_Program_Hide)
EndProcedure
 
Procedure StopCompiler(compiler)
    WriteProgramStringN(compiler, "END")
    WaitProgram(compiler,5000)
    CloseProgram(compiler)
EndProcedure
 
Procedure SendCompilerCommand(compiler,command$)
    If ProgramRunning(compiler)
        WriteProgramStringN(compiler, command$)
    EndIf
EndProcedure
 
Procedure.s GetCompilerOutput(compiler)
    If AvailableProgramOutput(compiler)
        ProcedureReturn ReadProgramString(compiler)
    EndIf
EndProcedure
 
Procedure FillList(compiler,List out.s(),space=0)
    Protected out$
    Protected space$=Space(space)
    While out$<>"OUTPUT"+#TAB$+"COMPLETE" And Left(out$,5)<>"ERROR"
        out$=GetCompilerOutput(compiler)
        If out$ And out$<>"OUTPUT"+#TAB$+"COMPLETE" And Left(out$,5)<>"ERROR" And FindString("0123456789",Mid(out$,1,1))=0
            AddElement(out())
            out()=space$+out$
        EndIf
    Wend
EndProcedure
 
Procedure FillConstantList(compiler,List out.s(),space=0)
    Protected out$
    Protected space$=Space(space)
    While out$<>"OUTPUT"+#TAB$+"COMPLETE" And Left(out$,5)<>"ERROR"
        out$=GetCompilerOutput(compiler)
        If out$<>"" And out$<>"OUTPUT"+#TAB$+"COMPLETE" And Left(out$,5)<>"ERROR" And FindString("0123456789",Mid(out$,2,1))=0
            If FindString("01",Mid(out$,1,1))
                out$ = "#"+Mid(out$,2,Len(out$)-1)
                out$ = ReplaceString(out$,#TAB$," = ")
                out$ = ReplaceString(out$,"# = ","#")
            ElseIf FindString("2",Mid(out$,1,1))
                Protected i, found_non_printable = #False
                Protected oldout$ = out$
                Protected sconst_value$  = StringField(oldout$,3,Chr(9))
                out$ = "#"+StringField(oldout$,2,#TAB$)
                For i = 1 To Len(sconst_value$)
                    If Asc(Mid(sconst_value$,i)) < 32 Or Asc(Mid(sconst_value$,i)) > 126
                        found_non_printable = #True
                    EndIf
                Next i
                If out$ = "#TAB$"
                    out$ + " = Chr(9)"
                ElseIf out$ = "#HT$"
                    out$ + " = Chr(9)"
                ElseIf out$ = "#CRLF$"
                    out$ + " = Chr(13) + Chr(10)"
                ElseIf out$ = "#LFCR$"
                    out$ + " = Chr(10) + Chr(13)"
                ElseIf out$ = "#LF$"
                    out$ + " = Chr(10)"
                ElseIf out$ = "#CR$"
                    out$ + " = Chr(13)"
                ElseIf out$ = "#DOUBLEQUOTE$"
                    out$ + " = Chr(34)"
                ElseIf out$ = "#DQUOTE$"
                    out$ + " = Chr(34)"
                ElseIf found_non_printable = #False
                    out$ + " = " + #DQUOTE$ + StringField(oldout$,3,#TAB$) + #DQUOTE$
                Else
                    out$ + " ="
                    Protected temp$ = StringField(oldout$,3,#TAB$)
                    For i = 0 To Len(sconst_value$)-1
                        out$ + " Chr("+Str(PeekB(@temp$+(i*|!REG3XP3!>SizeOf(Character)))) + ") +"
                    Next
                EndIf
                out$ = RTrim(out$,"+")
                out$ = Trim(out$)
            Else
                Debug out$
            EndIf
            out$ = Trim(out$)
            If out$
                AddElement(out())
                out()=space$+out$
            EndIf
        EndIf
    Wend
EndProcedure
 
Procedure GetStructureList(compiler,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"STRUCTURELIST")
        FillList(compiler,out())
    EndIf
EndProcedure
 
Procedure GetProcedureList(compiler,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"FUNCTIONLIST")
        FillList(compiler,out())
    EndIf
EndProcedure
 
Procedure GetConstantsList(compiler,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"CONSTANTLIST")
        FillConstantList(compiler,out())
    EndIf
EndProcedure
 
 
Procedure GetInterfaceList(compiler,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"INTERFACELIST")
        FillList(compiler,out())
    EndIf
EndProcedure
 
Procedure GetStructureInfo(compiler,struct$,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"STRUCTURE"+#TAB$+struct$)
        FillList(compiler,out(),4)
    EndIf
EndProcedure
 
Procedure GetInterfaceInfo(compiler,interf$,List out.s())
    If ProgramRunning(compiler)
        SendCompilerCommand(compiler,"INTERFACE"+#TAB$+interf$)
        FillList(compiler,out(),4)
    EndIf
EndProcedure
 
 
Procedure WaitCompilerReady(compiler)
    Protected out$
    While out$<>"READY" And Left(out$,5)<>"ERROR"
        out$ = GetCompilerOutput(compiler)
        If out$
            Debug out$
        EndIf
    Wend
EndProcedure
 
Define  pb, out$
NewList constants.s()
NewList structures.s()
NewList procedures.s()
NewList interfaces.s()
 
NewList structureInfo.s()
NewList interfaceInfo.s()
 
pb = StartCompiler()
If pb
    WaitCompilerReady(pb)
 
    GetStructureList(pb,structures())
    Debug "found "+Str(ListSize(structures()))+" structures"
 
    GetProcedureList(pb,procedures())
    Debug "found "+Str(ListSize(procedures()))+" procedures"
 
    GetConstantsList(pb,constants())
    Debug "found "+Str(ListSize(constants()))+" constants"
    SortList(constants(),#PB_Sort_Ascending|#PB_Sort_NoCase)
 
    GetInterfaceList(pb,interfaces())
    Debug "found "+Str(ListSize(interfaces()))+" interfaces"
 
    ClearList(structureInfo())
    ForEach structures()
        AddElement(structureInfo())
        structureInfo()="Structure "+structures()
        GetStructureInfo(pb,structures(),structureInfo())
        AddElement(structureInfo())
        structureInfo()="EndStructure"
        AddElement(structureInfo())
        structureInfo()=""
    Next
 
    ClearList(interfaceInfo())
    ForEach interfaces()
        AddElement(interfaceInfo())
        interfaceInfo()="Interface "+interfaces()
        GetInterfaceInfo(pb,interfaces(),interfaceInfo())
        AddElement(interfaceInfo())
        interfaceInfo()="EndInterface"
        AddElement(interfaceInfo())
        interfaceInfo()=""
    Next
 
    If CreateFile(0,GetPathPart(ProgramFilename())+"Structures.pb")
        ForEach structureInfo()
            WriteStringN(0,structureInfo())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,GetPathPart(ProgramFilename())+"Interfaces.pb")
        ForEach interfaceInfo()
            WriteStringN(0,interfaceInfo())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,GetPathPart(ProgramFilename())+"Constants.pb")
        ForEach constants()
            WriteStringN(0,constants())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,GetPathPart(ProgramFilename())+"Procedures.pb")
        ForEach procedures()
            WriteStringN(0,procedures())
        Next
        CloseFile(0)
    EndIf
 
   
    StopCompiler(pb)
    Debug "DONE."
EndIf



Перед запуском сохрани этот код в отдельную папку - будут созданы 4 полезных файла с константами, интерфейсами, структурами и полным списком процедур!

_________________
read-only


Последний раз редактировалось kvitaliy Чт авг 29, 2013 9:32 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 9:19 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
kvitaliy писал(а):
будут созданы 4 полезных файла
чёто не создаются :( :( Вот так работает:
Код:
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 CreateFile(0,"Structures.pb") 
        ForEach structureInfo()
            WriteStringN(0,structureInfo())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,"Interfaces.pb")
        ForEach interfaceInfo()
            WriteStringN(0,interfaceInfo())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,"Constants.pb")
        ForEach constants()
            WriteStringN(0,constants())
        Next
        CloseFile(0)
    EndIf
 
    If CreateFile(0,"Procedures.pb")
        ForEach procedures()
            WriteStringN(0,procedures())
        Next
        CloseFile(0)
    EndIf



Если использовать ProgramFilename(), то файлы сохраняться во временную папку, а не в папку с кодом (если конечно, не включён режим компиляции в папку исходника, но он мало у кого включён)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 9:30 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6313
Благодарил (а): 19 раз.
Поблагодарили: 189 раз.
Пункты репутации: 48
Никита Однороб писал(а):
но он мало у кого включён
Думал, что все нормальные люди делают именно так.
А оказалось, что я один один из немногих? Первым делом настраиваю именно так - очень удобно, как для файлов ресурсов, так и для выходных файлов программ.

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 9:32 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
kvitaliy, как говорится, на вкус и цвет товарищей нет :)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 10:08 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб сен 08, 2012 9:03 am
Сообщений: 58
Откуда: Россия
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Вот кусок кода, в котором я использую значения констант, а не сами константы :)

В обработчике событий окна:
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
...
Select LParam
  ...
  Case GadgetID(_G_EntityPhysicBodyType)
    If HIWORD(WParam)=#LBN_SELCHANGE
      If GetGadgetState(_G_EntityPhysicBodyType)=0
        DisableEntityBody(ChoosedObject,1)
        ProcedureReturn
      Else
        DisableEntityBody(ChoosedObject,0)
        EntityPhysicBody(ChoosedObject,GetGadgetState(_G_EntityPhysicBodyType))        
        ApplyEntityImpulse(ChoosedObject,1,1,1)
      EndIf
    EndIf
  ...
  Case GadgetID(_G_EntityRenderMode)
    If HIWORD(WParam)=#LBN_SELCHANGE        
      EntityRenderMode(ChoosedObject,GetGadgetState(_G_EntityRenderMode)*4)
    EndIf
  ...
  ...
 


_________________
Программист ставит себе на тумбочку перед сном два стакана. Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.


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

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11189
Благодарил (а): 4 раз.
Поблагодарили: 416 раз.
kler2008 писал(а):
использую значения констант, а не сами константы
И в чем преимущество?

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 10:23 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Пётр писал(а):
kler2008 писал(а):
использую значения констант, а не сами константы
И в чем преимущество?
Мне кажется, тут одно преимущество - длина выражения становится меньше :)

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 10:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11189
Благодарил (а): 4 раз.
Поблагодарили: 416 раз.
Недостатков больше.
Становится сложно понять что означает это число. Кроме того, в разных версиях PB, значения констант могут различаться.

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 10:56 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
А как можно по номеру узнать название константы, например 799?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 11:27 pm 
Не в сети
доцент
Аватар пользователя

Зарегистрирован: Сб сен 08, 2012 9:03 am
Сообщений: 58
Откуда: Россия
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Пункты репутации: 0
Цитата:
И в чем преимущество?


Преимущество в том, что не нужно прописывать эти if или select при выборе из комбобокса или листбокса.
Например если произошел выбор в комбобоксе и позиция выбранного 0, то делается что то.
если позиция 1, то еще что то. Если 2, еще что то и так далее. Когда можно расположить эти константы по своей последовательности в самом списке комбобокса или листбокса и сразу применять например к Энтити соответствующий режим. Код короче и производительность лучше.

_________________
Программист ставит себе на тумбочку перед сном два стакана. Один с водой - на случай, если захочет ночью пить. А второй пустой - на случай, если не захочет.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт авг 29, 2013 11:31 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
mestnyi писал(а):
А как можно по номеру узнать название константы, например 792?
Нет

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 49 ]  На страницу 1, 2, 3, 4  След.

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


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

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


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

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