Funktions variabeln. schauts euch mal an )
Da ich Anfänger bin brauch ich auch hier hilfe:
Das folgende Script funktioniert eigentlich soweit... nur noch etwas weis ich ned wie machen:
Die Funktion AbfrageYes() benötig die Werte "SaveLine1" und SaveLine2" von der Funktion Ausgabe()
Wie kann ich das machen?
option Explicit
Ausgabe()
Abfrage()
Function Ausgabe()
Dim obj
Dim objFile
Dim Result
Set obj = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = obj.OpenTextFile("H:\Notes\Notes.ini", 1, False, -2)
If Not objFile.AtEndOfStream Then
Do
Dim sline
Dim sOut
Dim Saveline1
Dim Saveline2
sLine = objFile.ReadLine()
sOut = Left(sLine, 10)
If sOut = "KeyFilenam" Then
WScript.Echo "1.) " & sline & VbCrLf
SaveLine1 = sLine
ElseIf sOut = "LastHistor" Then
WScript.Echo "2.) " & sline & VbCrLf
SaveLine2 = sLine
Else sOut = ""
End If
Loop Until objFile.AtEndOfStream
End If
End Function
Function Abfrage()
Dim Answer
Answer = MsgBox("Wollen Sie die Resultate Speichern?",4,"Abfrage")
If Answer = "6" Then
AbfrageYes()
Else
AbfrageNo()
End If
End Function
Function AbfrageYes()
Dim KeyFile
Dim LastHistory
Dim objSave
Dim objFileSave
'Keyfile = SaveLine1
'LastHistory = SaveLine2
Set objSave = WScript.CreateObject("Scripting.FileSystemObject")
Set objFileSave = objSave.OpenTextFile("H:\notes.txt", 2, True, -2)
'objFileSave.WriteLine("KeyFilename: "& KeyFile)
'objFileSave.WriteLine("LastHistoryPruneTime: "& LastHistory)
End Function
Function AbfrageNo()
MsgBox "Die Daten wurden NICHT gespeichert!"
End Function
Das folgende Script funktioniert eigentlich soweit... nur noch etwas weis ich ned wie machen:
Die Funktion AbfrageYes() benötig die Werte "SaveLine1" und SaveLine2" von der Funktion Ausgabe()
Wie kann ich das machen?
option Explicit
Ausgabe()
Abfrage()
Function Ausgabe()
Dim obj
Dim objFile
Dim Result
Set obj = WScript.CreateObject("Scripting.FileSystemObject")
Set objFile = obj.OpenTextFile("H:\Notes\Notes.ini", 1, False, -2)
If Not objFile.AtEndOfStream Then
Do
Dim sline
Dim sOut
Dim Saveline1
Dim Saveline2
sLine = objFile.ReadLine()
sOut = Left(sLine, 10)
If sOut = "KeyFilenam" Then
WScript.Echo "1.) " & sline & VbCrLf
SaveLine1 = sLine
ElseIf sOut = "LastHistor" Then
WScript.Echo "2.) " & sline & VbCrLf
SaveLine2 = sLine
Else sOut = ""
End If
Loop Until objFile.AtEndOfStream
End If
End Function
Function Abfrage()
Dim Answer
Answer = MsgBox("Wollen Sie die Resultate Speichern?",4,"Abfrage")
If Answer = "6" Then
AbfrageYes()
Else
AbfrageNo()
End If
End Function
Function AbfrageYes()
Dim KeyFile
Dim LastHistory
Dim objSave
Dim objFileSave
'Keyfile = SaveLine1
'LastHistory = SaveLine2
Set objSave = WScript.CreateObject("Scripting.FileSystemObject")
Set objFileSave = objSave.OpenTextFile("H:\notes.txt", 2, True, -2)
'objFileSave.WriteLine("KeyFilename: "& KeyFile)
'objFileSave.WriteLine("LastHistoryPruneTime: "& LastHistory)
End Function
Function AbfrageNo()
MsgBox "Die Daten wurden NICHT gespeichert!"
End Function
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 54736
Url: https://administrator.de/forum/funktions-variabeln-schauts-euch-mal-an-54736.html
Ausgedruckt am: 17.04.2025 um 21:04 Uhr
1 Kommentar
Hallo chnollu7!
Nur der Ordnung halber: Functions haben den Zweck, einen Rückgabewert zu liefern - das tun Deine Functions nicht und daher sind es eigentlich Subs.
Zur Lösung Deines Problems: Wenn Du anstatt in "Ausgabe" bereits unmittelbar nach "Option Explicit" Deine beiden Variablen deklarierst (Dim SaveLine1, SaveLine2), sind diese in allen Subs (Functions) sichtbar - Du kannst Ihnen also in "Ausgabe" Werte zuweisen und in "Abfrage" diese wieder auslesen (aber ohne sie jeweils innerhalb dieser Strukturen neu zu deklarieren).
Grüße
bastla
Nur der Ordnung halber: Functions haben den Zweck, einen Rückgabewert zu liefern - das tun Deine Functions nicht und daher sind es eigentlich Subs.
Zur Lösung Deines Problems: Wenn Du anstatt in "Ausgabe" bereits unmittelbar nach "Option Explicit" Deine beiden Variablen deklarierst (Dim SaveLine1, SaveLine2), sind diese in allen Subs (Functions) sichtbar - Du kannst Ihnen also in "Ausgabe" Werte zuweisen und in "Abfrage" diese wieder auslesen (aber ohne sie jeweils innerhalb dieser Strukturen neu zu deklarieren).
Grüße
bastla