problem with eval while using PythonCard
7stud
bbxx789_05ss at yahoo.com
Fri May 25 17:54:57 EDT 2007
On May 25, 3:33 pm, "Michal Lipinski" <michal.lipin... at gmail.com>
wrote:
> Hi
>
> its my first post. I have a problem, I want to user eval() function in
> a for loop to set labels to staticText so i done something like this:
>
> dzien=self.components.Calendar.GetDate().GetDay()
> for i in range(1,8):
> act=dzien+i -1
> eval( 'self.components.d' + str(i) + '.text = "'+ str(act) + '"')
>
> but there is a problem, the program returned error:
>
> File "/home/lipton/Projekty/kami-organizer/grafik.py", line 27, in __init__
> eval( 'self.components.d' + str(i) + '.text = "'+ str(act) + '"')
> File "<string>", line 1
> self.components.d1.text = "25"
>
> SyntaxError: invalid syntax
>
> dont know what is wrong, becouse when i copy and paste in to code :
> self.components.d1.text = "25"
>
> it work great, but when Im trying to do it using eval() it give me a SyntaxError
>
> Please help.
>
> ps. sorry for my english ;)
How about something like this:
############
#make object:
class S(object):pass
class X(object):pass
class Y(object):pass
s = S()
s.components = X()
s.components.d1 = Y()
s.components.d1.text = "hello world"
###########
obj = getattr(s.components, "d" + str(1))
obj.text = "goodybe"
print s.components.d1.text
More information about the Python-list
mailing list