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