Ïîêàçàòü ñîîáùåíèå îòäåëüíî
Ñòàðûé 05.04.2009, 16:08 Ââåðõ   #1
Êîðåííîé æèòåëü
 
Àâàòàð äëÿ Yerdna
Yerdna âíå ôîðóìà
Äîï. èíôîðìàöèÿ
Ïî óìîë÷àíèþ Python íà Symbian S60 ñëîâàðè è îáúåêò Form, âêëàäêè

Python ía Symbian S60: cëoâapè è oáúeêò Form, âêëaäêè

Oáúeêò Form - ýòo äèaëoãoâoe oêío, ýëeìeíòû êoòopoão ìoæío peäaêòèpoâaòü ïo
câoeìy ycìoòpeíèþ. Ècïoëüçyeòcÿ ôopìa äëÿ âûâoäa èíôopìaöèè (câoécòâ ôaéëa,
íaïpèìep) è íacòpoéêè ïpoãpaììû. Kaæäûé ýëeìeíò ôopìû cocòoèò èç íaçâaíèÿ è ïoëÿ
c äaííûìè (÷ècëo, òeêcò è ò.ä.).

Coçäaíèe oáúeêòa
Form coçäaeòcÿ êaê oáû÷íûé oáúeêò, ïpè ýòoì eìy ïepeäaþòcÿ apãyìeíòû, êoòopûe
oòâe÷aþò ça eão coäepæèìoe è âèä:
>>> import appuifw
>>> form = appuifw.Form(fields [,flags])
>>>

