Hallo zusammen,
ich steh mal wieder auf dem Schlauch
Ich will in einer Funktion eine INI Datei auslesen und den Wert in einer 2. Funktion verwenden.
Die Variable habe ich so definiert:
[autoit]Global $var_inifile_lesen
[/autoit]Die INI Datei
Die Funktion:
[autoit]Func _KCLIniLesen($var_inifile, $var_Benutzername, $var_inifile_key)
$var_inifile_lesen = IniRead($var_inifile, $var_Benutzername, $var_inifile_key, "(NULL)")
ConsoleWrite("Wert in der Funktion von " & $var_inifile_key & " ist: " & $var_inifile_lesen & @CRLF)
EndFunc ;==>_KCLIniLesen
Aufruf aus 2. Funktion:
2. Funktion, die 1. Funktion aufruft
Func _KCLWochentag(); Es wird der Wochentag ermittelt
$var_ShortDayName = _DateDayOfWeek(@WDAY, 1); Kurzen englischen Wochentag ermitteln (mon,tue,wed,thu,fri,sat,sun)
$var_WeekDay = $var_ShortDayName
$var_inifile_lesen = _KCLIniLesen($var_inifile, $var_Benutzername, "Zeit")
ConsoleWrite("Wert außerhalb der Funktion von Zeit ($var_inifile_lesen) ist: " & $var_inifile_lesen & @CRLF)
$var_inifile_Zeit = $var_inifile_lesen
ConsoleWrite("Wert außerhalb der Funktion von Zeit ($var_inifile_Zeit) ist: " & $var_inifile_Zeit & @CRLF)
;~ $var_inifile_lesen = _KCLIniLesen($var_inifile, $var_Benutzername, "Countdown")
;~ $var_inifile_Countdown = $var_inifile_lesen
;~ ConsoleWrite("Wert außerhalb der Funktion von Countdown ist: " & $var_inifile_Countdown & @CRLF)
Select
Case $var_WeekDay = "Mon"
$var_Wochentag = "Montag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "08:00" And $var_inifile_Zeit <= "19:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "30")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Tue"
$var_Wochentag = "Dienstag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "12:00" And $var_inifile_Zeit <= "19:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "30")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Wed"
$var_Wochentag = "Mittwoch"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "12:00" And $var_inifile_Zeit <= "19:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "30")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Thu"
$var_Wochentag = "Donnerstag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "12:00" And $var_inifile_Zeit <= "19:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "30")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Fri"
$var_Wochentag = "Freitag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "12:00" And $var_inifile_Zeit <= "20:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "45")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Sat"
$var_Wochentag = "Samstag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "09:00" And $var_inifile_Zeit <= "21:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "60")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
Case $var_WeekDay = "Sun"
$var_Wochentag = "Sonntag"
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Wochentag", $var_Wochentag)
If $var_inifile_Zeit >= "09:00" And $var_inifile_Zeit <= "19:00" Then
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "online")
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Kontingent", "45")
Else
_KCLIniSchreiben($var_inifile, $var_Benutzername, "Status", "offline")
EndIf
EndSelect
EndFunc ;==>_KCLWochentag
Die Consolenausgabe:
"Wert in der Funktion von Zeit ist: 15:11"
"Wert außerhalb der Funktion von Zeit ($var_inifile_lesen) ist: 0
Wert außerhalb der Funktion von Zeit ($var_inifile_Zeit) ist: 0"
Wieso wird der Wert der Zeit nicht extern übergeben ?
Gruss Hassan