[R] Formatage d'un fichier texte particulier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#16

Message par Tlem »

Dans la partie concernant le bouton OK, vous devriez lire chaque input sensé contenir un nom de fichier, contrôler si les fichiers existes.
Si une case est vide ou si un fichier n'existe pas, alors mettre la variable du chemin à vide.

Pour concaténer :
Faites une boucle de traitement sur les 4 fichiers.
Si Vide, ont passe, sinon lit ont les fichiers ligne par ligne ou par un tableau, puis ont fait le traitement.
Ensuite on ajoute le résultat à une variable.

Code : Tout sélectionner

$MaVar = $MaVar & $MaChaineTraitee & @CRLF
Il est vrais que dans l'exemple précédent, j'ai zappé cette partie car je croyais traiter un seul fichier à la fois.
Cette méthode permet de 'créer' le fichier de destination en mémoire.
Pour finir, il ne reste plus qu'à écrire cette chaîne dans le fichier de destination et le tour est joué.

Pour la partie avec le fichier .ini, je vous laisse faire, car en ce qui me concerne, je trouve qu'avec le nombre de choix possible et vu la gestion de fichiers multiples, cela ressemblera plus à une usine à gaz, qu'à un script simple.

PS : Il est inutile de garder l'historique de toutes les versions de votre script.
Editer la première version et à chaque modif indiquez le lien.
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#17

Message par pierrotm777 »

Bonjour,

Merci de votre réponse .

Je vais essayer aujourd'hui de tenir compte de vos conseils.

Je viens juste de réaliser que vous êtes aussi de Bordeaux.

Au plaisir
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#18

Message par pierrotm777 »

Bonjour,

Je pense avoir un peu travailler sur le sujet .

-J'ai réussi à récupérer tous les input
-Sur la concaténation j'ai bien gardé un test de bouton radio qui conditionne la somme des variables , mais si je choisi cet option ,
le soft ne va pas plus loin .
-Si je ne choisi pas dans le combo l'unité, M n'arrive pas par défaut .
-Seul le dernier fichier est pris compte quelque fichier que je choisisse.
-Dans le "A Propos" Je voudrais que le lien soit cliquable .

Pouvez vous m'aiguiller ?

Merci par avance d'un coup de pouce.
Fichiers joints
csv2gpsexec_mod2.au3
(12.4 Kio) Téléchargé 157 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#19

Message par Tlem »

Je n'ai mis aucun commentaire et je ne l'ai pas testé à fond, mais ceci devrait fonctionner :
► Afficher le texteCode
Je veux bien que le site soit cité dans la liste des crédits. ;)
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#20

Message par pierrotm777 »

Bonjour,

Et merci pour votre aide .
C'est exactement ce que je voulais .
Juste une remarque , dans le fichier concaténé , il n'y a pas de retour ligne entre chaque type de radar ce qui donne ceci:

57.6725,-2.00621,,,500,M,"RADAR_FIXE_60"16.15745,-61.58584,,,500,M,"RADAR_MOBILE_110" au lieu de ceci :

57.6725,-2.00621,,,500,M,"RADAR_FIXE_60"
16.15745,-61.58584,,,500,M,"RADAR_MOBILE_110"


J'ai donc modifié la ligne suivante :

Code : Tout sélectionner

FileWrite("Radars_Fusion.csv", $sRF & $sRM & $sRFR & $sZD)
par

Code : Tout sélectionner

FileWrite("Radars_Fusion.csv", $sRF & @CRLF & $sRM & @CRLF & $sRFR & @CRLF & $sZD)

Les lien de A Propos s'ouvrent dans la fenêtre A Propos au lieu du navigateur par défaut IE ou Firefox .

J'avais remarqué que dans le fichier ZD.csv trés peu de ligne avaient une vitesse de définie.
On se retrouvait alors avec des lignes du genre "ZONE_DANGEREUSE_" .

J'ai donc ajouté cette ligne de test dans la boucle ci-dessous :

Code : Tout sélectionner

