fb:porticula NoPaste
CSV-Codebeispiel WLAN-Liste
Uploader: | Sebastian |
Datum/Zeit: | 08.09.2013 12:52:39 |
Const Dateiname = "wlanliste.csv"
TYPE tDatensatz
MACAdresse As String
Hostname As String
WLANGruppe1 As UByte
WLANGruppe2 As UByte
WLANGruppe3 AS UByte
END TYPE
DIM AS String temp
DIM AS Integer lineCount = 0, f = FreeFile
Open Dateiname For Input As #f
Do Until EOF(f)
Line Input #f, temp ' Zeile nur einlesen und Wert verwerfen.
lineCount += 1
Loop
Close #f
' Jetzt wissen wir, wie viele Zeilen die Eingabe-Datei hat (lineCount) und koennen ein dementsprechend
' grosses Datenfeld (Array) anlegen.
DIM zeilen(1 TO lineCount) AS tDatensatz
' MAC-Adresse - Hostname - WLAN-Gruppe1 - WLAN-Gruppe2 - WLAN-Gruppe3
DIM AS String macAdr, host, boolWLAN1, boolWLAN2, boolWLAN3
DIM AS Integer i = 1
f = FREEFILE
Open Dateiname For Input As #f
Do Until EOF(f)
Input #f, macAdr, host, boolWLAN1, boolWLAN2, boolWLAN3
If (LCase(boolWLAN1) = "true") Then zeilen(i).WLANGruppe1 = 1
If (LCase(boolWLAN2) = "true") Then zeilen(i).WLANGruppe2 = 1
If (LCase(boolWLAN3) = "true") Then zeilen(i).WLANGruppe3 = 1
zeilen(i).MACAdresse = macAdr
zeilen(i).Hostname = host
i += 1
Loop
Close #f
' Jetzt sind alle Zeilen ins Array "zeilen" eingelesen. Da das Array nicht nur mehrere Zeilen hat (Anzahl
' lineCount), sondern auch einige Spalten (siehe tDatensatz), sieht es aus wie eine Tabelle. Auf die Zeile
' kann man mit dem Index in Klammern zugreifen (zeilen(12) fuer die 12. Zeile) und auf die Spalten mit
' Punkt-Spaltenname danach: zeilen(12).WLANGruppe2 fuer das 2. WLAN-Feld in der 12. Zeile.
' Beispielausgabe:
Print zeilen(3).MACAdresse & " [" & zeilen(3).WLANGruppe1 & "] [" & zeilen(3).WLANGruppe2 & "] [" & zeilen(3).WLANGruppe3 & "]"
Print "Beliebige Taste zum Beenden druecken."
Sleep
End