Sortieren von Zeichen in einer .txt datei.

03/04/2012 16:48 momk#1
Ich möchte:
Das eine Textdatei in der mehrere verschiedene Sachen stehen so bearbeitet wird, das am Ende wenn zum Beispiel 2x das gleiche in dieser Datei steht am Ende, in der Ausgabe der neuen Datei, nur einmal dort vorhanden ist.

Ein Code der geholfen hat aber nicht 100% meinen Ansprüchen entspricht hier:
Code:
#include <array.au3>
Dim $array[10]=[COLOR="Red"]["Affe","Giraffe","Affe","Hund","Hund","Maulwurf","Maulwurf","Giraffe","Giraffe","Affe"][/COLOR]
$filtered = RemoveDouble($array)
_ArrayDisplay($filtered)

Func RemoveDouble($array)
	Local $return[1]=[$array[0]], $ubound
	For $i=1 To UBound($array)-1
		If Not inArray($return, $array[$i]) Then
			$ubound = UBound($return)
			ReDim $return[$ubound+1]
			$return[$ubound]=$array[$i]
		EndIf
	Next
	Return $return
EndFunc

Func inArray($array, $element)
	For $i=0 To UBound($array)-1
		If $array[$i]=$element Then Return True
	Next
	Return False
EndFunc
Wobei ich denke das das Rot Makierte in eine Funktion umgewandelt werden muss welche bewirkt das alle Sachen, die in der Text Datei vorhanden sind in das Array gespeichert werden.
03/04/2012 16:55 butter123#2
wie ist die txt aufgebaut?
03/04/2012 17:19 momk#3
Quote:
Originally Posted by butter123 View Post
wie ist die txt aufgebaut?
in Zeilen. Beispiel:
Haus
Maus
Hund
Katze
Maus
Haus
Katze
Hund
Maus

(nur halt mit anderen begriffen)
03/04/2012 20:18 lolkop#4
ganz ehrlich, wenn du das trotzdem meinem beispielcode nicht schaffst, solltest du dir vielleicht mal die grundlagen über autoit anschauen, bzw die grundlagen über programmierung allgemein...
03/04/2012 20:53 momk#5
Ich machs ja schon.
Hatte keinen Bock mich damit auseinander zusetzen.

Fertiger Code:
Code:
#include <File.au3>
#include <array.au3>
Global $Datei = "Test.txt"
Dim $array
_FileReadToArray($Datei,$array)
$filtered = RemoveDouble($array)
_ArrayDisplay($filtered)

Func RemoveDouble($array)
	Local $return[1]=[$array[0]], $ubound
	For $i=1 To UBound($array)-1
		If Not inArray($return, $array[$i]) Then
			$ubound = UBound($return)
			ReDim $return[$ubound+1]
			$return[$ubound]=$array[$i]
		EndIf
	Next
	Return $return
EndFunc
Func inArray($array, $element)
	For $i=0 To UBound($array)-1
		If $array[$i]=$element Then Return True
	Next
	Return False
EndFunc