[R] Programme de tri alphabétique des lignes d'un .txt

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ThomasM
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mar. 15 nov. 2011 21:54
Status : Hors ligne

[R] Programme de tri alphabétique des lignes d'un .txt

#1

Message par ThomasM »

Bonjour , j'ai essayé de créer un programme qui tri les lignes du fichier texte qui lui est passé en argument.

Le voici :

Code : Tout sélectionner

#include <File.au3>

$file = $CmdLine[1]
$read = FileRead($file);on lit tout le fichier texte.
$line = StringSplit($read, @CR);on le separe suivant le caractere saut de ligne, le resultat est le tableau $line.
$n = $line[0]; $line[0] designe le nombre d'autre elements du tableau $line, soit le nombre de lignes du fichier texte.

For $i = 2 To $n
    For $j = $i To 2 Step -1
        If StringLen($line[$j-1]) = 0 Then 
            $stock = $line[$j-1]
            $line[$j-1] = $line[$j] ; on les echange. 
            $line[$j] = $stock
        Else
            If StringLen ($line[$j]) = 0 Then 
                
            Else
                If $line[$j-1] > $line[$j]  Then;Si la ligne en j est est devant celle en j-1 alphabetiquement, 
                    $stock = $line[$j-1]
                    $line[$j-1] = $line[$j] ; on les echange. 
                    $line[$j] = $stock
                EndIf
            EndIf
        EndIf       
    Next    
Next

$file = FileOpen($CmdLine[1],2)
For $c = 1 To $n
    FileWrite($file, $line[$c])
    FileWrite($file, @CR)
Next
 
Mais plusieurs problèmes subsistent :
- Le premier est que la première ligne se retrouve systématiquement placée en dernière,
- Les lignes vides se retrouvent placées au début.

J'ai chercher des solutions en vain. Que faire ?
Modifié en dernier par ThomasM le ven. 27 janv. 2012 21:51, modifié 1 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [...] Programme de tri alphabétique des lignes d'un .txt

#2

Message par matwachich »

J'aurai fait comme ça: (Sans aucune prise de tête!)
► Afficher le texte
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
ThomasM
Niveau 1
Niveau 1
Messages : 9
Enregistré le : mar. 15 nov. 2011 21:54
Status : Hors ligne

Re: [...] Programme de tri alphabétique des lignes d'un .txt

#3

Message par ThomasM »

Oui, question de goût. J'aime bien savoir ce que je fais et j'évite de trop faire appel aux fonctions prédéfinies quand je peux, surtout que je programme occasionnellement, et donc je ne me rappelle pas beaucoup de ces fonctions, et après c'est coton de se relire.

Par exemple, _FileReadToArray, je connaissais pas. J'ai réécrit le programme pour l'intégrer et paf ! Ca marche nickel. Merci beaucoup ;)
Répondre