Page 1 sur 1

[R] Pb avec _StringToArray2D()

Posté : ven. 13 nov. 2015 11:31
par Hugues
Bonjour,

J'utilise la fonction _StringToArray2D() dans une boucle pour lire des fichiers. Cependant, la fonction ne met pas en forme un fichier alors que si je lis le fichier tout seul, la fonction le met bien en forme...

Si quelqu'un a une idée... Merci par avance.
► Afficher le texte

Re: [..] Pb avec _StringToArray2D()

Posté : ven. 13 nov. 2015 14:12
par mikell

Code : Tout sélectionner

    Local $hFileToRead2 = FileRead($DummyFile)
    $aReturns2 = _StringToArray2D($hFileToRead2, @CRLF, ";", 1)
Pourquoi ne pas utiliser directement _FileReadToArray ?
[Remarque accessoire] tu devrais éviter les déclarations de variables en Global dans des fonctions

Re: [..] Pb avec _StringToArray2D()

Posté : ven. 13 nov. 2015 14:42
par Hugues
Je n'utilise pas la fonction _FileReadToArray() car je veux créer un tableau en plusieurs dimensions pour récupérer les valeurs, or _FileReadToArray() ne me génère pas de tableau 2D (sûrement que je dois mal l'utiliser).

Exemple de fichier à lire:

http://autoitscript.fr/forum/viewtopic. ... a9dd2c5379

Re: [..] Pb avec _StringToArray2D()

Posté : ven. 13 nov. 2015 22:13
par mikell
A vue de nez (parce qu'on ne peut pas tester ton code) je dirais que le problème ne vient pas de _StringToArray2D
Je commencerais par enlever le Global de "Global $DummyFile = ..." et j'essaierais de débugger pas à pas avec des _ArrayDisplay ou autres

Re: [..] Pb avec _StringToArray2D()

Posté : lun. 16 nov. 2015 12:52
par Hugues
Je ne comprends pas... J'ai réécris mon code et j'ai toujours le même défaut... La fonction _StringToArray2D ne transforme pas mon fichier...
► Afficher le texte

Re: [..] Pb avec _StringToArray2D()

Posté : lun. 16 nov. 2015 22:58
par mikell
J'ai testé ce code sur les 2 premiers textes mentionnés dans l'autre topic
Il marche bien après correction d'une petite c... de syntaxe
► Afficher le texte
Donc le problème c'est certainement un petit truc, une bête histoire de chemin ou autre
T'as pas fait la débugation par étapes conseillée, eh ? Image

Re: [..] Pb avec _StringToArray2D()

Posté : mar. 17 nov. 2015 08:45
par Hugues
Arfff je crois que je viens de trouver...

Dans mon fichier qui "plante", je n'ai pas les ";"...

Fichier OK: 'Sant ='; 1.49 ;'mm NIO'
Fichier NOK: 'Sant =' 1,00 'mm IO'

Ma question est comment je peux gérer l'erreur sans que cela me fasse planter l'application?

Re: [..] Pb avec _StringToArray2D()

Posté : mar. 17 nov. 2015 14:06
par mikell
Fais une bonne gestion d'erreur à l'endroit précis du code où le résultat retourné peut provoquer un plantage
Par exemple si sur le fichier merdique StringToArray2D retourne une array 1D tu peux tester le UBound(...,2) - ou autre chose dans le genre

Re: [..] Pb avec _StringToArray2D()

Posté : mar. 17 nov. 2015 15:41
par Hugues
Yes, j'étais entrain de faire cette méthode ^^,

Code : Tout sélectionner

If UBound($aReturns, 2) < 2 Then
        $ScrapFile &= $aDummyListView1[$i][0]
        Return
 EndIf
Je sors de ma boucle dès que j'ai un fichier "corrompu", je stocke son nom et je le ou les affiche dans un label...

Re: [..] Pb avec _StringToArray2D()

Posté : mar. 17 nov. 2015 20:08
par mikell
Bin voilà... Résolu alors ? :mrgreen:

Re: [..] Pb avec _StringToArray2D()

Posté : mar. 17 nov. 2015 21:35
par Hugues
Oui, sujet résolu ^^