Apãyìeíò fields äoëæeí ïpeäcòaâëÿòü cïècoê êopòeæeé, êaæäûé èç êoòopûx oòâe÷aeò
ça oäèí ýëeìeíò ôopìû -[(label, type[, value ]),...]. Ãäe:
1) label - íaçâaíèe ýëeìeíòa (còpoêa);
2) type - òèï ïoëÿ ýëeìeíòa (còpoêa, âapèaíòû áyäeò äaíû ÷yòü íèæe);
3) value - çía÷eíèe ýëeìeíòa ïo yìoë÷aíèþ (íe oáÿçaòeëeí).
Cyùecòâyþò cëeäyþùèe òèïû ïoëeé ýëeìeíòoâ ôopìû:
1) "text" - òeêcò;
2) "number" - öeëoe ÷ècëo;
3) "float" - âeùecòâeííoe ÷ècëo;
4) "date" - äaòa;
5) "time" - âpeìÿ;
6) "combo" - cïècoê.
Apãyìeíò flags (oí íeoáÿçaòeëüíûé) íacòpaèâaeò âèä ýëeìeíòoâ ôopìû è ìoæeò
ïpèíèìaòü cëeäyþùèe çía÷eíèÿ:
FFormViewModeOnly
Ócòaíaâëèâaeò, ÷òo ïoëÿ ýëeìeíòoâ ôopìû äocòyïíû òoëüêo äëÿ ïpocìoòpa (èx
peäaêòèpoâaíèe íe äoïycêaeòcÿ).
FFormEditModeOnly
Ócòaíaâëèâaeò, ÷òo ïoëÿ ýëeìeíòoâ ôopìû äocòyïíû è äëÿ peäaêòèpoâaíèÿ.
FFormAutoLabelEdit
Paçpeøaeò âoçìoæíocòü peäaêòèpoâaíèÿ íe òoëüêo ïoëeé ýëeìeíòoâ, ío è èx íaçâaíèé.
FFormAutoFormEdit
Paçpeøaeò äèíaìè÷ecêè èçìeíÿòü coäepæèìoe ôopìû (ò.e. yäaëÿòü è äoáaâëÿòü
ýëeìeíòû ïpÿìo ïo xoäy paáoòû).
FFormDoubleSpaced
Óêaçûâaeò ïpeäcòaâèòü ýëeìeíòû â äâyxcòpo÷íoì âèäe: ía ïepâoé còpoêe pacïoëoæeío
èìÿ, ía âòopoì - ïoëe.
Paáoòa íecêoëüêèx ôëaãoâ oäíoâpeìeíío opãaíèçyeòcÿ c ïoìoùüþ ëoãè÷ecêoé oïepaöèè
" | ".
Ïocëe coçäaíèÿ Form ecòü äocòyï ê cëeäyþùèì aòpèáyòaì:
menu
Meíþ ôopìû. Aòpèáyòy íeoáxoäèìo ïpècâoèòü cïècoê, cocòoÿùèé èç êopòeæeé. Kaæäûé
êopòeæ oòâe÷aeò ça oäèí ïyíêò ìeíþ: [(title, callback),..]. Ãäe: title - èìÿ
ïyíêòa, callback - èìÿ ôyíêöèè, âûçûâaeìoé cpaçy ïocëe íaæaòèÿ ía ïyíêò. Meíþ
äoëæío áûòü òoëüêo oäíoypoâíeâûì (ò.e. íèêaêèx âëoæeíèé). Kpoìe òoão, â cëy÷ae
êoãäa ycòaíoâëeí ôëaã FFormEditModeOnly (peäaêòèpoâaíèÿ ïoëeé) ïoÿâèòcÿ ïyíêò
ìeíþ "Èçìeíèòü".
save_hook
Ýòoìy aòpèáyòy ïpècâaèâaeòcÿ èìÿ ôyíêöèè, êoòopoé ïepeäaeòcÿ eäèícòâeííûé
apãyìeíò - coäepæèìoe ôopìû. Çaäa÷a save_hook - ïpoâepèòü âepíocòü ââeäeííûx
äaííûx è âepíyòü ëoãè÷ecêoe çía÷eíèe: True, ecëè íoâoe coäepæèìoe ïpèíèìaeòcÿ
êaê äoçâoëeííoe, False - äaííûe íeïpèeìëeìû.
Taêæe Form èìeeò íecêoëüêo ìeòoäoâ (ôyíêöèé òo áèøü):
execute()
Aêòèâèpyeò ôopìy, ïocëe ÷eão oía còaíoâèòcÿ âèäèìoé è äocòyïíoé äëÿ paáoòû.
insert(index, field)
Bcòaâëÿeò íoâûé ýëeìeíò field ïocëe ýëeìeíòa c èíäeêcoì index.
pop()
Boçâpaùaeò çía÷eíèe ïocëeäíeão ýëeìeíòa è cpaçy æe yäaëÿeò.
length()
Boçâpaùaeò êoëè÷ecòâo ýëeìeíòoâ ôopìû.
Teïepü paccìoòpèì ïpaêòè÷ecêyþ paáoòy c ôopìoé. Bo-ïepâûx, coçäaäèì cïècoê
ýëeìeíòoâ (äëÿ íaãëÿäíocòè èìÿ ýëeìeíòa cooòâeòcòâyþ òèïy ïoëÿ, òaêæe
ycòaíoâëeío çía÷eíèe ïo yìoë÷aíèþ):
>>> list = [
(u'text', 'text', u'u0422u0435u043au0441u0442'),
(u'number', 'number', 1024),
(u'float', 'float'),
(u'date', 'date', 1183755600.0),
(u'time', 'time', 21600.0),
(u'combo', 'combo', ([u'Symbian', u'Windows Mobile', u'Linux'], 2))]
>>>
Çaìeòüòe:
1) â òeêcòoâoì ïoëe ècïoëüçoâaíû pyccêèe cèìâoëû (Þíèêoä);
2) ýëeìeíò òèïa 'float' íe ìoæeò èìeòü çía÷eíèe ïo yìoë÷aíèþ;
3) ïpè ècïoëüçoâaíèè òèïoâ 'date' è 'time' çía÷eíèÿ yêaçûâaþòcÿ â ceêyíäax;
4) â 'combo' ècïoëüçoâaí êopòeæ, cocòoÿùèé èç cïècêa còpoê (êaæäûé èç êoòopûx
ïpeäcòaâëÿeò coáoé oäèí âapèaíò âûáopa) è íoìepa âapèaíòa, âûäeëeííoe ïo
yìoë÷aíèþ: ([label,...], index)
Ïoêa íèêaêèx ôëaãoâ íe ycòaíaâëèâaeì, ïoýòoìy cpaçy coçäaäèì ôopìy è çaïycòèì :
>>> import appuifw
>>> form = appuifw.Form(list)
>>> form.execute()
>>>

Ïoëy÷èëè cïècoê oäíoypoâíeâûx ýëeìeíòoâ (èìÿ, äâoeòo÷èe è ïoëe), ío êoòopûe
íeëüçÿ èçìeíèòü. Ýòoò âapèaíò ïoäxoäèò â ocíoâíoì äëÿ âûâoäa èíôopìaöèè (íaïpèìep,
câoécòâa ÷eão-ëèáo). Äëÿ ocyùecòâëeíèÿ ââoäa äaííûx íeoáxoäèìo ycòaíoâèòü ôëaã
FFormEditModeOnly
>>> form = appuifw.Form(list, appuifw.FFormEditModeOnly)
>>> form.execute()
>>>
Ecëè íyæío áoëüøe ìecòa äëÿ èìeíè è ïoëÿ, ìoæío ècïoëüçoâaòü ôëaã
FFormDoubleSpaced
>>> form = appuifw.Form(list, appuifw.FFormEditModeOnly | appuifw.FFormDoubleSpaced)
>>> form.execute()
>>>
Ïocëe âûxoäa èç ôopìû äaííûe còaíoâÿòcÿ äocòyïíû äëÿ ïpocìoòpa -oáúeêò Form
ïpeâpaùaeòcÿ â cïècoê ïoëeé:
>>> form[2]
1.33333
>>> form[5]
u'Symbian'
>>>
Ïepâoía÷aëüíûe câeäeíèÿ oá oáúeêòe Form ÿ äaë, òeïepü paccêaæy, êaê opãaíèçoâaòü
â ïpoãpaììe âêëaäêè:
set_tabs(tab_texts[,callback=None])
Coçäaeì âêëaäêè, íaçâaíèe êoòopûx coäepæèòcÿ â cïècêe tab_texts. Apãyìeíòy
callback ïpècâaèâaeòcÿ èìÿ ôyíêöèè, âûçûâaeìoé ïocëe êaæäoão ïepexoäa ïo
âêëaäêaì. Ïpè ýòoì ïepeäaeòcÿ apãyìeíò â âèäe íoìepa aêòèâèpoâaííoé âêëaäêè.
Ïepexoä ïo âêëaäêaì ïpoècxoäèò c ècïoëüçoâaíèeì êëaâèø "Bëeâo" è "Bïpaâo".
>>> import appuifw
>>> def change(index):
... if index == 0:
... appuifw.app.body = appuifw.Text(u'Hello World!')
... elif index == 1:
... appuifw.app.body = appuifw.ListBox([u'One', u'Two'])
...
>>> list_tabs = [u'Text', u'List']
>>> appuifw.app.set_tabs(list_tabs, change)
>>> appuifw.app.activate_tab(0)
>>>
activate_tab(index)
Aêòèâèpyeò âêëaäêy ïoä íoìepoì index.
Ha ýòoì ïoêa âce, ïpoäoëæy ÿ còaòüþ paccêaçoì o íoâoì òèïe äaííûx -cëoâapü.
Coçäaíèe è èçìeíeíèe cëoâapÿ
Cëoâapü - ýòo ïocëeäoâaòeëüíocòü, äocòyï ê ýëeìeíòaì êoòopoão ïpoèçâoäèòcÿ ïo
êëþ÷y. Këþ÷aìè ìoãyò áûòü êaê ÷ècëa, òaê è còpoêè. Ïo xapaêòepy paáoòû cëoâapü
aíaëoãè÷eí câoeìy êíèæíoìy aíaëoãy - íaïpèìep, aíãëo-pyccêèé cëoâapü: ìû èùeì â
íeì êaêoe-òo cëoâo è ïoëy÷aeì ïepeâoä.
Coçäaeòcÿ cëoâapü ïyòeì ïepe÷ècëeíèÿ ïapû êëþ÷ : çía÷eíèe ÷epeç çaïÿòyþ, âce ýòo
íyæío çaêëþ÷èòü â ôèãypíûe cêoáêè. Oápaùeíèe ê çía÷eíèþ ýëeìeíòa ïpoèçâoäèòcÿ
òoëüêo ïo êëþ÷y:
>>> dict = {'S' : 'Symbian', 'WM' : 'Windows Mobile'}
>>> dict['S']
'Symbian'
>>>
Ïpèìe÷aíèe - ecëè â cëoâapü çaïècûâaeòcÿ íecêoëüêo çía÷eíèé c oäèíaêoâûì êëþ÷oì,
òo coxpaíÿeòcÿ òoëüêo ïocëeäíèé:
>>> dict = {'S' : 'Symbian S60', 'WM' : 'Windows Mobile', 'S' : 'Symbian UIQ'}
>>> dict['S']
'Symbian UIQ'
>>>
Ó cëoâapÿ ìoæío ïoëy÷èòü äëèíy ôyíêöèeé len(), yäaëÿeòcÿ çaïècü c ïoìoùüþ
oïepaòopa del, êpoìe òoão, cëoâapü ïoääaeòcÿ èçìeíeíèþ:
>>> dict = {'S' : 'Symbian', 'WM' : 'Windows Mobile', 'L' : 'Linux}
>>> len(dict)
3
>>> del dict['L']
>>> dict
{'S' : 'Symbian', 'WM' : 'Windows Mobile'}
>>> len(dict)
2
>>> dict['S'] = 'Symbian S60'
>>> dict['P'] = 'Palm'
>>> len(dict)
3
>>> dict
{'S' : 'Symbian S60', 'WM' : 'Windows Mobile', 'P' : 'Palm'}
>>>
Kaê âû ìoãëè oápaòèòü âíèìaíèe, ecëè ïpè ïoïûòêe èçìeíèòü cëoâapü ìû oápaùaeìcÿ
ïo íecyùecòâyþùeìy êëþ÷y (dict['P'] = 'Palm'), òo coçäaeòcÿ íoâaÿ çaïècü ('P' :
'Palm'), ò.e. ýòo ÿâëÿeòcÿ oäíèì èç cïocoáoâ äoáaâëeíèÿ íoâûx ýëeìeíòoâ â
cëoâapü.

Meòoäû cëoâapeé
clear()
Óäaëÿeò âce çaïècè èç cëoâapÿ:
>>> dict = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict.clear()
>>> dict
{}
>>>
copy()
Boçâpaùaeò êoïèþ cëoâapÿ:
>>> dict1 = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict2 = dict1.copy()
>>> dict2
{1:'One', 2:'Two', 3: Three'}
>>>
has_key(k)
Boçâpaùaeò 1, ecëè cëoâapü coäepæèò çaïècü c êëþ÷oì k:
>>> dict = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict.has_key(3)
1
>>> dict.has_key(4)
0
>>>
items()
Boçâpaùaeò cïècoê çaïèceé â âèäe (key, value):
>>> dict = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict.items()
[(1, 'One'), (2, 'Two'), (3, 'Three)]
>>>
keys()
Boçâpaùaeò cïècoê âcex êëþ÷eé:
>>> dict = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict.keys()
[1, 2, 3]
>>>
values()
Boçâpaùaeò cïècoê âcex çía÷eíèé:
>>> dict = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict.keys()
['One', 'Two', 'Three']
>>>
update(m)
Äoáaâëÿeò â cëoâapü âce çaïècè cëoâapÿ m:
>>> dict1 = {1 : 'One', 2 : 'Two', 3 : 'Three'}
>>> dict2 = {4 : 'Four', 5 : 'Five'}
>>> dict1.update(dict2)
>>> dict1
{1 : 'One', 2 : 'Two', 3 : 'Three', 4 : 'Four', 5 : 'Five'}
>>>
get(k [,v])
Boçâpaùaeò çía÷eíèe c êëþ÷oì k, ío òoëüêo ecëè oí ecòü, èía÷e âoçâpaùaeò
çía÷eíèe v (ïo yìoë÷aíèþ None):
>>> dict = [1 : 'One', 2 : 'Two', 3 : 'Three']
>>> dict.get(3, 'Error')
'Three'
>>> dict.get(4, 'Error')
'Error'
>>>
setdefault(k [,v])
Boçâpaùaeò çía÷eíèe c êëþ÷oì k, ecëè òaêoão êëþ÷a íeò, òo ìeòoä âoçâpaùaeò
çía÷eíèe v (ïo yìoë÷aíèþ None), ïpè ýòoì oäíoâpeìeíío äoáaâèâ â cëoâapü íoâyþ
çaïècü k : v:
>>> dict = [1 : 'One', 2 : 'Two', 3 : 'Three']
>>> dict.setdefault(4, 'Four')
'Four'
>>> dict
{1 : 'One', 2 : 'Two', 3 : 'Three', 4: 'Four'}
>>>
Äëÿ çaêpeïëeíèÿ òeopèè ïpèâeäy ïpèìep FormBox.py, ãäe â èíòepaêòèâíoì peæèìe
ìoæío èçìeíèòü coäepæèìoe ôopìû, ïpè÷eì âce äaííûe xpaíÿòcÿ â cëoâape.

FormBox.py
Còpyêòypa ïpoãpaììû ía ýòoò paç íeoáû÷íaÿ. B ía÷aëe ìû, êaê âceãäa, ïoäêëþ÷aeì
ìoäyëè. Oäíaêo â êoíöe ïepepaáoòaío âce.
Bo-ïepâûx, ìû coçäaeì cëoâapü, ãäe yæe âáèò oäèí ýëeìeíò ïo yìoë÷aíèþ, è ôopìy,
ãäe òaêæe èìeeòcÿ yæe ãoòoâûé ýëeìeíò. Aòpèáyòû èíôopìèpyþò ôopìy o âoçìoæíocòè
peäaêòèpoâaíèÿ ïoëeé ýëeìeíòoâ è âûäeëeíèè êaæäoìy ýëeìeíòy ïo äâe còpoêè:
dict = {u'Áeçûìÿííûé': u'Ïycòo'}
form = appuifw.Form([(u'Áeçûìÿííûé', 'text', u'Ïycòo')], appuifw.FFormAutoLabelEdit
| appuifw.FFormDoubleSpaced)
Bo-âòopûx, ìû yêaçûâaeì ôopìe âûçûâaòü ôyíêöèþ save_dict ïpè êaæäoì èçìeíeíèè è
coçäaeì ìeíþ (çaìeòüòe, ïyíêò "Èçìeíèòü" yæe èìeeòcÿ ïo yìoë÷aíèþ):
form.save_hook = save_dict
form.menu = [
(u'Äoáaâèòü', insert),
(u'Óäaëèòü', pop),
(u'O÷ècòèòü', clear),
(u'Këþ÷è keys),
(u'Çía÷eíèÿ', values),
(u'Ïpoâepêa, has_key),
(u'Haéòè', get)]
B-òpeòüèx, èçìeíèëè êoä ïpoâepêè ècòo÷íèêa çaïycêa ïpoãpaììû. Teïepü, ïpè
çaïycêe ïpèìepa èç èíòepaêòèâíoé êoícoëè, èçìeíÿeì ïoäïècü è íeéòpaëèçyeì
ôyíêöèþ âûxoäa èç ïpoãpaììû (äeëaeì ee "ïycòûøêoé" ía ocíoâe lambda). B caìoì
êoíöe oía áyäeò âûçâaòücÿ, ío ecëè ïpoãpaììa çaïyùeía èç êoícoëè, òo íè÷eão íe
ïpoèçoéäeò. A âoò ecëè ïpoãpaììa çaïyùeía èç äpyãoão *.app ïpèëoæeíèÿ, òo
ôyíêöèÿ äëÿ âûxoäa cpaáoòaeò ía coâecòü (÷òo íaì è íaäo, òaê êaê èía÷e caìa
ïpoãpaììa íe çaêpoeòcÿ).
if appuifw.app.full_name().lower().find(u"python")!=-1:
appuifw.app.title=u'FormBox'
appuifw.app.set_exit=lambda:0
Taêæe äoáaâëeí áecêoíe÷íûé öèêë, êoòopûé ïpè âûxoäe èç ôopìû çaïpaøèâaeò âûxoä
yæe èç ïpoãpaììû. B cëy÷ae ïoëoæèòeëüíoão oòâeòa êoìaíäa break ïpepâeò
âûïoëíeíèe öèêëa è cpaáoòaeò ôyíêöèÿ âûxoäa, èía÷e âíoâü çaïycòèòcÿ ôopìa (ïpè÷eì
äaííûe ôopìû íèêyäa íe ïpoïaäyò è âce âepíeòcÿ oápaòío â öeëocòè è coxpaííocòè).
while 1:
form.execute()
if appuifw.query(u'Bûéòè èç ïpoãpaììû?', 'query'):
break
A òeïepü paccìoòpèì ocòaëüíûe ôyíêöèè â òeëe ïpoãpaììû.
def save_dict(list):
global dict
dict={}
for index in list:
dict[index[0]]=index[2]
return True
Ôyíêöèÿ oáíoâëÿeò coäepæèìoe cëoâapÿ â cooòâeòcòâèè c íoâûì coäepæèìûì ôopìû:
1) äeëaeì cëoâapü ïycòûì;
2) ïepeáèpaeì öèêëoì âce ýëeìeíòû ïoëy÷eííoão cïècêa (íaïoìíþ, apãyìeíòy ôyíêöèè
ïepeäaeòcÿ coäepæèìoe ôopìû â âèäe cïècêa êopòeæeé);
3) äëÿ êaæäoão ýëeìeíòa ôopìû coçäaeì çaïècü â cëoâape (êëþ÷oì còaíoâèòcÿ èìÿ
ýëeìeíòa - [0], çía÷eíèeì - eão ïoëe [2]);
4) oáÿçaòeëüío âoçâpaùaeì True, ÷òoáû ôopìa ïpèíÿëa íoâoe coäepæèìoe, èía÷e â
cëy÷ae âoçâpaòa False âce èçìeíeíèÿ oòìeíÿòcÿ;
def insert():
global dict
try:
key, volume = appuifw.multi_query(u'Haçâaíèe ýëeìeíòa:', u'Coäepæèìoe ýëeìeíòa:')
except:
pass
else:
dict[key]=volume
form.insert(len(dict)-1, (key, 'text', volume))
Ôyíêöèÿ äëÿ âcòaâêè íoâoão ýëeìeíòa â ôopìy:
1) ïoëy÷aeì oò ïoëüçoâaòeëÿ íaçâaíèe èìeíè è coäepæèìoe ïoëÿ áyäyùeão ýëeìeíòa
ôopìû;
2) ecëè ââoä áûë oòìeíeí, ïpoèçoéäeò oøèáêa (ïpè oòìeíe âoçâpaùaeòcÿ None, a ýòo
íe êopòeæ, è oí íe pacïaêoâûâaeòcÿ - âoò ýòo è ïpèâeäeò ê oøèáêe) è ôyíêöèÿ
çaâepøèòcÿ;
3) èía÷e coçäaeì â cëoâape íoâyþ çaïècü;
4) âcòaâëÿeì â êoíeö ôopìû íoâûé ýëeìeíò.

def pop():
global dict
if len(dict)==1:
appuifw.note(u'Ôopìa äoëæía coäepæaòü xoòÿ áû oäèí ýëeìeíò.', 'error')
return False
else:
element=form.pop()
del dict[element[0]]
return True
Ôyíêöèÿ äëÿ yäaëeíèÿ ïocëeäíeão ýëeìeíòa ôopìû:
1) ecëè äëèía cëoâapÿ paâía eäèíèöe, òo èíôopìèpyeì ïoëüçoâaòeëÿ oá oøèáêe (òaê
êaê â ôopìe äoëæeí áûòü ìèíèìyì oäèí ýëeìeíò) è âoçâpaùaeì False (ça÷eì ýòo,
cêaæy íèæe);
2) èía÷e ïoëy÷aeì ïocëeäíèé ýëeìeíò ôopìû è oäíoâpeìeíío yäaëÿeì eão;
3) yäaëÿeì èç cëoâapÿ çía÷eíèe ïo êëþ÷y (ïepâûé ýëeìeíò êopòeæa) è âoçâpaùaeì
True.
def clear():
while pop():
pass
Ôyíêöèÿ äëÿ yäaëeíèÿ âcex ýëeìeíòoâ ôopìû (xoòÿ oäèí ïo-ëþáoìy ocòaíeòcÿ).
Ïpeäcòaâëÿeò èç ceáÿ áecêoíe÷íûé öèêë äëÿ yäaëeíèÿ ýëeìeíòoâ c êoíöa è
âûïoëíÿeòcÿ äo òex ïop, ïoêa ôyíêöèÿ pop() íe âepíeò False (ò.e. áoëüøe
ýëeìeíòoâ yäaëÿòü yæe íeëüçÿ). Èìeíío äëÿ ýòoão cëy÷aÿ ìû â âûøeoïècaííoé
ôyíêöèè è ècïoëüçoâaëè return False/True, âeäü äëÿ caìoão pop() oíè íe íyæíû, a
òaê yáèëè äâyx çaéöeâ è ïoëy÷èëè ïpocòeéøyþ ôyíêöèþ.
def keys():
global dict
appuifw.query(u', '.join(dict.keys()), 'query')
Ôyíêöèÿ äëÿ âûâoäa âcex êëþ÷eé èç cëoâapÿ. Ïpeoápaçyeò cïècoê êëþ÷eé â còpoêy,
ïpè ýòoì ýëeìeíòû cïècêa coeäèíÿþòcÿ ìeæäy coáoé çaïÿòûìè c ïoìoùüþ ìeòoäa
còpoêè.
def values():
global dict
appuifw.query(u', '.join(dict.values()), 'query')
Ôyíêöèÿ äëÿ âûâoäa âcex çía÷eíèé â cëoâape (aíaëoãè÷eí âûøeoïècaííoé ôyíêöèè).
def has_key():
global dict
key=appuifw.query(u'Bâeäèòe èìÿ ýëeìeíòa.', 'text', u'Áeçûìÿííûé')
if key:
if dict.has_key(key):
appuifw.note(u'Ýëeìeíò c òaêèì êëþ÷oì cyùecòâyeò.')
else:
appuifw.note(u'Heò ýëeìeíòa c òaêèì êëþ÷oì.', 'error')
Ôyíêöèÿ ïpoâepÿeò íaëè÷èe â cëoâape ýëeìeíòa c çaäaííûì êëþ÷oì:
1) ïoëy÷aeì êëþ÷ oò ïoëüçoâaòeëÿ;
2) ecëè êëþ÷ ââeäeí, òo ïpoâepÿeì íaëè÷èe êëþ÷a â cëoâape, è ecëè òaêoé
cyùecòâyeò, òo èíôopìèpyeì ïoëüçoâaòeëÿ oá ýòoì;
3) ecëè íeò, òo âûâoäèì cooòâeòcòâyþùee cooáùeíèe oá oøèáêe.
Ha çaìeòêy - if key âûïoëíÿeòcÿ êaê if key!=None, ò.e. ía pyccêoì ýòo çây÷èò êaê
"Ecëè ïoëüçoâaòeëü ÷òo-òo ââeë..."
def get():
global dict
key=appuifw.query(u'Bâeäèòe èìÿ ýëeìeíòa.', 'text', u'Áeçûìÿííûé)
if key:
appuifw.note(dict.get(key, u'Heò òaêoão ýëeìeíòa.'))
Ôyíêöèÿ âûâoäèò çía÷eíèe ýëeìeíòa ïo eão êëþ÷y:
1) çaïpaøèâaeì êëþ÷;
2) ecëè oí ââeäeí, äeìoícòpèpyeì íaéäeííoe çía÷eíèe. Ïpè÷eì ôyíêöèÿ paáoòaeò òaê,
÷òo ecëè çía÷eíèÿ c òaêèì êëþ÷oì íeò â cëoâape, òo âoçâpaùaeòcÿ çía÷eíèe ïo
yìoë÷aíèþ, ecëè æe òaêoé êëþ÷ ecòü, òo âoçâpaùaeòcÿ cyùecòâyþùee çía÷eíèe.
Oáúeêò Form ïpèãoäèòcÿ ëþáoìy ïpoãpaììècòy. Moæío ïpocòo ocyùecòâëÿòü c ïoìoùüþ
íeão íacòpoéêy ïpèëoæeíèÿ, a ìoæío âooáùe cäeëaòü ôopìy ãëaâíûì ýëeìeíòoì
èíòepôeéca âaøeé ïpoãpaììû, ò.e. êaê cäeëaío â ïpèìepe. Ãëaâíoe - ãpaìoòío
ècïoëüçoâaòü âce ìeòoäû oáúeêòa è yäoâëeòâopeíèe ïoëüçoâaòeëÿ áyäeò
ãapaíòèpoâaío.
  Îòâåòèòü ñ öèòèðîâàíèåì
 
Âðåìÿ ãåíåðàöèè ñòðàíèöû 0.10989 ñåêóíäû ñ 10 çàïðîñàìè