[R] Liste trop longue, Unterminated string.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
julienduhavre
Niveau 2
Niveau 2
Messages : 23
Enregistré le : dim. 28 mars 2010 19:23
Localisation : Le Havre
Status : Hors ligne

[R] Liste trop longue, Unterminated string.

#1

Message par julienduhavre »

Bonjour, j'ai enfin fini la liste de mes prénoms, mais voila , je souhaite qu'un prénom soit sélectionner au hasard .

J'ai déja fait
► Afficher le texte
Mais sans succès, il me donne l'erreur suivante: Error: Unterminated String.

Comment puis-je faire? :cry:

Je vous remercie d'avance.
Modifié en dernier par julienduhavre le jeu. 08 avr. 2010 23:15, modifié 1 fois.
I love programmer :)
GMib
Niveau 4
Niveau 4
Messages : 57
Enregistré le : sam. 23 janv. 2010 12:39
Status : Hors ligne

Re: [..] Liste trop longue, Unterminated string.

#2

Message par GMib »

Le plus simple serai de les garder dans le fichier txt. ;)

fait un random entre 1 et le nombre de ligne du fichier puis lit la ligne retourné par le random.

fonction utile :
_FileCountLines
FileReadLine
Avatar du membre
julienduhavre
Niveau 2
Niveau 2
Messages : 23
Enregistré le : dim. 28 mars 2010 19:23
Localisation : Le Havre
Status : Hors ligne

Re: [..] Liste trop longue, Unterminated string.

#3

Message par julienduhavre »

Pourrait-tu m'éclairé plus car je débute :? .
I love programmer :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Liste trop longue, Unterminated string.

#4

Message par Tlem »

Ceci serait plus simple à mettre à jour. ;)
Fichiers joints
Noms.zip
(5.49 Kio) Téléchargé 84 fois
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
julienduhavre
Niveau 2
Niveau 2
Messages : 23
Enregistré le : dim. 28 mars 2010 19:23
Localisation : Le Havre
Status : Hors ligne

Re: [..] Liste trop longue, Unterminated string.

#5

Message par julienduhavre »

Je te remercie infiniment, grâce a toi je comprend mieux le fonctionnement ;).


Merci encore.
I love programmer :)
GMib
Niveau 4
Niveau 4
Messages : 57
Enregistré le : sam. 23 janv. 2010 12:39
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#6

Message par GMib »

Ah oui c'est encore plus simple avec _FileReadToArray ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#7

Message par Tlem »

Juste pour info car j'avais oublié de donner l'explication du problème, il faut savoir que l'attribution d'une chaine comme vous l'avez fait à une limite.
Une ligne de code ne doit pas dépasser 4095 caractères (http://www.autoitscript.fr/autoit3/docs ... faults.htm).

Si vous voulez faire une ligne trééééééééééééés lonnnnnnngue, alors vous devez utiliser des astuces tel que le fait de couper une ligne avec le caractère de continuation '_' ou tout simplement lors d'attribution de variable, coupé la chaine en plusieurs parties, puis en additionnant les morceaux bout par bout. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#8

Message par jchd »

Taille des lignes AutoIt :

Il n'y a plus de limite depuis, un certain temps. J'ai fortement contribué à violer Jon (heu, à distance, hein !) pour qu'il s'y colle et c'est fait depuis la AutoIt v3.3.3.2 (Beta) du 08/01/2010.

Pour la petite histoire, la limite ne s'appliquait pas aux lignes d'éditeur, mais à la ligne d'instruction présentée à l'intrepréteur. Donc l'astuce de la continuation n'y changeait rien et c'est précisément pour cette raison que la chose était particulièement gênante (initialiser une array un peu grosse, par exemple).

Donc je constate qu'il y a peu de bons élèves qui font leurs gammes avec du matériel aux normes, ici ! :lol:
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#9

Message par Tlem »

Si vraiment il n'y à plus de limite sur la ligne de commande, il faudra donc encore violer Jon un petit peut. :lol:
Car la doc n'est pas à jour dans ce cas : http://www.autoitscript.com/autoit3/doc ... faults.htm
Y compris dans le fichier d'aide. :P
jchd a écrit :Donc je constate qu'il y a peu de bons élèves qui font leurs gammes avec du matériel aux normes, ici ! :lol:
Si le matériel fournit n'est pas à jour, il est difficile de faire les gammes correctement. :roll:

De plus je ne parle pas de la continuation de ligne comme une solution pour résoudre le problème, mais plutôt comme une solution d'écriture/lecture de ligne 'trééééééééééééés lonnnnnnngue' totalement imbuvable si écrite en une seule fois (ce qui est le cas dans le premier message de julienduhavre). ;)

Edit : Étant par nature assez curieux, je me suis 'amusé' avec le code de julienduhavre afin de vérifier certaines choses.
Je joint un fichier à ce message afin d'illustrer mes constatations :
1 - Si le code de julienduhavre est mis de telle sorte que pas une ligne de code ne dépasse 4095 caractères , et bien ce code fonctionne.

2 - Si je crée une ligne de code de 4096 caractères, alors celle ci produite une erreur : Missing right bracket ')' in expression. (le crochet étant le caractère 4096, il n'est donc pas reconnu).
Si dans le même temps, je crée une ligne de code de 4097 caractères, alors celle ci produite une erreur : Unterminated string. (Hé ben voui, il manque le guillemet et le crochet :roll: ).
Amusez vous avec la ligne 12 du code joint. Modifiez le dernier mot (hé oui Jean Pierre ...) qui se nomme 'Timxx' en enlevant ou ajoutant des caractères afin de voir le résultat.
Fichiers joints
Test1.au3
(21.29 Kio) Téléchargé 90 fois
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#10

Message par jchd »

Wouha, va falloir encore batailler un peu alors. 'Goude catch', comme on dit sur certains rings.

Ceci dit, la limite que l'on rencontre ici est plus cosmétique qu'autre chose car on peut (maintenant) couper et continuer à la ligne suivante. Par contre, je doute fortement de faire aboutir la demande car elle n'apporte rien en pratique (je ne vois pas comment créer un token insécable et réaliste de plus de 4095 caractères, ou même octets).

Jon, descend de ton cheval mécanique flambant neuf et viens voir par ici !

Pour la doc, certes, c'est un souci car elle demande beaucoup de temps et d'attention et, malheureusement, le temps ne s'achète pas.
Par contre la doc est correcte sur ce point, parlant de ligne de script et non pas de longueur d'instruction ! Et du coup, plus de raisons de ne pas travailler son solfège (et disant cela, je ne vise pas Thierry, que ça soit clair).

On se rattrape comme on peut, hein...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11824
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Liste trop longue, Unterminated string.

#11

Message par Tlem »

jchd a écrit :Ceci dit, la limite que l'on rencontre ici est plus cosmétique qu'autre chose
Cela aurait été bien, mais même sans passer par Scite (en lançant le script directement), on retrouve les mêmes erreurs.
jchd a écrit :je ne vois pas comment créer un token insécable et réaliste de plus de 4095 caractères, ou même octets).
Et si tout simplement la longueur de chaine était analysée pour retourner un message plus explicite tel que : 'String too long (4095 chars)'.
jchd a écrit :Pour la doc, certes, c'est un souci car elle demande beaucoup de temps et d'attention et, malheureusement, le temps ne s'achète pas.
Ca s'est sur et j'en sait quelque chose. ;)
jchd a écrit :Par contre la doc est correcte sur ce point, parlant de ligne de script et non pas de longueur d'instruction !
Oui, c'est bien ce que j'avais dit. ;)
Tlem a écrit :Une ligne de code ne doit pas dépasser 4095 caractères
jchd a écrit :On se rattrape comme on peut, hein...
Attention aux branches. :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre