Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 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 | | Calendrier |
|
|
| appel routine a partir d'un fichier txt | |
| | Auteur | Message |
---|
mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: appel routine a partir d'un fichier txt Jeu 18 Avr 2013 - 19:32 | |
| bonsoir a tous plutot qu un long discour, je vous livre mon code je souhaite cree un fichier avec les instructions pour commander notre robot ça marche maintenant il faut reprendre chaque instruction pour appeler chaque routine là ça ne marche pas encore - Code:
-
dim a$,v$ ,f$,b$ label ecrita,lire,ecritb ,abc,def a$="abc" b$="def" file_open_write 1,"totoprog.txt" button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,5 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb file_close 1
end ecrita: file_open_append 1,"totoprog.txt" file_write 1, a$ file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_write 1, b$ file_close 1 return lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_readln 1,f$:print_locate 10,100 :print f$ end_while file_close 1 ' gosub f$ return abc: print_locate 10,150 :print "okabc" return def: print_locate 50,150 :print "okdef" return si quelqu un a une idee merci d'avance | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Jeu 18 Avr 2013 - 19:37 | |
| Impossible de faire directement ce que tu montres là. Mais: tu peux y arriver avec une série de IF. J'ai ajouté cela à ton code: - Code:
-
dim a$,v$ ,f$,b$ label ecrita,lire,ecritb ,abc,def a$="abc" b$="def" file_open_write 1,"totoprog.txt" button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,5 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb file_close 1
end
ecrita: file_open_append 1,"totoprog.txt" file_write 1, a$ file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_write 1, b$ file_close 1 return
lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_readln 1,f$:print_locate 10,100 :print f$ end_while file_close 1 ' gosub f$ if f$="abc" then gosub abc if f$="def" then gosub def return
abc: print_locate 10,150 :print "okabc" return
def: print_locate 50,150 :print "okdef" return | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Jeu 18 Avr 2013 - 21:02 | |
| alors là bravo cela fait deux jour que je cherche poutant la solution etait sous mes yeux encore merci je retourne a mon robot | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Jeu 18 Avr 2013 - 23:09 | |
| De rien. C'est un plaisir ! | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Ven 19 Avr 2013 - 22:19 | |
| oups je crois que finalement je n'ai pas bien compris j'ai le fichier text, je peut ecrire a la ligne ou a la suite maintenant impossible de lire seulement une partie pour appeler les sub une par une j'ai cherché dans le tuto ils parlent de separateur mais je ne sais pas du quel il s'agit. apres j'ai essayé avec mid$ - Code:
-
dim a$,v$ ,f$,b$ ,r$,s$,t$ ,i label ecrita,lire,ecritb ,abc,def,appli a$="abc" b$="def" file_open_write 1,"totoprog.txt" button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,5 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb button 103 : top 103,80 :left 103,10 : caption 103,"applique": on_click 103,appli
file_close 1
end
ecrita: file_open_append 1,"totoprog.txt" file_write 1, a$ file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_write 1, b$ file_close 1 return
lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_readln 1,f$:print_locate 10,200 :print f$ end_while file_close 1 rem if f$="abc" then gosub abc rem if f$="def" then gosub def
return
appli:
mid$ ("f$",3,3)
return
abc: print_locate 10,150 :print "okabc" return
def: print_locate 50,150 :print "okdef" return
il y a surement une solution toute proche! merci d'avance mindstorm | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Ven 19 Avr 2013 - 22:59 | |
| Alors, essaie comme ça: - Code:
-
dim a$,v$ ,f$,b$ ,r$,s$,t$ ,i label ecrita,lire,ecritb ,abc,def,appli a$="abc" b$="def" file_open_write 1,"totoprog.txt" button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,5 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb button 103 : top 103,80 :left 103,10 : caption 103,"applique": on_click 103,appli
file_close 1
end
ecrita: file_open_append 1,"totoprog.txt" file_writeln 1, a$ : ' <=== pour pouvoir lire par file_readln ! file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_writeln 1, b$ : ' <=== pour pouvoir lire par file_readln ! file_close 1 return
lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_readln 1,f$:print_locate 10,200 :print f$ end_while file_close 1 rem if f$="abc" then gosub abc rem if f$="def" then gosub def
return
appli:
mid$ ("f$",3,3)
return
abc: print_locate 10,150 :print "okabc" return
def: print_locate 50,150 :print "okdef" return
| |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Sam 20 Avr 2013 - 12:00 | |
| merci Klaus ce n'etait pas ça j'avais mis des guillemets a la variable string et il prenait le nom de la variable string comme string lui même regarde un peut ,là ça marche - Code:
-
dim a$,v$ ,f$,b$ ,r$,s$,t$ ,i label ecrita,lire,ecritb ,abc,def,appli a$="abc" b$="def" file_open_write 1,"totoprog.txt" button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,105 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb rem button 103 : top 103,80 :left 103,10 : caption 103,"applique": on_click 103,appli
file_close 1
end
ecrita: file_open_append 1,"totoprog.txt" file_write 1, a$ file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_write 1, b$ file_close 1 return
lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_read 1,f$:print_locate 10,200 :print f$ t$= mid$ (f$,1,3) :print_locate 10,180 :print t$ end_while file_close 1 rem if f$="abc" then gosub abc rem if f$="def" then gosub def
return
appli:
t$= mid$ (f$,3,3) :print_locate 10,155 :print t$
return
abc: print_locate 10,150 :print "okabc" return
def: print_locate 50,150 :print "okdef" return
merci pour ton soutient mindstorm | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Sam 20 Avr 2013 - 12:37 | |
| OK. Alors, regarde la simplicité de cette version: - Code:
-
dim a$,v$ ,f$,b$ ,r$,s$,t$ ,i label ecrita,lire,ecritb ,abc,def,appli a$="abc" b$="def" file_open_write 1,"totoprog.txt" file_close 1
button 100 : top 100,30 : left 100,10 : caption 100,"a$" : on_click 100,ecrita button 101 : top 101,105 : left 101,10 :caption 101,"lecture": on_click 101,lire button 102 : top 102,55 :left 102,10 : caption 102,"b$": on_click 102,ecritb rem button 103 : top 103,80 :left 103,10 : caption 103,"applique": on_click 103,appli memo 110 : top 110,10 : left 110,200 : height 110,400 end
ecrita: file_open_append 1,"totoprog.txt" file_writeln 1, a$ file_close 1 return
ecritb: file_open_append 1,"totoprog.txt" file_writeln 1, b$ file_close 1 return
lire: file_open_read 1,"totoprog.txt" while file_eof(1)<>1 file_readln 1,f$ if f$="abc" then gosub abc if f$="def" then gosub def end_while file_close 1
return
appli:
t$= mid$ (f$,3,3) :print_locate 10,155 :print t$
return
abc: item_add 110,"okabc" return
def: item_add 110,"okdef" return
Ce n'est pas plus simple d'utiliser, dans le fichier temporaire, une ligne terminée par CR LF pour chaque commande, au lieu d'être obligé de piquer des segments d'une chaîne de caractères qui se rallonge ? | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Dim 21 Avr 2013 - 11:40 | |
| merci Klaus cela dit ma problematique est de lire et d'executer les commandes une par une. par exemple , tu reçois un string 8 Bit par le port serie (merci pour ton aide sur ce coup là) et il faut extraire une partie de l'info pour la traiter. Sur ce programme là, je dois permettre l'ecriture simplifié a l'extreme d'une procedure qui rendra le robot autonome . on retrouve la façon d'agir de panoramic (programmation evenementiel si j'ai bien compris) je suis sur que les panoramicien vont vite comprendre qu'un robot ce programme comme autre chose. Il faut juste penser que c'est lui qui bouge | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 21:52 | |
| bonsoir a tous il semble que je sois dans une impasse je souhaite toujours faire partager aux plus jeunes les qualitées de panoramic pour cela il faut que la programmation soit simplifier je pense y arriver en creant des sub qui contiennent les instructions complexe jusque là cela marche cf ma minipelle pour lecriture encore grace a klaus plus de problemes maintenant je cherche a recuperer le fichier txt obtenu en l'interpretant. pour cela il faut le decouper par morceaux et pas a pas. là je ne trouve pas la formule magique les commande de lecture peuvent lire une ligne, tout le texte , mais pas la ligne numero 2 ou 3 ou i peut etre peut on avoir le code ou une solution detournée c'est une solution facile a exploiter car un editeur de texte peut visualiser le programme et ça c'est bien pour les tres jeunes merci d'avance, j'y retourne mindstorm | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 21:56 | |
| La solution la plus simple pour lire la ligne i d'un fichier texte, si l'on suppose que les lignes sont de longueur variable, est de fermer le fichier, réouvrir en lecture et lire i fois par file_readln. Je sais, ce n'est pas élégant, mais c'est simple, entièrement en Panoramic et peut être mis dans une procedure nommée LectureDirecte(i%), par exemple. | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 22:01 | |
| merci klaus j'y retourne mindstorm | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 22:06 | |
| super klaus un peut tordu pour mon esprit simplisime mais logique quand même cette solution me vas tres bien | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 22:08 | |
| L'autre solution est de mettre tout le fichier dans une liste est de lire dans cette liste les lignes une à une | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: appel routine a partir d'un fichier txt Sam 27 Avr 2013 - 22:23 | |
| Ou le charger dans une DLIST et de lire la ligne i par item_read dliste%,i%
Il y a tant de méthodes, seul compte l'affinité que l'on peut avoir pour l'une ou l'autre... | |
| | | mindstorm
Nombre de messages : 685 Age : 55 Localisation : charente Date d'inscription : 13/02/2013
| Sujet: Re: appel routine a partir d'un fichier txt Dim 28 Avr 2013 - 21:32 | |
| bonsoir a tous merci pour ces complements d'info je vais conserver le fichier texte pour permettre a un jeune utilisateur de visualiser voir imprimer le programme et surveiller les mouvements programmé. je vais quand même en profiter pour m'instruire et explorer vos pistes qui semblent plus souple merci encore mindstorm | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: appel routine a partir d'un fichier txt Dim 28 Avr 2013 - 22:02 | |
| Tu gardes le fichier texte, mais pour le traiter, tu le charges dans un DLIST pour pouvoir ligne les lignes une par une simplement en passant à l'enregistrement suivant dans la DLIST | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: appel routine a partir d'un fichier txt Dim 28 Avr 2013 - 22:23 | |
| - Jicehel a écrit:
- Tu gardes le fichier texte, mais pour le traiter, tu le charges dans un DLIST pour pouvoir ligne les lignes une par une simplement en passant à l'enregistrement suivant dans la DLIST
Comment peut-on ligner les lignes ? HA HA HA ! Bon, j'ai compris : tu veux dire : lire les lignes. Pardon Jicehel, ça me fait marrer! | |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| | | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: appel routine a partir d'un fichier txt Dim 28 Avr 2013 - 22:39 | |
| Mauvaise habitude celle-là ! Essaye d'utiliser un ou exclusif : « Lire le forum XOR regarder Barnaby »
Ce n'est pas parce que PANORAMIC ne reconnait pas ce XOR, qu'on s'interdit de l'utiliser!
PS : je suis de bonne humeur, alors ....
| |
| | | Contenu sponsorisé
| Sujet: Re: appel routine a partir d'un fichier txt | |
| |
| | | | appel routine a partir d'un fichier txt | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |