TIA WinCC Runtime Advanced / Dateizugriff via VB Script

Biks

Level-1
Beiträge
7
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin zusammen!

Ich stehe gerade etwas auf dem Schlauch. Meine (erste) Aufgabenstellung ist das Auslesen eines Datei-Verzeichnisses. Für Windows CE gibt es dazu eine Dokumentation (File System Controls). Aber entweder wende ich diese falsch an (was gar nicht so unwahrscheinlich ist) oder es funktioniert mit normalen Windows nicht.

Habt ihr einen Vorschlag, wie ich ein Dateiverzeichnis mittels VBScript auslesen kann?

Viele Grüße!

Biks
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Danke Larry,

diese FAQ habe ich bereits gefunden. Allerdings bin ich bereits beim ersten Beispiel ("msgbx") gescheitert, da dies nicht bei Runtimes unterstützt wird. Ich habe keine Ahnung, welche Funktionen/Befehle wo gültig sind: VBS, VBA, Panels, Runtimes, Windows CE usw... Das macht den Einstieg und die Recherche nicht gerade einfach ;)

Ich habe gehofft, mir könnte jemand konkret sagen, auf einem Windows-PC funktioniert die und die Funktion auf jeden Fall.

Okay, ich werde die Beispiele der FAQ durchprobieren, vielleicht werde ich ja doch fündig.
 
Okay, ich kann nun sagen, was funktioniert :D Bei mir kamen mehrere Dinge zusammen.

Nachdem ich die FAQ für mich etwas sortiert habe (ist etwas durcheinander dort), konnte ich folgendes erfolgreich testen:

Code:
Dim FSO

Set FSO = CreateObject("Scripting.FileSystemObject")
If Not FSO.FolderExists("C:\sicher") Then FSO.CreateFolder("C:\sicher")

Wenn das nicht funktioniert, liegt der Fehler woanders. Zum Beispiel beim Aufruf des Scriptes. Ich habe dies an eine Wertänderung einer internen BOOL-Variable gekoppelt. Da passierte nichts. Allerdings bei Wertänderung einer INT-Variable. Aber das nur nebenbei.
 
... konnte ich folgendes erfolgreich testen: ...
Wenn das nicht funktioniert, liegt der Fehler woanders. ...

Das verstehe ich nicht. Erfolgreich? Trotz eines woanders liegenden Fehlers? Ich habe auch versucht, Deine Gedanken für mich etwas zu sortieren - leider erfolglos.
Was meinst Du konkret mit "ein Dateiverzeichnis mittels VBScript auslesen"?
Eine Liste erstellen mit den Namen der in einem vorgegebenen Ordner enthaltenen Dateien und Unterordner? Evtl. mit detailierteren Informationen zu den Dateien?
[SUB][/SUB]
Gruss, Heinileini

PS: Ich habe in diesem Zusammenhang ein anderes VerständnisProblem.
Kann mich jemand aufklären, was der Unterschied zwischen einem Ordner und einem Verzeichnis ist?
Die Formulierungen in der Hilfe lassen mich immer vermuten, dass unterschiedliches gemeint ist, aber wenn ich versuche, diesen Unterschied zu ergründen, dann lande ich immer wieder am AusgangsPunkt meiner Suche und drehe mich im Kreis.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Wenn das nicht funktioniert, liegt der Fehler woanders. Zum Beispiel beim Aufruf des Scriptes. Ich habe dies an eine Wertänderung einer internen BOOL-Variable gekoppelt. Da passierte nichts. Allerdings bei Wertänderung einer INT-Variable. Aber das nur nebenbei.
Interne Variablen erzeugen nur dann ein Ereignis "Wertänderung" wenn die Variable in einem EA-Feld einen neuen Wert erhält. Wertänderungen durch irgendwelche Wertzuweisungen erzeugen kein Ereignis. Das ist der sogenannte Loop-Breaker, der die unbedarften HMI-Programmierer vor endlos-Ereignis-Schwallen schützt (bzw. die HMI-Runtime vor dem möglicherweise sinnfreien Machwerk des Programmierers schützt ;)).

Harald
 
Hallo Heinileini!

Sorry für die mehr als später Antwort. Für mich war das Thema ersteinmal beendet, da ich mein Testscript aufrufen konnte und dann auch direkt das Projekt terminlich verschoben wurde und ich dummerweise auch hier keine Benachrichtigung aktiviert hatte. :roll:

Das verstehe ich nicht. Erfolgreich? Trotz eines woanders liegenden Fehlers? Ich habe auch versucht, Deine Gedanken für mich etwas zu sortieren - leider erfolglos.

Ja, erfolgreich ;) Mein erstes Problem war, dass man zwischen den VB-Script Versionen für Panels und PC-Runtimes unterscheiden und entsprechende Befehle finden muss. Als zweites bin ich auf den von
PN/DP beschriebenen HMI-Programmierer-Schutz reingefallen. Hatte mit VB-Script nichts zu tun.

Was meinst Du konkret mit "ein Dateiverzeichnis mittels VBScript auslesen"?
Eine Liste erstellen mit den Namen der in einem vorgegebenen Ordner enthaltenen Dateien und Unterordner? Evtl. mit detailierteren Informationen zu den Dateien?
Ja, genau. Ich möchte die Dateinamen aus einem Datei-Ordner (bzw. -Verzeichnis) ermitteln. Weitere Informationen benötige ich nicht.


PS: Ich habe in diesem Zusammenhang ein anderes VerständnisProblem.
Kann mich jemand aufklären, was der Unterschied zwischen einem Ordner und einem Verzeichnis ist?
Die Formulierungen in der Hilfe lassen mich immer vermuten, dass unterschiedliches gemeint ist, aber wenn ich versuche, diesen Unterschied zu ergründen, dann lande ich immer wieder am AusgangsPunkt meiner Suche und drehe mich im Kreis.
Es gibt keinen Unterschied. Zu MS-DOS-Zeiten war mir nur den Begriff "Verzeichnis" (directory) bekannt. Mit irgendeiner Windows-Version hieß es dann mit einem mal "Ordner" (folder). Vielleicht hängt es mit dem grafischen Symbol zusammen und der Erkenntnis, dass eine Dateiablage eher einem Wegheften in einen Ordner gleicht.
 
Zurück
Oben