Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Abfrage ob Datei vorhanden
#1
Hallo zusammen.

Ich versuche verzweifelt per Script eine Abfrage zu realisieren, ob eine bestimmte Datei (Rezeptur) schon vorhanden ist.
Ich bin folgendermaßen vorgegangen:
...
Rezepturname=VDF.ReadAscii(5,2,176)
Rname=Trim(Rezepturname)
pfad="C:\Visualisierung\Rezeptur\" & Rname &".R1"
...
Set fso=CreateObject("Scripting.FilesystemObject")
...
If Not fso.FileExists (pfad) Then
VDF.WriteInt 5,0,19521
...
End If

Ich bekomme bei Ausführen des Skripts die Fehlermeldung "Zeile0: Das Schlüsselwort ist kein gültiger Bezeichner" und "Ungültige Zeilennummer"

Diese Fehlermeldungen werden offensichtlich durch den Set-Befehl verursacht.
Hat jemand eine Idee, was hier falsch ist?

Vielen Dank
Antworten
#2
Hallo EEP,


Sie versuchen ein 'Altes' File-Systemobject in
VBASE BASIC zu verwenden.
Dies wurde bei "Visam Win32" im Skript verwendet,
funktioniert aber in VBASIC nicht mehr.
Deswegen gibt es auch dort diesen Fehler.

Um Festzustellen ob eine Datei existiert, können Sie
folgendens verwenden:

Code:
If System.IO.File.Exists(DateiName) Then

End If
Antworten
#3
Hallo Hr. Rings,

vielen Dank, es klappt!

Dass die 'Alten' Befehle nicht mehr verwendet werden können wusste ich nicht. Wo kann ich die neuen Befehle bzw. Änderungen einsehen um zukünftig nicht mehr vor solch 'banalen' Problemen zu stehen?
Antworten
#4
Ganz so einfach ist es nicht.
Diese 'Alten' Befehle waren nie offiziell,
sind also auch nicht dokumentiert.
Im Alten 'Visam Win32' konnte man VBScript-Befehle und
externe Objects (wie in diesem Falle das FileSystemObject)
einbinden, diese wurden zur Laufzeit interpretiert.
Das funktioniert nun nicht mehr weil nun VBASIC Basic
schon zur Editorzeit kompiliert werden und die VBSCRIPT-Engine
bei den Compact-Laufzeiten nicht vorhanden ist.

Wahrscheinlich sind diese externen Befehle in irgendeinem Beispielprojekt
vorhanden gewesen und sie haben diese versucht nach VBASE zu portieren.
In den meisten Fällen kennen wir aber 'Ersatzfunktionen'
um die Funktionalität auch in VBASE zu gewährleisten.
Bei Problemen im Einzelfall einfach hier nachfragen.

Generell kann man so vorgehen:
Alle Dokumentierten Befehle (in der Hilfe) sind weiterhin nutzbar.
'Set Object ' usw sind nie dokumentiert worden.
Antworten


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste