Zuviel Werbung? - > Hier kostenlos beim SPS-Forum registrieren

Ergebnis 1 bis 6 von 6

Thema: Frage zu VB

  1. #1
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard


    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 = CreateObject("FileCtl.File")
    Code:
    If ordner_anlegen = True Then
        If fso.dir (protokollordner) = "" Then
            fso.mkdir (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
    Geändert von Bobbybau91 (12.05.2016 um 14:59 Uhr)
    Zitieren Zitieren Gelöst: Frage zu VB  

  2. "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"


  3. #2
    Registriert seit
    05.07.2013
    Beiträge
    71
    Danke
    12
    Erhielt 12 Danke für 10 Beiträge

    Standard

    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
    Das Leben ist eines der Härtesten

  4. #3
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    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
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  5. #4
    Bobbybau91 ist offline Erfahrener Benutzer
    Themenstarter
    Registriert seit
    27.05.2014
    Beiträge
    114
    Danke
    43
    Erhielt 4 Danke für 4 Beiträge

    Standard

    Danke schon mal, hat mich schon weiter gebracht.
    Zitat Zitat von PN/DP Beitrag anzeigen
    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?

  6. #5
    Registriert seit
    22.06.2009
    Ort
    Sassnitz
    Beiträge
    11.166
    Danke
    921
    Erhielt 3.286 Danke für 2.655 Beiträge

    Standard

    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
    Es ist immer wieder überraschend, wie etwas plötzlich funktioniert, sobald man alles richtig macht.

    FAQ: Linkliste SIMATIC-Kommunikation über Ethernet

  7. #6
    Registriert seit
    01.08.2013
    Ort
    63571
    Beiträge
    311
    Danke
    19
    Erhielt 53 Danke für 51 Beiträge

    Standard


    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
    Nur dass man etwas schon immer so gemacht hat heißt nicht dass es richtig ist, man kann eine Sache auch ein Leben lang falsch machen.

  8. Folgender Benutzer sagt Danke zu Zombie für den nützlichen Beitrag:

    Bobbybau91 (12.05.2016)

Ähnliche Themen

  1. Frage zu CE..
    Von PinkPanther im Forum Maschinensicherheit - Normen und Richtlinien
    Antworten: 5
    Letzter Beitrag: 10.11.2015, 10:23
  2. Frage
    Von highvoltage1901 im Forum Stammtisch
    Antworten: 7
    Letzter Beitrag: 30.04.2013, 22:08
  3. Frage zu FB
    Von der_iwan im Forum Simatic
    Antworten: 5
    Letzter Beitrag: 09.06.2011, 14:50
  4. Antworten: 15
    Letzter Beitrag: 09.04.2009, 20:57
  5. Antworten: 4
    Letzter Beitrag: 18.05.2005, 18:49

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •