goto ???

Le
alainL
Bonjour,
Je bricole mon premier programme "agenda " avec Python GUY.

Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!)
-calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour affichage
des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date.

____________________________________________________________
def updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0, showvalue
=0,command=updateLabel)
________________________________________________________________________________
Mais là, je suis coincé : mis à part txt6 qui me sert de test, les autres
affichages ne changent évidemment pas .
Ah ! le bon vieux goto.. (j'ai trouvé qqs liens sur la question, mais en
anglais traduit par googleje craque !)
Comment faire ???
Merci pour vos conseils.

alainL
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Encolpe Degoute
Le #664670
C'est une question pour un vendredi après-midi, pas un samedi, c'est
trop tard.


Bonjour,
Je bricole mon premier programme "agenda " avec Python GUY.

Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!)
-calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour
affichage des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date....

____________________________________________________________
def updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0,
showvalue =0,command=updateLabel)
________________________________________________________________________________

Mais là, je suis coincé : mis à part txt6 qui me sert de test, les
autres affichages ne changent évidemment pas .
Ah ! le bon vieux goto..... (j'ai trouvé qqs liens sur la question, mais
en anglais traduit par google...je craque !)
Comment faire ???
Merci pour vos conseils.

alainL



--
Encolpe DEGOUTE
http://encolpe.degoute.free.fr/
Logiciels libres, hockey sur glace et autres activités cérébrales

Laurent Pointal
Le #664669
Le Sat, 05 Jan 2008 11:51:25 +0100, alainL a écrit :

Bonjour,
Je bricole mon premier programme "agenda " avec Python GUY.

Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!) -calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour
affichage des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date....

____________________________________________________________ def
updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0,
showvalue =0,command=updateLabel)

________________________________________________________________________________

Mais là, je suis coincé : mis à part txt6 qui me sert de test, les
autres affichages ne changent évidemment pas . Ah ! le bon vieux
goto..... (j'ai trouvé qqs liens sur la question, mais en anglais
traduit par google...je craque !) Comment faire ???
Merci pour vos conseils.

alainL


En mode quick'n dirty:
Lecture: open(nomfichier).read()
Ecrirure: open(nomfichier,'w').write(leTexte)

Sinon, lapin compris, tu as le Tk root quelque part, la manipulation du
Scale appelle-t-elle ton updateLabel... où est-ce que tu coinces ?

[et pourquoi tu veux aller flanquer un goto là-dedans]


--
Laurent POINTAL -

alainL
Le #664668
"Laurent Pointal" groupe de discussion : 477f9296$0$854$

Bonjour,
Je bricole mon premier programme "agenda " avec Python GUY.

Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!) -calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour
affichage des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date....

____________________________________________________________
def updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0,
showvalue =0,command=updateLabel)

________________________________________________________________________________

Mais là, je suis coincé : mis à part txt6 qui me sert de test, les
autres affichages ne changent évidemment pas . Ah ! le bon vieux
goto..... (j'ai trouvé qqs liens sur la question, mais en anglais
traduit par google...je craque !) Comment faire ???
Merci pour vos conseils.

alainL


En mode quick'n dirty:


?????


Lecture: open(nomfichier).read()
Ecrirure: open(nomfichier,'w').write(leTexte)


pour ça, ça va


Sinon, lapin compris, tu as le Tk root quelque part, la manipulation du
Scale appelle-t-elle ton updateLabel... où est-ce que tu coinces ?



Oui, le scale appelle l'updateLabel, mais il faudrait que tous les
affichages changent (nouvelle date traduite, lecture fichier au nouveau
jour, etc) Donc, que la page se recrée avec la nouvelle date d'où mon idée
de goto ... au début. Je ne peux pas répéter tout le code dans l'update qd
même :-(((

alain


Laurent Pointal
Le #664667
Le Sat, 05 Jan 2008 17:53:03 +0100, alainL a écrit :

<zip>
En mode quick'n dirty:
?????



Rapide et sale. Qu'on code rapidement sans trop s'occuper des problèmes
de traitements d'erreur, de nettoyage & Co.

Par exemple, il serait mieux d'écrire:
f = open(nomfichier)
try :
s = f.read()
finally:
f.close()
Afin de s'assurer que le fichier est bien refermé dans tous les cas sans
se reposer sur le ramasse-miettes.

<zip>

Sinon, lapin compris, tu as le Tk root quelque part, la manipulation du
Scale appelle-t-elle ton updateLabel... où est-ce que tu coinces ?


Oui, le scale appelle l'updateLabel, mais il faudrait que tous les

affichages changent (nouvelle date traduite, lecture fichier au nouveau
jour, etc) Donc, que la page se recrée avec la nouvelle date d'où mon
idée de goto ... au début. Je ne peux pas répéter tout le code dans
l'update qd même :-(((


Aye, tu n'es pas sous un environnement de bases de données à la
FileMaker, Access et autres paradox... là il faut que tu fasses à la mano
les mises à jour nécessaires. Si tu ne veux pas répéter tout le code de
mise à jour, places-le dans une fonction, et appelle-là quand il faut.

Si tu recherches qq chose en Python qui se rapproche des logiciels sus-
cités, tu peux regarder du coté de Durus, DaboDev, PythonCard-custdb,
Rekall-revealed...

Et si tu n'es pas spécialement accroché à Python pour ça, tu peux
regarder vers Kexi, Knoda... et il y en a d'autres.

"Disclaimer": j'ai bookmarqué les liens vers ces logiciels, mais je n'ai
jamais eu à utiliser les softs.


A+

Laurent.



[Durus] http://www.mems-exchange.org/software/durus/
[DaboDev] http://dabodev.com/
[PythonCard-custdb] http://pythoncard.sourceforge.net/samples/custdb.html
[Rekall-revealed] http://www.rekallrevealed.org/
[Kexi] http://www.kexi-project.org/
[Knoda] http://www.knoda.org/

--
Laurent POINTAL -


Bruno Desthuilliers
Le #664663
(snip)

(snip)


Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!) -calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour
affichage des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date....

def updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0,
showvalue =0,command=updateLabel)


Mais là, je suis coincé : mis à part txt6 qui me sert de test, les
autres affichages ne changent évidemment pas . Ah ! le bon vieux
goto..... (j'ai trouvé qqs liens sur la question, mais en anglais
traduit par google...je craque !) Comment faire ???
Merci pour vos conseils.




(snip)

Oui, le scale appelle l'updateLabel, mais il faudrait que tous les
affichages changent (nouvelle date traduite, lecture fichier au nouveau
jour, etc) Donc, que la page se recrée avec la nouvelle date d'où mon
idée de goto ... au début. Je ne peux pas répéter tout le code dans
l'update qd même :-(((



Et les boucles, ça sert à quoi ?

Si les opérations à effectuer diffèrent selon les widgets, écrit une
fonction par widget, et appelle ces fonctions en boucle:

_onScaleChangeCallbacks = []

def scaleChanged(value):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
for func in _onScaleChangeCallback:
func(now)

def onScaleChange(func):
if func not in _onScaleChangeCallbacks:
_onScaleChangeCallbacks.append(func)
return func

@onScaleChange
def updateLabel(newdate):
txt6.configure(text=newdate)

@onScaleChange
def updateWidgetX(newdate):
# code for X here

@onScaleChange
def updateWidgetY(newdate):
# code for Y here

# etc

Regle = Scale(
from_=-100,
to66,
orient=HORIZONTAL,
length 0,
showvalue =0,
command=scaleChanged
)


HTH



Amaury Forgeot d'Arc
Le #663891

Bonjour,
Je bricole mon premier programme "agenda " avec Python GUY.

Voici la structure actuelle qui fonctionne:

-appel de la date systeme
-traduction en jjjj mmmm aaaa (en français!)
-calcul des fêtes mobiles
-creation de nom de fichier et lecture/ecriture de celui-ci pour
affichage des notes du jour.
- introduction d'un objet scale qui me permet d'incrementer la date....

____________________________________________________________
def updateLabel(x):
incr=int(str(x))
nowÚtetime.date.today()+datetime.timedelta(incr)
txt6.configure(text=now)

Regle = Scale(from_=-100, to66, orient=HORIZONTAL , length 0,
showvalue =0,command=updateLabel)
________________________________________________________________________________

Mais là, je suis coincé : mis à part txt6 qui me sert de test, les
autres affichages ne changent évidemment pas .
Ah ! le bon vieux goto..... (j'ai trouvé qqs liens sur la question, mais
en anglais traduit par google...je craque !)
Comment faire ???
Merci pour vos conseils.

alainL


Il y a un module goto pour python:
http://entrian.com/goto/
Il y a même l'instruction "comefrom", qui fait l'inverse...
et ça marche!

--
Amaury

Publicité
Poster une réponse
Anonyme