For $i = 1 To $aRadars[0]
        $Var = StringSplit($aRadars[$i], ",")
        $Longitude = $Var[1]
        $Latitude = $Var[2]
        $Var2 = StringSplit($Var[3], '@"')
        $Vitesse = $Var2[3]
        [color=#FF0000]If $Vitesse = "" Then $Vitesse = 0[/color]
        $aRadars[$i] = $Latitude & ',' & $Longitude & ',' & $Mxhdg & ',' & $Mnhdg & ',' & _
                $Dst & ',' & $Unt & ',"' & $TypeRadar & "_" & $Vitesse & '"'
    Next
Ainsi , "ZONE_DANGEREUSE_" devient "ZONE_DANGEREUSE_0" lorsque aucune vitesse n'est trouvée .

Où puis-je trouver un exemple d'option de langage ? Je pensais par exemple à
la mise en place d'une option venant lire un fichier French.lang ou English.lang afin de rendre ce logiciel multilangue .

Pensez vous que la version finale intéresse ce forum , en ce cas il est à disposition .

Je compte ajoutez mes remerciement dans le à Propos , http://www.autoitscript.fr/forum/ , et votre pseudo , Tlem .

Voila , Je vous remercie encore beaucoup car j'ai beaucoup appris et je compte bien
persévérer avec votre aide .
Modifié en dernier par Tlem le sam. 07 févr. 2009 22:09, modifié 1 fois.
Raison : Ajout des balises de code
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#21

Message par Tlem »

Si le final vous convient, c'est l'essentiel.

Pour le multi-langage, vous avez plusieurs solutions.
Moi j'ai adopté celle-ci : http://www.autoitscript.fr/forum/viewto ... 501#p11501
Regardez les sources dans le fichier RDG.zip.
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#22

Message par pierrotm777 »

Bonjour Tlem ,

J'essai de réaliser une version de votre programme pour un format de fichier en entrée légèrement différent .

Mon format d'entrée est le suivant :
Longitude,Latitude,"NuméroPoi-Vitesse-TypeRadar"
  • -0.50264, 47.47646, "RD014"
    1.84840, 47.93970, "RD011"
    0.72227, 44.39856, "RF1033-050km/h-R"
    1.23701, 45.80560, "RF0164-050km/h-F"
    3.03310, 42.63783, "RF1448-050km/h-R"
    3.84144, 43.60896, "RF0431-050km/h-F"
    2.13442, 46.02538, "RF1475-050km/h-F"
et ma boucle modifiée la suivante :

Code : Tout sélectionner

Func _DoIt2($aRadars2, $TypeRadar2, $Unt2, $Mxhdg2 = 0, $Mnhdg2 = 0, $Dst2 = 0)
    Local $j, $Var, $Var2, $Longitude2, $Latitude2, $Vitesse2
    For $j = 1 To $aRadars2[0]
        $Var = StringSplit($aRadars2[$j], ",");sépare en 3 éléments
        $Longitude2 = StringReplace($Var[1], " ", "");efface espace dans le résultat
        $Latitude2 = StringReplace($Var[2], " ", "");efface espace dans le résultat
        $Var2 = StringSplit($Var[3], '-"');sépare le 3ème élément en 3 éléments
        $TypeRadar2 = $Var2[3];devrais récupérer le 3ème élément du 1er 3ème element
        $Vitesse2 = $Var2[2];devrais récupérer le 2ème éléments du 1er 3ème élément
        $Vessai = $Var2[1]
        If $TypeRadar2 = "" Then $TypeRadar2 = 0
        If $Vitesse2 = "" Then $Vitesse2 = 0
;       MsgBox (4096, "La vitesse est de :" ,$TypeRadar2)
        $aRadars2[$j] = $Latitude2 & ',' & $Longitude2 & ',' & $Mxhdg2 & ',' & $Mnhdg2 & ',' & _
                $Dst2 & ',' & $Unt2 & ',"' & $TypeRadar2 & "_" & $Vitesse2 & '"'
    Next
et voici ce que j'obtient en sortie :
Latitude,Longitude,MinHdg,MaxHdg,Distance,Unité,Vitesse_NuméroPoi
  • 47.47646,-0.50264,,,,KM,"0_RD014"
    47.93970,1.84840,,,,KM,"0_RD011"
    47.93915,1.84867,,,,KM,"0_RD004"
    47.98674,1.85758,,,,KM,"0_RD010"
    44.66367,-0.38435,,,,KM,"050km/h_RF0017"
    45.80171,-0.13479,,,,KM,"050km/h_RF0825"
    44.85568,-0.10974,,,,KM,"050km/h_RF0255"
    44.85175,0.02923,,,,KM,"050km/h_RF0794"
    44.50250,0.16778,,,,KM,"050km/h_RF0168"
    44.39856,0.72227,,,,KM,"050km/h_RF1033"
    45.80560,1.23701,,,,KM,"050km/h_RF0164"
Où est mon erreur ?

Peut être une erreur de déclaration de mon tableau ?
Il ne me manquerait pas la variable $Typeradar2 ?

Merci de votre aide

Pierre
Modifié en dernier par pierrotm777 le mar. 10 févr. 2009 16:05, modifié 5 fois.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#23

Message par Tlem »

Quelques problèmes dans votre message :

1 - Entre ce que vous décrivez en première partie et entre l'exemple fourni, il n'y à pas de corrélation ! :(

2 - Vous n'êtes pas obligé de mettre 37 lignes d'exemples. 5 devrait suffire.

3 - Vous n'avez pas utilisé la balise de code pour votre ... code. :shock:

Corrigez votre message.
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#24

Message par pierrotm777 »

Bonjour Tlem,

J'ai tenté de modifier un peu la fonction _DoIt2

Code : Tout sélectionner

Func _DoIt2($aRadars2, $TypeRadar2, $Unt2, $Mxhdg2 = 0, $Mnhdg2 = 0, $Dst2 = 0)
    Local $j, $Var, $Var2, $Longitude2, $Latitude2, $Vitesse2 
    For $j = 1 To $aRadars2[0]
        $Var = StringSplit($aRadars2[$j], ",");sépare en 3 éléments
        $Longitude2 = StringReplace($Var[1], " ", "");efface espace dans le résultat
        $Latitude2 = StringReplace($Var[2], " ", "");efface espace dans le résultat
        $Var2 = StringSplit($Var[3], '-"');sépare le 3ème élément en 3 éléments
        $Vitesse2 = StringReplace($Var2[3], "km/h" , "");devrais récupérer le 2ème éléments du 1er 3ème élément
        $TypeRadar2 = $Var2[2];devrais récupérer le 3ème élément du 1er 3ème element
        $Nom_Poi2 = $Var2[1]
        If $TypeRadar2 = "" Then $TypeRadar2 = 0
        If $Vitesse2 = "" Then $Vitesse2 = 0
        If $Nom_Poi2 = "" Then $Nom_Poi2 = 0
;       MsgBox (4096, "La vitesse est de :" ,$Vitesse2)
        $aRadars2[$j] = $Latitude2 & ',' & $Longitude2 & ',' & $Mxhdg2 & ',' & $Mnhdg2 & ',' & _
                $Dst2 & ',' & $Unt2 & ',"' & $TypeRadar2 & "_" & $Vitesse2 & '"'
    Next
mais pour le format d'entrée ci-dessous :
Longitude,Latitude,"NuméroPoi-Vitesse-TypeRadar"
7.16626, 48.26463, "RF1582-050km/h-R"

je devrais avoir RF1582 dans $Var2[1] , 050 dans $Var2[2] et R dans $Var2[3] .

Je ne comprends pas cette ligne :
$Var2 = StringSplit($Var[3], '-"') ou du moins '-"' alors que "-" devrais suffir ?

Je sèche !!!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#25

Message par Tlem »

pierrotm777 a écrit :Je sèche !!!
Ha bon ...
Vous êtes mouillé ? :mrgreen:
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#26

Message par pierrotm777 »

Oui je patoge !!!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#27

Message par Tlem »

A condition que la valeur d'entrée soit formatée comme ceci : 7.16626, 48.26463, "RF1582-050km/h-R"
pour la troisième partie, le type de radar doit être en 2 lettres puis le numéro de radar en 4 chiffres puis le trait d'union et enfin la vitesse en 3 chiffres, alors ceci devrait fonctionner (A adapter si nécessaire) :

Code : Tout sélectionner

    For $j = 1 To $aRadars2[0]
        $aRadars2[$j] = StringReplace($aRadars2[$j], ' ', '') ; On vire les espaces de la chaine.
        $aRadars2[$j] = StringReplace($aRadars2[$j], '"', '') ; On vire les guillemets parasites.
        
        $Var = StringSplit($aRadars2[$j], ",") ; On sépare en 3 éléments
        
        $Longitude2 = $Var[1]
        $Latitude2 = $Var[2]
        
        $Var2 = StringSplit($Var[3], '-') ; On Sépare le 3ème élément en 3 éléments
        $Vitesse2 = StringLeft($Var2[2], 3) ; On récupére les 3 premiers caractères du 2ème éléments
        $TypeRadar2 = StringLeft($Var2[1], 2) ; On récupére les 2 premières lettre du 1er élément
        $Nom_Poi2 = StringRight($Var2[1], 4) ; On récupère les 4 derniers chiffre du 1er élément.
        
        
        If $TypeRadar2 = "" Then $TypeRadar2 = 0
        If $Vitesse2 = "" Then $Vitesse2 = 0
        If $Nom_Poi2 = "" Then $Nom_Poi2 = 0

        $aRadars2[$j] = $Latitude2 & ',' & $Longitude2 & ',' & $Mxhdg2 & ',' & $Mnhdg2 & ',' & _
                $Dst2 & ',' & $Unt2 & ',"' & $TypeRadar2 & "_" & $Vitesse2 & '"'
    Next
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#28

Message par pierrotm777 »

Voila ce que j'obtient !!


C:\tmp\AutoIt\Csv2Gpsexec\csv2gpsexec_essai_lang_2.au3 (531) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$Vitesse2 = StringLeft($Var2[2], 3)
$Vitesse2 = StringLeft(^ ERROR
->17:16:30 AutoIT3.exe ended.rc:1
+>17:16:31 AutoIt3Wrapper Finished

On dirait que l'on utilise plus de variable qu'il n'y en a de définit ..
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#29

Message par Tlem »

Comme je l'ai dit, tout dépend de ce qui est mis en entrée.
J'ai dit aussi qu'il faudrait sans doute adapter ... :roll:
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#30

Message par pierrotm777 »

Bonjour Tlem,
Effectivement , je n'avais pas bien réalisé que votre fonction fonctionne
parfaitement avec le format mentionné .

Le programme sort seul uniquement si il manque :

$Var2[2] et $Var2[3] (voir ex: en rouge ci-dessous)

1.90817, 48.52327, "RD007"
2.41893, 48.76256, "RF0052-030km/h-F" .

Hors ce fichier comporte en entrée quelques lignes avec uniquement RD puis 3 chiffres .

Je pensais donc m'en accommoder en faisant un test sur $Var2[2] et $Var2[3] et si vides ,
leur attribuer une valeur afin que le traitement suivant soit possible .

Je voyais ce test comme suit :

Code : Tout sélectionner

$Var2 = StringSplit($Var[3], '-') ; On Sépare le 3ème élément en 3 éléments
        [color=#FF0000]If $Var2[2] = "" Then $Var2[2] = "000";donne la valeur 000 à $Var2[2]
        If $Var2[3] = "" Then $Var2[3] = "0";donne la valeur 000 à $Var2[3][/color]
        $Vitesse2 = StringLeft($Var2[2], 3) ; On récupére les 3 premiers caractères du 2ème éléments
        $TypeRadar2 = StringLeft($Var2[1], 2) ; On récupére les 2 premières lettre du 1er élément
        $Nom_Poi2 = StringRight($Var2[1], 4) ; On récupère les 4 derniers chiffre du 1er élément.
Mais le programme me renvoie ceci:

C:\tmp\AutoIt\Csv2Gpsexec\csv2gpsexec_essai_lang.au3 (513) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
If $Var2[2] = "" Then $Var2[2] = "000"
If ^ ERROR
->14:17:48 AutoIT3.exe ended.rc:1
+>14:17:49 AutoIt3Wrapper Finished
>Exit code: 1 Time: 7.258

Je plane !!!
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#31

Message par Tlem »

Pour essayer de trouver un traitement optimal, il serait bien que vous donniez l'intégralité des données susceptibles de nous intéresser.

Sur les chaînes d'entrée, tel que celles ci :
1.90817, 48.52327, "RD007"
2.41893, 48.76256, "RF0052-030km/h-F"
Puisque pour la longitude et la latitude il n'y à aucun problème, c'est sur la troisième partie qu'il faut ce concentrer.

Le type et le numéro de radar peuvent être indiqués comment ?
Le type => Quels sont les types possible (RD RF ZD ...) ?
Le numéro du radar => Sur 1, 2, 3 , 4 chiffres ?
Si la vitesse est indiquée, est-elle toujours séparée par le trait d'union ?
La vitesse est-elle toujours représentée par un nombre à 3 chiffres ?

Voilà avec les bases bien misent à plat, on devrait pouvoir s'en sortir.
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#32

Message par pierrotm777 »

Bonjour Tlem,
Et merci encore de votre patience .

Je suis contient d'un manque de donnée de départ sur ce format ,
mais je ne pensais pas alors que le manque des 2 derniers champs nous poserais
un problème sur le reste du fichier car effectivement , boucle fonctionne pour
un format d'entrée tel que la deuxième ligne .

En fait je ne souhaite garder que 'type radar' et vitesse .
radarF.csv peut contenir ceci:
1.90817, 48.52327, "RD007" ; RD = ???
2.41893, 48.76256, "RF0052-030km/h-F" ;RF = radar fixe
4.31530, 48.96238, "RF1282-050km/h-R"
-0.70400, 44.74477, "RPL001-130km/h-F" ;RPL = radar poids lourd
Le numéro ne m'intéresse pas mais il a soit 3 ou 4 caractères .

Pour rester simple , le traitement final doit aboutir au même type de format que pour AlertGps.com ,
soit :
48.52327,1.90817,"RADAR_FIXE_0"
48.76256,2.41893,"RADAR_FIXE_030"
48.96238,4.31530,"RADAR_FIXE_050"
44.74477,-0.70400,"RADAR_FIXE_130"

radarM.csv peut contenir cela:
-4.55262, 48.44663, "RM00001-090km/h"
-4.51332, 48.41050, "RM00002-050km/h"
Ici le numéro a toujours 5 caractères .

De même , le traitement final donnera ici:
48.44663,-4.55262,"RADAR_MOBILE_090"
48.41050,-4.51332,"RADAR_MOBILE_050"

Pour radarM cela me semble plus facile car le format est toujours le même
sauf qu'il est encore différent de radarF .

Je pense que la boucle doit tester si le contenu est bien celui de radar fixe pour radarF.csv ,( test sur RD,RF,RPL)
et que le contenu de radarM.csv est bien des radars mobiles , (test sur RM) .

Mon idée est donc de créer une fonction _DoIt2RM et de l'associer uniquement à:

Code : Tout sélectionner

If IsArray($aRM2) Then
    $aRM2 = [color=#FF0000]_DoIt2RM[/color]($aRM2, "RADAR_MOBILE", $Unites2, $Maxhdg2, $Minhdg2, $Distance2)
    $sRM2 = _ArrayToString($aRM2, @CRLF)
EndIf
et de garder votre premiere boucle _DoIt2 mais à adapter pour :

Code : Tout sélectionner

If IsArray($aRF2) Then
    $aRF2 = [color=#FF0000]_DoIt2[/color]($aRF2, "RADAR_FIXE", $Unites2, $Maxhdg2, $Minhdg2, $Distance2)
    $sRF2 = _ArrayToString($aRF2, @CRLF)
EndIf
Hoo , ça commence à chauffer !! :lol:

J'aurais voulu rajouter un test sur le contenu du fichier RF et RM par exemple afin d'interdire
le traitement d'un fichier RF dans la box RM et inversement , du genre :
MsgBox(64, "Fichier incompatible !!!", "Choisissez uniquement" & @CRLF & "un fichier radarsF.csv") , mais je ne vois pas bien où la placer !
L'idéal serait dés le FileOpenDialog .

Merci encore pour votre aide
Pierre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#33

Message par Tlem »

Bon, j'ai bien une idée, mais il me faut un peut de temps pour la peaufiner et la tester.

RD signifie Radar de distance.
N'avez vous pas dans ce fichier le type RFR (Radar Feu Rouge) ?
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é".
pierrotm777
Membre émérite
Membre émérite
Messages : 770
Enregistré le : sam. 11 oct. 2008 14:44
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#34

Message par pierrotm777 »

Non,

Je ny vois que RD ou Rf ou RPL .

Je vous joint les fichiers radars F et M pour un test plus facile.

Pierre
Fichiers joints
radarF&M.zip
(101.12 Kio) Téléchargé 72 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Formatage d'un fichier texte particulier

#35

Message par Tlem »

Bon, alors voici une fonction qui me semble universelle pour le format de tout les fichiers :
► Afficher le texte
La première partie n'est là que pour vous montrer le résultat par rapport aux éléments que vous m'avez donné.
Je pense que cette fonction va simplifier votre code car elle reprend plusieurs de vos fonctions.
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