purebasic.info

PureBasic forum
Текущее время: Пт июн 22, 2018 4:36 am

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




Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 1:26 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Код:
1
2
3
4
5
6
7
8
9
Global var=5
 
Procedure  get(num)
ProcedureReturn num+10
EndProcedure
 
get(var)
;var=get(var) ;только не так, то есть с наружи процедуры не присваивать
Debug var


как написать процедуру чтобы var изменило свое значение.
так тоже не нужно потому что мы не знаем что он называется "var"
Код:
1
2
3
4
5
6
7
8
Global var=5
 
Procedure  get(num)
var+10
EndProcedure
 
get(var)
Debug var



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 2:08 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Чт июн 25, 2009 1:02 pm
Сообщений: 2275
Откуда: Russia — Belarus
Благодарил (а): 5 раз.
Поблагодарили: 71 раз.
Пункты репутации: 11
Можно так:
Код:
1
2
3
4
5
6
7
8
9
10
Global var=5
 
Procedure  get(*num)
  PokeI(*num, PeekI(*num) + 10)
;ProcedureReturn num+10
EndProcedure
 
get(@var)
;var=get(var) ;только не так, то есть с наружи процедуры не присваивать
Debug var


Но это жесть.

_________________
EnableExplicit User


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 3:27 am 
Не в сети
док
Аватар пользователя

Зарегистрирован: Пт май 11, 2012 2:07 am
Сообщений: 125
Откуда: Киев, Украина
Благодарил (а): 0 раз.
Поблагодарили: 5 раз.
Пункты репутации: 5
Стоит поинтересоваться как реализуются переменные, станет проще.
Код:
1
2
3
4
5
6
7
8
9
10
11
Define.l in_var = 5
 
Procedure SetL(*var, val.l)
  !PUSH  dword [esp+PS0+4]
  !MOV   ebp,dword [esp+PS0+4]
  !POP   dword [ebp]
EndProcedure
 
Debug in_var ; before
SetL(@in_var, 10)
Debug in_var ; after


ИМХО
: Кончай с вопросами на все фронта, начинай сам искать, половина тем за пол года - твои.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 7:07 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
mestnyi писал(а):
так тоже не нужно потому что мы не знаем что он называется "var"

А зачем менять значение у неизвестной переменной? И как в программе переменная может быть неизвестной?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 8:22 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11185
Благодарил (а): 4 раз.
Поблагодарили: 415 раз.
mestnyi писал(а):
так тоже не нужно потому что мы не знаем что он называется "var"
Скажу тебе по секрету, что процедура тоже как бы не в курсе.
Все дело в том, что переменная передается по значению, а не по ссылке, т. е. процедура получает не саму переменную, а ее копию с аналогичным содержимым. Т. е. неизвестен даже адрес расположения в памяти.
Нужно передавать по ссылке и тогда будет работать.
Код:
1
2
3
4
5
6
7
8
var=5
 
Procedure get(*num.Integer)
  *num\i+10
EndProcedure
 
get(@var)
Debug var


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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 8:25 am 
Не в сети
профессор
Аватар пользователя

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

Код:
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
UsePNGImageDecoder()
Global ico = CatchImage(#PB_Any, ?i, 1150)
Global png = CatchImage(#PB_Any, ?p, 582)
 
Procedure ResizeIcon(Icon,Width=0,Height=0,Mode=#PB_Image_Raw)
         Protected.i hDC
         If IsImage(Icon)
         If Width=0 :Width=ImageWidth(Icon) :EndIf
         If Height=0 :Height=ImageHeight(Icon) :EndIf
         
         hDC=CreateImage(#PB_Any,ImageWidth(Icon)+1, ImageHeight(Icon)+1,32,#PB_Image_Transparent)
          If StartDrawing(ImageOutput(hDC))
           If ImageFormat(Icon) = #PB_ImagePlugin_ICON
            DrawImage(ImageID(Icon),0,0)
             Else
               ProcedureReturn Icon
              EndIf
              StopDrawing()
             ResizeImage(hDC,Width,Height,Mode)
            ProcedureReturn hDC  
          EndIf
         EndIf
EndProcedure
 
Procedure OpenWindow_0(x = 0, y = 0, width = 555, height = 255)
  Window_0 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
ResizeIcon(ico,155,155,#PB_Image_Raw); а надо вот так
;ico=ResizeIcon(ico,155,155,#PB_Image_Raw) ;так работает
ButtonImageGadget(#PB_Any, 11, 11, 233, 233, ImageID(ico), #PB_Button_Toggle)
 
ResizeImage(png,155,155,#PB_Image_Raw)
ButtonImageGadget(#PB_Any, 311, 11, 233, 233, ImageID(png), #PB_Button_Toggle)
 
 EndProcedure
 
 
OpenWindow_0()
 
Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            End
          Case #PB_Event_Gadget
         EndSelect
      ForEver
     
 
DataSection
 p:
Data.b $89,$50,$4E,$47,$0D,$0A,$1A,$0A,$00,$00,$00,$0D,$49,$48,$44,$52,$00,$00,$00,$10
 Data.b $00,$00,$00,$10,$08,$06,$00,$00,$00,$1F,$F3,$FF,$61,$00,$00,$02,$0D,$49,$44,$41
 Data.b $54,$38,$8D,$95,$91,$B1,$6B,$1A,$61,$18,$C6,$9F,$3B,$BE,$FB,$C0,$03,$6F,$38,$6F
 Data.b $38,$24,$14,$CD,$62,$14,$37,$C5,$21,$04,$11,$AC,$01,$43,$71,$0B,$84,$4E,$21,$43
 Data.b $C6,$CB,$2E,$08,$86,$24,$84,$E0,$94,$FF,$20,$90,$A4,$C3,$8D,$2E,$2E,$1D,$22,$17
 Data.b $30,$7A,$82,$06,$6C,$3A,$18,$AB,$74,$C8,$2D,$D5,$A1,$43,$D0,$0F,$73,$5F,$97,$1A
 Data.b $0A,$D5,$36,$FE,$B6,$F7,$E5,$79,$7E,$C3,$FB,$0A,$98,$43,$2E,$97,$D3,$44,$51,$7C
 Data.b $0F,$40,$01,$F0,$D3,$75,$DD,$CF,$E5,$72,$F9,$C7,$BC,$EC,$5C,$62,$B1,$D8,$8E,$65
 Data.b $59,$F6,$70,$38,$E4,$96,$65,$D9,$B1,$58,$6C,$E7,$CD,$65,$00,$50,$55,$75,$DF,$71
 Data.b $1C,$4E,$29,$CD,$3B,$8E,$C3,$55,$55,$DD,$5F,$4A,$00,$60,$CB,$34,$4D,$BB,$DF,$FF
 Data.b $C6,$4D,$D3,$B4,$01,$6C,$2D,$2B,$F8,$00,$C0,$78,$78,$F8,$C2,$01,$18,$BF,$E7,$B9
 Data.b $88,$0B,$F6,$91,$5E,$EF,$F1,$7C,$34,$1A,$A1,$D7,$7B,$3C,$07,$10,$59,$4A,$40,$08
 Data.b $79,$0A,$85,$D6,$0A,$00,$10,$0A,$AD,$15,$08,$21,$4F,$8B,$04,$24,$1A,$8D,$7E,$14
 Data.b $04,$E1,$DD,$6C,$C1,$39,$FF,$DE,$E9,$74,$AE,$08,$21,$79,$C6,$18,$00,$B8,$D3,$E9
 Data.b $F4,$6A,$41,$EE,$13,$61,$8C,$AD,$36,$1A,$8D,$A3,$66,$B3,$39,$08,$06,$83,$81,$6C
 Data.b $36,$5B,$00,$00,$D7,$75,$9F,$5F,$5E,$5C,$B8,$AE,$FB,$0C,$00,$8C,$B1,$D5,$4A,$A5
 Data.b $72,$D4,$EF,$F7,$07,$F1,$78,$3C,$90,$48,$24,$0A,$00,$20,$4E,$26,$13,$B1,$5A,$AD
 Data.b $0E,$74,$5D,$0F,$18,$C6,$C1,$C5,$78,$3C,$6E,$CF,$04,$80,$F8,$2A,$18,$8F,$C7,$6D
 Data.b $C3,$38,$B8,$D0,$75,$3D,$50,$AD,$56,$07,$93,$C9,$44,$04,$00,$91,$31,$26,$F9,$FD
 Data.b $2B,$81,$4C,$26,$73,$5C,$2C,$1E,$EE,$86,$C3,$91,$6D,$5D,$D7,$D7,$05,$41,$20,$A2
 Data.b $28,$41,$10,$04,$A2,$EB,$FA,$7A,$38,$1C,$D9,$2E,$16,$0F,$77,$33,$99,$CC,$B1,$DF
 Data.b $BF,$12,$60,$8C,$49,$00,$00,$4D,$D3,$F6,$7C,$3E,$DF,$89,$A6,$69,$39,$9F,$CF,$77
 Data.b $52,$AB,$D9,$3C,$9D,$DE,$BC,$A4,$94,$E6,$6F,$6E,$EA,$9C,$52,$9A,$4F,$A7,$37,$2F
 Data.b $6B,$35,$9B,$FF,$99,$D3,$34,$6D,$EF,$AF,$8B,$2A,$8A,$B2,$E1,$F5,$7A,$4F,$EB,$F5
 Data.b $7B,$9E,$4A,$A5,$AF,$6F,$6F,$DB,$3C,$95,$4A,$5F,$D7,$EB,$F7,$DC,$EB,$F5,$9E,$2A
 Data.b $8A,$B2,$B1,$E8,$1B,$AF,$C8,$B2,$9C,$F4,$78,$3C,$67,$AD,$56,$97,$DF,$DD,$7D,$E5
 Data.b $AD,$56,$97,$7B,$3C,$9E,$33,$59,$96,$93,$FF,$2D,$CF,$A0,$94,$26,$25,$49,$2A,$D9
 Data.b $76,$97,$4B,$92,$54,$A2,$94,$BE,$BD,$3C,$83,$10,$92,$24,$84,$94,$08,$21,$FF,$2C
 Data.b $FF,$02,$6A,$A2,$D8,$0A,$79,$12,$C2,$C4,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42
 Data.b $60,$82
 pend:
EndDataSection
 
DataSection
 i:
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$20,$00,$68,$04,$00,$00,$16,$00
 Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$20,$00,$00,$00
 Data.b $00,$00,$00,$04,$00,$00,$12,$0B,$00,$00,$12,$0B,$00,$00,$00,$00,$00,$00,$00,$00
 Data.b $00,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D,$0D,$00,$09,$09
 Data.b $09,$00,$05,$05,$05,$00,$04,$04,$04,$3F,$04,$04,$04,$8A,$04,$04,$04,$3F,$05,$05
 Data.b $05,$00,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
 Data.b $13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D
 Data.b $0D,$00,$09,$09,$09,$00,$06,$06,$06,$3F,$05,$05,$05,$8A,$DB,$CB,$CB,$FF,$05,$05
 Data.b $05,$8A,$06,$06,$06,$3F,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11
 Data.b $11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
 Data.b $13,$00,$0D,$0D,$0D,$00,$0A,$0A,$0A,$3E,$09,$09,$09,$89,$DB,$CF,$CF,$FF,$D7,$C8
 Data.b $C8,$FF,$DB,$CF,$CF,$FF,$09,$09,$09,$89,$0A,$0A,$0A,$3E,$0D,$0D,$0D,$00,$13,$13
 Data.b $13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11
 Data.b $11,$00,$13,$13,$13,$00,$0E,$0E,$0E,$3D,$0D,$0D,$0D,$87,$D1,$C9,$C9,$FF,$43,$40
 Data.b $40,$A5,$D0,$C4,$C4,$FF,$43,$40,$40,$A5,$D1,$C9,$C9,$FF,$0D,$0D,$0D,$87,$0E,$0E
 Data.b $0E,$3D,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$14,$14
 Data.b $14,$63,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$CB,$C7,$C7,$FF,$46,$43
 Data.b $43,$A3,$06,$06,$06,$7B,$C9,$C0,$C0,$FF,$06,$06,$06,$7B,$46,$43,$43,$A3,$CB,$C7
 Data.b $C7,$FF,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$14,$14,$14,$63,$FF,$FF
 Data.b $FF,$00,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$48,$47
 Data.b $47,$A1,$18,$18,$18,$3B,$01,$01,$01,$6B,$C2,$BD,$BD,$FF,$01,$01,$01,$6B,$18,$18
 Data.b $18,$3B,$48,$47,$47,$A1,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19
 Data.b $19,$82,$FF,$FF,$FF,$00,$1F,$1F,$1F,$7F,$B1,$B1,$B1,$DF,$D4,$D4,$D4,$FF,$4C,$4B
 Data.b $4B,$9F,$1E,$1E,$1E,$4C,$0D,$0D,$0D,$00,$00,$00,$00,$67,$BD,$BB,$BB,$FF,$00,$00
 Data.b $00,$67,$0D,$0D,$0D,$00,$1E,$1E,$1E,$4C,$4C,$4B,$4B,$9F,$D4,$D4,$D4,$FF,$B1,$B1
 Data.b $B1,$DF,$1F,$1F,$1F,$7F,$FF,$FF,$FF,$00,$26,$26,$26,$7C,$F0,$F0,$F0,$FF,$BC,$BC
 Data.b $BC,$DF,$DD,$DD,$DD,$FF,$26,$26,$26,$7C,$14,$14,$14,$00,$02,$02,$02,$70,$BB,$BB
 Data.b $BB,$FF,$02,$02,$02,$70,$14,$14,$14,$00,$26,$26,$26,$7C,$DD,$DD,$DD,$FF,$BC,$BC
 Data.b $BC,$DF,$F0,$F0,$F0,$FF,$26,$26,$26,$7C,$FF,$FF,$FF,$00,$2C,$2C,$2C,$5B,$2D,$2D
 Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$18,$18,$18,$00,$04,$04
 Data.b $04,$7A,$BD,$BE,$BE,$FF,$04,$04,$04,$7A,$18,$18,$18,$00,$2C,$2C,$2C,$5B,$2D,$2D
 Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$FF,$FF,$FF,$00,$2D,$2D
 Data.b $2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$04,$04
 Data.b $04,$5D,$04,$04,$04,$7C,$C3,$C4,$C4,$FF,$04,$04,$04,$7C,$04,$04,$04,$5D,$23,$23
 Data.b $23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D,$2D,$00,$FF,$FF
 Data.b $FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$00,$00
 Data.b $00,$00,$00,$00,$00,$77,$DC,$DD,$DD,$FF,$C3,$C4,$C4,$FF,$DC,$DD,$DD,$FF,$00,$00
 Data.b $00,$77,$00,$00,$00,$00,$23,$23,$23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D
 Data.b $2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$00,$00
 Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$4D,$00,$00,$00,$6E,$D5,$D6,$D6,$FF,$00,$00
 Data.b $00,$6E,$00,$00,$00,$4D,$00,$00,$00,$00,$00,$00,$00,$00,$2E,$2E,$2E,$00,$2E,$2E
 Data.b $2E,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$23,$23,$23,$00,$0C,$0C
 Data.b $0C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4B,$AA,$AA,$AA,$CB,$DE,$DF
 Data.b $DF,$FF,$AA,$AA,$AA,$CB,$00,$00,$00,$4B,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C
 Data.b $0C,$00,$23,$23,$23,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$23,$23,$23,$00,$12,$12
 Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$66,$E7,$E7
 Data.b $E7,$FF,$06,$06,$06,$7A,$E7,$E7,$E7,$FF,$12,$12,$12,$66,$12,$12,$12,$00,$12,$12
 Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$23,$23,$23,$00,$FF,$FF,$FF,$00,$33,$33
 Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33
 Data.b $33,$59,$C3,$C3,$C3,$CA,$ED,$ED,$ED,$FF,$C3,$C3,$C3,$CA,$33,$33,$33,$59,$33,$33
 Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$FF,$FF
 Data.b $FF,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
 Data.b $4B,$00,$4E,$4E,$4E,$14,$50,$50,$50,$59,$50,$50,$50,$66,$50,$50,$50,$59,$4E,$4E
 Data.b $4E,$14,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
 Data.b $4B,$00,$FF,$FF,$FF,$00,$FC,$7F,$00,$00,$F8,$3F,$00,$00,$F0,$1F,$00,$00,$E0,$0F
 Data.b $00,$00,$00,$01,$00,$00,$00,$01,$00,$00,$04,$41,$00,$00,$04,$41,$00,$00,$04,$41
 Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F
 Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00
 iend:
EndDataSection



Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 9:22 am 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
mestnyi, а суть-то в чем? Ты же знаешь, что переменная называется ico.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 10:12 am 
Не в сети
профессор
Аватар пользователя

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


Последний раз редактировалось mestnyi Вс май 04, 2014 11:01 pm, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 10:29 am 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
Можно так:
Код:
1
2
3
4
5
6
7
8
9
10
Global var=5
 
Procedure  get(*num)
  PokeI(*num, PeekI(*num) + 10)
;ProcedureReturn num+10
EndProcedure
 
get(@var)
;var=get(var) ;только не так, то есть с наружи процедуры не присваивать
Debug var



Так действительно работает
Код:
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
UsePNGImageDecoder()
Global ico = CatchImage(#PB_Any, ?i, 1150)
Global png = CatchImage(#PB_Any, ?p, 582)
 
Procedure ResizeIcon(*Icon,Width=0,Height=0,Mode=#PB_Image_Raw)
         Protected.i hDC
         Icon=PeekL(*Icon)
         If IsImage(Icon)
         If Width=0 :Width=ImageWidth(Icon) :EndIf
         If Height=0 :Height=ImageHeight(Icon) :EndIf
         
         hDC=CreateImage(#PB_Any,ImageWidth(Icon)+1, ImageHeight(Icon)+1,32,#PB_Image_Transparent)
          If StartDrawing(ImageOutput(hDC))
           If ImageFormat(Icon) = #PB_ImagePlugin_ICON
            DrawImage(ImageID(Icon),0,0)
             Else
               ProcedureReturn Icon
              EndIf
              StopDrawing()
             ResizeImage(hDC,Width,Height,Mode)
             
             PokeL(*Icon, PeekL(@hDC))
            ProcedureReturn hDC  
          EndIf
         EndIf
EndProcedure
 
Procedure OpenWindow_0(x = 0, y = 0, width = 555, height = 255)
  Window_0 = OpenWindow(#PB_Any, x, y, width, height, "", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
 
ResizeIcon(@ico,155,155,#PB_Image_Raw); а надо вот так
;ico=ResizeIcon(ico,155,155,#PB_Image_Raw) ;так работает
ButtonImageGadget(#PB_Any, 11, 11, 233, 233, ImageID(ico), #PB_Button_Toggle)
 
ResizeImage(png,155,155,#PB_Image_Raw)
ButtonImageGadget(#PB_Any, 311, 11, 233, 233, ImageID(png), #PB_Button_Toggle)
 
 EndProcedure
 
 
OpenWindow_0()
 
Repeat
        Select WaitWindowEvent()
          Case #PB_Event_CloseWindow
            End
          Case #PB_Event_Gadget
         EndSelect
      ForEver
     
 
DataSection
 p:
Data.b $89,$50,$4E,$47,$0D,$0A,$1A,$0A,$00,$00,$00,$0D,$49,$48,$44,$52,$00,$00,$00,$10
 Data.b $00,$00,$00,$10,$08,$06,$00,$00,$00,$1F,$F3,$FF,$61,$00,$00,$02,$0D,$49,$44,$41
 Data.b $54,$38,$8D,$95,$91,$B1,$6B,$1A,$61,$18,$C6,$9F,$3B,$BE,$FB,$C0,$03,$6F,$38,$6F
 Data.b $38,$24,$14,$CD,$62,$14,$37,$C5,$21,$04,$11,$AC,$01,$43,$71,$0B,$84,$4E,$21,$43
 Data.b $C6,$CB,$2E,$08,$86,$24,$84,$E0,$94,$FF,$20,$90,$A4,$C3,$8D,$2E,$2E,$1D,$22,$17
 Data.b $30,$7A,$82,$06,$6C,$3A,$18,$AB,$74,$C8,$2D,$D5,$A1,$43,$D0,$0F,$73,$5F,$97,$1A
 Data.b $0A,$D5,$36,$FE,$B6,$F7,$E5,$79,$7E,$C3,$FB,$0A,$98,$43,$2E,$97,$D3,$44,$51,$7C
 Data.b $0F,$40,$01,$F0,$D3,$75,$DD,$CF,$E5,$72,$F9,$C7,$BC,$EC,$5C,$62,$B1,$D8,$8E,$65
 Data.b $59,$F6,$70,$38,$E4,$96,$65,$D9,$B1,$58,$6C,$E7,$CD,$65,$00,$50,$55,$75,$DF,$71
 Data.b $1C,$4E,$29,$CD,$3B,$8E,$C3,$55,$55,$DD,$5F,$4A,$00,$60,$CB,$34,$4D,$BB,$DF,$FF
 Data.b $C6,$4D,$D3,$B4,$01,$6C,$2D,$2B,$F8,$00,$C0,$78,$78,$F8,$C2,$01,$18,$BF,$E7,$B9
 Data.b $88,$0B,$F6,$91,$5E,$EF,$F1,$7C,$34,$1A,$A1,$D7,$7B,$3C,$07,$10,$59,$4A,$40,$08
 Data.b $79,$0A,$85,$D6,$0A,$00,$10,$0A,$AD,$15,$08,$21,$4F,$8B,$04,$24,$1A,$8D,$7E,$14
 Data.b $04,$E1,$DD,$6C,$C1,$39,$FF,$DE,$E9,$74,$AE,$08,$21,$79,$C6,$18,$00,$B8,$D3,$E9
 Data.b $F4,$6A,$41,$EE,$13,$61,$8C,$AD,$36,$1A,$8D,$A3,$66,$B3,$39,$08,$06,$83,$81,$6C
 Data.b $36,$5B,$00,$00,$D7,$75,$9F,$5F,$5E,$5C,$B8,$AE,$FB,$0C,$00,$8C,$B1,$D5,$4A,$A5
 Data.b $72,$D4,$EF,$F7,$07,$F1,$78,$3C,$90,$48,$24,$0A,$00,$20,$4E,$26,$13,$B1,$5A,$AD
 Data.b $0E,$74,$5D,$0F,$18,$C6,$C1,$C5,$78,$3C,$6E,$CF,$04,$80,$F8,$2A,$18,$8F,$C7,$6D
 Data.b $C3,$38,$B8,$D0,$75,$3D,$50,$AD,$56,$07,$93,$C9,$44,$04,$00,$91,$31,$26,$F9,$FD
 Data.b $2B,$81,$4C,$26,$73,$5C,$2C,$1E,$EE,$86,$C3,$91,$6D,$5D,$D7,$D7,$05,$41,$20,$A2
 Data.b $28,$41,$10,$04,$A2,$EB,$FA,$7A,$38,$1C,$D9,$2E,$16,$0F,$77,$33,$99,$CC,$B1,$DF
 Data.b $BF,$12,$60,$8C,$49,$00,$00,$4D,$D3,$F6,$7C,$3E,$DF,$89,$A6,$69,$39,$9F,$CF,$77
 Data.b $52,$AB,$D9,$3C,$9D,$DE,$BC,$A4,$94,$E6,$6F,$6E,$EA,$9C,$52,$9A,$4F,$A7,$37,$2F
 Data.b $6B,$35,$9B,$FF,$99,$D3,$34,$6D,$EF,$AF,$8B,$2A,$8A,$B2,$E1,$F5,$7A,$4F,$EB,$F5
 Data.b $7B,$9E,$4A,$A5,$AF,$6F,$6F,$DB,$3C,$95,$4A,$5F,$D7,$EB,$F7,$DC,$EB,$F5,$9E,$2A
 Data.b $8A,$B2,$B1,$E8,$1B,$AF,$C8,$B2,$9C,$F4,$78,$3C,$67,$AD,$56,$97,$DF,$DD,$7D,$E5
 Data.b $AD,$56,$97,$7B,$3C,$9E,$33,$59,$96,$93,$FF,$2D,$CF,$A0,$94,$26,$25,$49,$2A,$D9
 Data.b $76,$97,$4B,$92,$54,$A2,$94,$BE,$BD,$3C,$83,$10,$92,$24,$84,$94,$08,$21,$FF,$2C
 Data.b $FF,$02,$6A,$A2,$D8,$0A,$79,$12,$C2,$C4,$00,$00,$00,$00,$49,$45,$4E,$44,$AE,$42
 Data.b $60,$82
 pend:
EndDataSection
 
DataSection
 i:
Data.b $00,$00,$01,$00,$01,$00,$10,$10,$00,$00,$01,$00,$20,$00,$68,$04,$00,$00,$16,$00
 Data.b $00,$00,$28,$00,$00,$00,$10,$00,$00,$00,$20,$00,$00,$00,$01,$00,$20,$00,$00,$00
 Data.b $00,$00,$00,$04,$00,$00,$12,$0B,$00,$00,$12,$0B,$00,$00,$00,$00,$00,$00,$00,$00
 Data.b $00,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D,$0D,$00,$09,$09
 Data.b $09,$00,$05,$05,$05,$00,$04,$04,$04,$3F,$04,$04,$04,$8A,$04,$04,$04,$3F,$05,$05
 Data.b $05,$00,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
 Data.b $13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$0D,$0D
 Data.b $0D,$00,$09,$09,$09,$00,$06,$06,$06,$3F,$05,$05,$05,$8A,$DB,$CB,$CB,$FF,$05,$05
 Data.b $05,$8A,$06,$06,$06,$3F,$09,$09,$09,$00,$0D,$0D,$0D,$00,$13,$13,$13,$00,$11,$11
 Data.b $11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13
 Data.b $13,$00,$0D,$0D,$0D,$00,$0A,$0A,$0A,$3E,$09,$09,$09,$89,$DB,$CF,$CF,$FF,$D7,$C8
 Data.b $C8,$FF,$DB,$CF,$CF,$FF,$09,$09,$09,$89,$0A,$0A,$0A,$3E,$0D,$0D,$0D,$00,$13,$13
 Data.b $13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$13,$13,$13,$00,$11,$11
 Data.b $11,$00,$13,$13,$13,$00,$0E,$0E,$0E,$3D,$0D,$0D,$0D,$87,$D1,$C9,$C9,$FF,$43,$40
 Data.b $40,$A5,$D0,$C4,$C4,$FF,$43,$40,$40,$A5,$D1,$C9,$C9,$FF,$0D,$0D,$0D,$87,$0E,$0E
 Data.b $0E,$3D,$13,$13,$13,$00,$11,$11,$11,$00,$13,$13,$13,$00,$FF,$FF,$FF,$00,$14,$14
 Data.b $14,$63,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$CB,$C7,$C7,$FF,$46,$43
 Data.b $43,$A3,$06,$06,$06,$7B,$C9,$C0,$C0,$FF,$06,$06,$06,$7B,$46,$43,$43,$A3,$CB,$C7
 Data.b $C7,$FF,$13,$13,$13,$84,$14,$14,$14,$4F,$13,$13,$13,$84,$14,$14,$14,$63,$FF,$FF
 Data.b $FF,$00,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$48,$47
 Data.b $47,$A1,$18,$18,$18,$3B,$01,$01,$01,$6B,$C2,$BD,$BD,$FF,$01,$01,$01,$6B,$18,$18
 Data.b $18,$3B,$48,$47,$47,$A1,$CD,$CB,$CB,$FF,$19,$19,$19,$82,$CD,$CB,$CB,$FF,$19,$19
 Data.b $19,$82,$FF,$FF,$FF,$00,$1F,$1F,$1F,$7F,$B1,$B1,$B1,$DF,$D4,$D4,$D4,$FF,$4C,$4B
 Data.b $4B,$9F,$1E,$1E,$1E,$4C,$0D,$0D,$0D,$00,$00,$00,$00,$67,$BD,$BB,$BB,$FF,$00,$00
 Data.b $00,$67,$0D,$0D,$0D,$00,$1E,$1E,$1E,$4C,$4C,$4B,$4B,$9F,$D4,$D4,$D4,$FF,$B1,$B1
 Data.b $B1,$DF,$1F,$1F,$1F,$7F,$FF,$FF,$FF,$00,$26,$26,$26,$7C,$F0,$F0,$F0,$FF,$BC,$BC
 Data.b $BC,$DF,$DD,$DD,$DD,$FF,$26,$26,$26,$7C,$14,$14,$14,$00,$02,$02,$02,$70,$BB,$BB
 Data.b $BB,$FF,$02,$02,$02,$70,$14,$14,$14,$00,$26,$26,$26,$7C,$DD,$DD,$DD,$FF,$BC,$BC
 Data.b $BC,$DF,$F0,$F0,$F0,$FF,$26,$26,$26,$7C,$FF,$FF,$FF,$00,$2C,$2C,$2C,$5B,$2D,$2D
 Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$18,$18,$18,$00,$04,$04
 Data.b $04,$7A,$BD,$BE,$BE,$FF,$04,$04,$04,$7A,$18,$18,$18,$00,$2C,$2C,$2C,$5B,$2D,$2D
 Data.b $2D,$78,$2D,$2D,$2D,$78,$2D,$2D,$2D,$78,$2C,$2C,$2C,$5B,$FF,$FF,$FF,$00,$2D,$2D
 Data.b $2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$04,$04
 Data.b $04,$5D,$04,$04,$04,$7C,$C3,$C4,$C4,$FF,$04,$04,$04,$7C,$04,$04,$04,$5D,$23,$23
 Data.b $23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D,$2D,$00,$FF,$FF
 Data.b $FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$23,$23,$23,$00,$00,$00
 Data.b $00,$00,$00,$00,$00,$77,$DC,$DD,$DD,$FF,$C3,$C4,$C4,$FF,$DC,$DD,$DD,$FF,$00,$00
 Data.b $00,$77,$00,$00,$00,$00,$23,$23,$23,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$2D,$2D
 Data.b $2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$2E,$2E,$2E,$00,$2E,$2E,$2E,$00,$00,$00
 Data.b $00,$00,$00,$00,$00,$00,$00,$00,$00,$4D,$00,$00,$00,$6E,$D5,$D6,$D6,$FF,$00,$00
 Data.b $00,$6E,$00,$00,$00,$4D,$00,$00,$00,$00,$00,$00,$00,$00,$2E,$2E,$2E,$00,$2E,$2E
 Data.b $2E,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$2D,$2D,$2D,$00,$23,$23,$23,$00,$0C,$0C
 Data.b $0C,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$4B,$AA,$AA,$AA,$CB,$DE,$DF
 Data.b $DF,$FF,$AA,$AA,$AA,$CB,$00,$00,$00,$4B,$00,$00,$00,$00,$00,$00,$00,$00,$0C,$0C
 Data.b $0C,$00,$23,$23,$23,$00,$2D,$2D,$2D,$00,$FF,$FF,$FF,$00,$23,$23,$23,$00,$12,$12
 Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$12,$12,$12,$66,$E7,$E7
 Data.b $E7,$FF,$06,$06,$06,$7A,$E7,$E7,$E7,$FF,$12,$12,$12,$66,$12,$12,$12,$00,$12,$12
 Data.b $12,$00,$12,$12,$12,$00,$12,$12,$12,$00,$23,$23,$23,$00,$FF,$FF,$FF,$00,$33,$33
 Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33
 Data.b $33,$59,$C3,$C3,$C3,$CA,$ED,$ED,$ED,$FF,$C3,$C3,$C3,$CA,$33,$33,$33,$59,$33,$33
 Data.b $33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$33,$33,$33,$00,$FF,$FF
 Data.b $FF,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
 Data.b $4B,$00,$4E,$4E,$4E,$14,$50,$50,$50,$59,$50,$50,$50,$66,$50,$50,$50,$59,$4E,$4E
 Data.b $4E,$14,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B,$4B,$00,$4B,$4B
 Data.b $4B,$00,$FF,$FF,$FF,$00,$FC,$7F,$00,$00,$F8,$3F,$00,$00,$F0,$1F,$00,$00,$E0,$0F
 Data.b $00,$00,$00,$01,$00,$00,$00,$01,$00,$00,$04,$41,$00,$00,$04,$41,$00,$00,$04,$41
 Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00,$F8,$3F
 Data.b $00,$00,$F8,$3F,$00,$00,$F8,$3F,$00,$00
 iend:
EndDataSection


Только без этого хочу "@" ка в строенной процедуре. :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 11:40 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11185
Благодарил (а): 4 раз.
Поблагодарили: 415 раз.
mestnyi писал(а):
Только без этого хочу "@" ка в строенной процедуре. :D
Тебе не нравятся собаки? :D :D
Тогда пиши так.
Код:
1
2
3
4
5
6
7
8
var.Integer\i=5
 
Procedure get(*num.Integer)
  *num\i+10
EndProcedure
 
get(var)
Debug var\i


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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 11:48 am 
Не в сети
профессор
Аватар пользователя

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

Код:
1
2
3
4
Global png = CatchImage(#PB_Any, ?p, 582)
ResizeImage(png,155,155,#PB_Image_Raw)
ButtonImageGadget(2, 311, 11, 233, 233, ImageID(png), #PB_Button_Toggle)
 


а ты предлагаешь
Код:
1
2
3
4
Global png.Integer\i= CatchImage(#PB_Any, ?p, 582)
ResizeImage(png,155,155,#PB_Image_Raw)
ButtonImageGadget(2, 311, 11, 233, 233, ImageID(png\i), #PB_Button_Toggle)
 


не пойдет :mrgreen: :roll:


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 12:25 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11185
Благодарил (а): 4 раз.
Поблагодарили: 415 раз.
Не путай теплое с мягким.
В png находится идентификатор, а не просто число.

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 3:16 pm 
Не в сети
профессор
Аватар пользователя

Зарегистрирован: Вс дек 09, 2012 9:02 pm
Сообщений: 771
Откуда: Дагестан
Благодарил (а): 0 раз.
Поблагодарили: 11 раз.
Пункты репутации: 0
Цитата:
В png находится идентификатор, а не просто число.
согласен, ну и?
Цитата:
Только без этого хочу "@" как в строенной процедуре
что можно сделать?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 3:26 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11185
Благодарил (а): 4 раз.
Поблагодарили: 415 раз.
mestnyi писал(а):
согласен, ну и?
Ну и то, что по этому идентификатору ищется инфа в связном списке Image-библиотеки.
Изучи работу этого примера (источник).
Код:
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
 
DeclareModule mCar
;A collection of cars
Declare New_Car()    ;create a new instance of a car  
Declare SetModel(car,model.s)   ;set a cars model
Declare SetMake(car,Make.s)     ;set a cars make
Declare.s GetModel(car)              ;get a cars model    
Declare.s GetMake(car)                ;get a cars make
Declare Find(make.s,model.s)     ;find a car from a make and model returns a car instance  
EndDeclareModule
 
Module mCar
;impliment the module
;all members here are private unless they're delcared in the declaremodule block
 
Enumeration 1
   #gear_manual
   #gear_auto
EndEnumeration
 
Enumeration 1
   #metric
   #Imperial
EndEnumeration  
   
Structure car    ;a car  
   Model.s
   Make.s
   ChassisType.i  
   Bhp.i
   TopSpeed.i
   NumberOfGears.i
   GearBoxType.i
   units.i
EndStructure
 
Global NewList glcar.Car()  
 
Procedure New_Car()   ;adds an element to the collection returns the element in the list      
   AddElement(glcar())
   ProcedureReturn glcar()
EndProcedure    
 
Procedure  SetModel(Car,Model.s)   ;Notice it looks like a regular PB object function      
   Protected *car.car   ;where the ID will be cast to a pointer to access a car    
   If car
      *car = car    ;cast the car parameter to a pointer
      *car\Model = model    ;set the model
   EndIf    
EndProcedure
 
Procedure.s GetModel(*car.car)  ;Better to use a pointer directly as a parameter  
    If *car                                               ;which will then make it compatible with an interface
       ProcedureReturn *car\Model
   EndIf  
EndProcedure    
 
Procedure SetMake(*car.car,make.s)  
   If *car
      *car\Make = make
   EndIf
EndProcedure
 
Procedure.s GetMake(*car.car)
   If *car
      ProcedureReturn *car\Make
   EndIf
EndProcedure  
 
Procedure Find(make.s,model.s)
   ForEach glCar()    ;search for a car by make and model
      If glcar()\make = make And glcar()\Model = model
         ProcedureReturn glcar()    ;returns the element  
      EndIf
   Next
 EndProcedure  
 
EndModule
 
 
Global car1,car2,car3,car4
   
 UseModule mCar
 
 car1 = New_Car()
 SetModel(car1,"308")
 SetMake(car1,"Ferrari")
 
 car2 = New_Car()
 SetModel(car2,"911")
 SetMake(car2,"Porche")
 
 car3 = New_Car()
 SetModel(car3,"500")
 SetMake(car3,"fiat")
 
 Debug GetMake(car1) + " " + GetModel(car1)  
 Debug GetMake(car2) + " " + GetModel(car2)
 Debug GetMake(car3) + " " + GetModel(car3)
 
 car4 = find("Porche","911")
 If car4
    Debug GetMake(car4) + " " + GetModel(car4)
 EndIf

Обрати внимание на эти строки.
Код:
1
2
3
 car1 = New_Car() 
 SetModel(car1,"308")
 SetMake(car1,"Ferrari")

New_Car() в данном случае, аналогичен CatchImage(), а SetModel(), аналогичен ResizeImage() из твоего кода.

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


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: процедура меняющее значение
СообщениеДобавлено: Пт апр 04, 2014 5:39 pm 
Не в сети
профессор

Зарегистрирован: Вс июн 10, 2012 8:18 am
Сообщений: 1294
Благодарил (а): 60 раз.
Поблагодарили: 49 раз.
Пункты репутации: 14
mestnyi писал(а):
не ужели ты видишь :shock: :shock: :shock:

А что я должен там увидеть? Твой код не отвечает на вопрос - зачем менять значение у неизвестной переменной?


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

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


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

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


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

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