WinCC Sortieren mit VBS

xsin0ne

Level-1
Beiträge
1
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Gemeinde,

eure Beiträge haben mir schon einige Male weiter geholfen, diesmal hab ich allerdings keine Lösung bis dato gefunden.
Ich möchte von einem KP900 Comfort Panel mit VBS auf eine CSV-Datei mit archivierten Werten zu greifen (bis zu 3000 Werte pro Spalte). Anschließend möchte ich die 5 höchsten Werte aus einer Spalte (Typ INT) in ein Array speichern. Doppelt vorkommende Werte sollen nicht mit in das Array aufgenommen werden.
Ein Beispiel: in der CSV steht untereinander: 2, 6, 3, 6, 7, 2, 10, 8 , 1
das Array soll mit dem größten beginnend so aussehen: 10, 8, 7, 6, 3

Mein aktuelles Skript sortiert bereits die Werte, aber meine Versuche die Doppelten zu ignorieren und nicht mit ins Array zu schreiben, sind bis jetzt gescheitert.
Mein Code sieht wie folgt aus:

mode=1
path="\Storage Card USB\15minArchive.csv"
delimiter=","

Set fo=CreateObject("FileCtl.File")

fo.open path, mode

data=fo.lineinputstring 'Kopfzeile überspringen

While fo.EOF = False
data=fo.lineinputstring
splitdata=split(data, delimiter)
i=0

If array(4) < splitdata(2) then​
array(4)=splitdata(2)​
For i=0 to 4​
For j=i+1 to 4​
If array(i)<array(j) then
temp=array(i)
array(i)=array(j)
array(j)=temp
End If​
next​
next​
end if
Wend
fo.close
Set fo=Nothing
 
Zurück
Oben