Frage zu VB

Bobbybau91

Level-2
Beiträge
173
Reaktionspunkte
6
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen,

ich muss mich im Moment mit Skripten rumschlagen aber mit VB habe ich noch nicht gearbeitet (nur mit C).
Könnte mir jemand erklären, was es mit folgenden Zeilen auf sich hat? Ich weiß das ich es verwenden muss aber ich wüsste gerne auch warum.

Code:
' Create object auf File-Zugriff erstellen‘
Set fo [B]= CreateObject("FileCtl.File")[/B]

Code:
If ordner_anlegen = True Then
    If fso.[B]dir [/B](protokollordner) = "" Then
        fso.[B]mkdir [/B](protokollordner)
    End If
End If


' Protokolldatei anlegen, falls diese nicht existiert
If    fso.dir (protokolldatei) = "" Then

    ' Create object auf File-Zugriff erstellen
    Set fo = CreateObject("FileCtl.File")
    ' Protokolldatei öffnen
    fo.open protokolldatei , 2    ' 2 = OUTPUT

Gibt es eine Befehlsliste für VB in WinCC V13?


Gruß Bob
 
Zuletzt bearbeitet:
Hallo Bobbybau91,

mit
Set fo = CreateObject("FileCtl.File")

erzeugst du einen Handler für eine Datei, die du in der nächsten Zeile mit

fo.open protokolldatei , 2 ' 2 = OUTPUT

öffnest.
Der Dateipfad steht in der Variable "protokolldatei" und wird als Parameter übergeben.
Existiert die Datei nicht, wird sie erzeugt und zum Schreiben geöffnet. Dafür ist die 2 als Parameter dabei.

Danach kannst du mit Funktionen wie

fo.write "Text" (schreibe aus alten Erinnerungen, daher nicht sicher ob die Funktion auch wirklich so heisst)

die Datei füllen.
Am Ende mit

fo.close

wieder schliessen


Grüße,
jensemann
 
Danke schon mal, hat mich schon weiter gebracht.
Das sieht so aus, als ob Du ein Panel mit Windows CE programmieren willst. Da schau mal hier:
FAQ: Protool/WinCCflex Daten lesen / schreiben mit VB-Script besonders die am Ende des ersten Beitrags angehängten VBS-Hilfen
VBS-Hilfen zu TIA

Harald


Soweit so gut, nun sieht es bei mir so aus und ich bekomme meine Datei mit Inhalt erstellt:
Code:
Set fso = CreateObject("Scripting.FileSystemObject")

'Überprüfen, ob Ordner bereits vorhanden ist. Wenn nicht, wird ein neuer Ordner erstellt'
If fso.FolderExists(protokollordner) = False Then
   fso.CreateFolder(protokollordner)
End If

'Überprüfen, ob Datei bereits vorhanden ist. Wenn nicht, wird eine neue Datei erstellt'
If fso.FileExists(protokolldatei) = False Then
   fso.CreateTextFile(protokolldatei)
   
   Set TextFile = fso.OpenTextFile(protokolldatei, 8)
   TextFile.WriteLine "Test"
End If

Was ich noch nicht ganz genau verstehe: was macht dieser Befehl: Set fso = CreateObject("Scripting.FileSystemObject")? Welcher Wert wird dann in die Variable fso geschrieben?

Außerdem wurde auf der Seite, die du eben geschickt hast noch dieser Befehl verwendet, bei mir aber nicht und es funktioniert trotzdem:
Set fs = CreateObject("WScript.Shell")

Was soll dieser Befehln noch machen?
 
Das "Set fs = CreateObject("WScript.Shell")" hat nichts mit Datei-Funktionen zu tun und wird nicht gebraucht. Methoden des Shell-Objekt kann man benutzen um z.B. auf die Registry zuzugreifen. siehe Beitrag #7 von Jesper

Harald
 
Zuviel Werbung?
-> Hier kostenlos registrieren
In die Variable fso wird im Prinzip nichts geschrieben, es ist im Prinzip keine Variable im normalen Sinn.

fso ist ein Objekt, das es dir ermöglicht den File zu handeln (erstellen, öffnen, ändern, speichern, etc).
Das Objekt ist im Prinzip der File und du kannst die Eigenschaften dieses Objekts (Files) zur Laufzeit des Programms ändern
 
Zurück
Oben