| Un nouveau casse tête chinois | |
|
|
|
Auteur | Message |
---|
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: Un nouveau casse tête chinois Ven 21 Sep 2012 - 23:09 | |
| j'ai fais un sub - Code:
-
sub Langue() Dim_Local x%,s$ Restore Read s$ While s$<>Pay$ :' Pay$=Variable globale définit en avant par ("France") Read s$ End_While For x%=1 to 3: Read def$(x%) :Next x% :' def$(100) tableau déclaré dans les variables globales End_Sub
' ----------------------------------------------------------------------------- ' DATAS LANGUE ' ----------------------------------------------------------------------------- Data "France" Data "x" Data "y" ..... Je tourne en rond depuis plus d'une heure et je suis toujours "OUT OF DATA" sur le "read" dans la boucle "while...." Edit : Je vous ai mis le source complet sur mon webdav ( New Panoramic Project )
Dernière édition par ygeronimi le Ven 21 Sep 2012 - 23:54, édité 1 fois | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: Un nouveau casse tête chinois Ven 21 Sep 2012 - 23:17 | |
| Si je prend ton exemple: tu commences par faire un read s$ avant le while donc "France" est lue (donc consommée) tu ne rentre pas dans ton while puisque s$ = pay$ après tu fais une boucle FOR pour lire 3 valeurs, or il ne t'en reste que 2 : x et y
| |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Ven 21 Sep 2012 - 23:38 | |
| @Ygeronimi Nardo26 a tout expliqué, il n’y a aucune tête chinoise à casser ! - ygeronimi a écrit:
Je tourne en rond depuis plus d'une heure et je suis toujours "OUT OF DATA" sur le "read" dans la boucle "while...."
Comme tu l’as si bien expliqué ailleurs : la reponse se trouve presque toujours dans ta question !!! | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 21 Sep 2012 - 23:53 | |
| Et personne n'a regardé le source original .... J' ai mis un extrait des 5563 lignes J'ai essayé de mettre la boucle dans un "if...end_if" pour sauter la boucle ( on va être 150 connectés sur ce coup là ) et que nenni, toujours "out of data" les datas ne sont pas tous là, en fait ils sont 8, la boucle for n'est pas en cause. @ Nardo, ben justement si s$ = pay$ je devrais passer au "end_while" et pas être "out of data" sur son "read"
Dernière édition par ygeronimi le Ven 21 Sep 2012 - 23:57, édité 1 fois | |
|
| |
Nardo26
Nombre de messages : 2294 Age : 55 Localisation : Valence Date d'inscription : 02/07/2010
| |
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Ven 21 Sep 2012 - 23:59 | |
| Bonneu ...nuiiit... heu ...y a beaucoup de data dans toutes ces lignes... | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 0:43 | |
| @Ygeronimi j’ai cherché le programme sur ton WebDAv. L’erreur est la suivante : Dans la boucle WHILE s$ <> t$ …. s$ <> t$ est TOUJOURS VRAIE ce qui fait que l’on ne sort JAMAIS de la boucle de lecture jusqu’à epuisement de toutes les DATA puis c’est l’erreur. Pour en sortir , modifie la ligne 62 ainsi - Code:
-
While s$<>t$ and s$<> "FIN"
et ajoute une ligne DATA "FIN" juste après DATA "créer" ET TOUT MARCHERA BIEN | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 1:35 | |
| Merci Papydall, mais il y a un truc de pas net Normalement : read s$ doit lire le premier dataaprès la boucle dit : While s$<>t$ donc tant que s$ est différent de t$read s$ lire le data suivant et le placer dans s$end_while sinon sortir de la boucledonc le read s$ de la boucle ne devrait pas s'exécuter tout comme pour la boucle de reconstruction de l'image qui, elle, fonctionne. Edit : avec ta méthode la boucle for qui suit est erronée, la boucle while s'arrête sur le read "Fin" alors que les données à récupérer sont avant le read "Fin" | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 1:56 | |
| J'ai bidouillé une parade avec ta méthode mais ce n'est pas normal: - Code:
-
dim def$(100),Pay$ ..... sub langue(pay$) dim_local s$,c% c%=0 read $ While s$<>pay$ and s$<>"Fin" c%=c%+1 read s$ def$(c%)=s$ end_while end_sub
les datas
data "France" .... data "Fin" | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 2:37 | |
| L’erreur se trouve en ligne 31 - Code:
-
Donnee$=String$(255," ")
Tu définis DONNEE$ par 255 espaces : donc sa longueur est 255 L’appel à la DLL te renvois dans la variable DONNEE$ ‘France’ qui contient 6 caractères et le reste 249 espaces !! En ligne 34 tu affectes Donnee$ à pay$ pay$ contient donc non pas ‘France’ mais ‘France’+249 espaces Pour te convaincre, ajoute en ligne 34 : message len(pay$) : il te donnes 255 ! Dans la boucle WHILE , s$ est donc toujours différent de t$,(s$ contient "France" alors que t$ contient "France" +249 espaces et on ne sort plus de la boucle jusqu’à épuisement des lignes DATA et l’erreur. En résumé : modifie la ligne 34 comme ceci (pour supprimer les espaces superflus) - Code:
-
Pay$=trim$(Donnee$)
Et ça doit marcher PS : Oublie le post précédent où il est question de DATA "FIN"
Dernière édition par papydall le Sam 22 Sep 2012 - 3:00, édité 1 fois | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 2:58 | |
| | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 3:04 | |
| j'ai édité mon precédent post | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 3:15 | |
| - Code:
-
Sub Init_Langue() Dim_Local s$,x%,c% c%=0 Restore Read s$ While s$<>trim$(Pay$) Read s$ End_While for x%=1 to 5 :read def$(x%):Next x% End_Sub | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 3:20 | |
| Au début, je n’ai pas soupçonné la DLL qui contient manifestement un mini bug (non pas notre ami Minibug !) J’ai passé beaucoup de temps à analyser le programme avant de découvrir le pot aux roses (le bug de la DLL). Mais ça m’a été bénéfique : j’ai appris quelque chose grâce à toi Ygeronimi. Alors faits des bugs autant que tu veux (ou peux !!) Ça ne peut que nous faire avancer. | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: RE Sam 22 Sep 2012 - 3:40 | |
| Ca va nous coûter cher en café cette affaire... ...et en heures de sommeil Edit : c'est pas la première fois que je me fais avoir mais à chaque fois je retombe dans le panneau le problème c'est le temps entre l' utilisation de la variable par la dll et le moment de son affectation à une procédure, on oublie le coup du string$(255," ") Sur ce, je vais me faire une heure ou deux de Bonne nuit Papydall | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 11:00 | |
| Au fait...il est passé où minibug ? Serait il est devenu invisible ? | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 11:10 | |
| Peut être qu’il se débat avec un MAXI BUG ! | |
|
| |
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 11:42 | |
| A moins qu'il ne soit devenu invisible ... | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| |
| |
Jicehel
Nombre de messages : 5947 Age : 51 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 13:37 | |
| | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 13:55 | |
| Jicehel, ton message est ultra optimisé ! Court, net et précis. Pas le moindre BUG ni MINI ni MAXI | |
|
| |
Minibug
Nombre de messages : 4566 Age : 57 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 19:06 | |
| Bonjour a tous !! désolé pour cet absence de 15 jours... j'ai déménagé et en plus lors du réaménagement je n'avait plus de synchro sur la box. enfin bref me voila de retour avec plein de nouvelles fonctions de jack que je découvre avec grand plaisir. donc pas d'inquiétude, le (mini)bug est toujours la. ha ha !! | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 19:54 | |
| Voila une bonne nouvelle! | |
|
| |
Yannick
Nombre de messages : 8610 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: re Sam 22 Sep 2012 - 20:02 | |
| | |
|
| |
papydall
Nombre de messages : 7003 Age : 73 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Un nouveau casse tête chinois Sam 22 Sep 2012 - 20:25 | |
| | |
|
| |
Contenu sponsorisé
| Sujet: Re: Un nouveau casse tête chinois | |
| |
|
| |
| Un nouveau casse tête chinois | |
|