Hallo,
da mir niemand erklären wollte, wie ich eine Ini Datei auslese, habe ich bisschen im Internet nach so einem Ini. Kramm geguckt und versucht, dass 2 Ini Dateien von mir ausgelesen werden.
Hier erstmal der Script, den ich von Simon bekommen habe ( verbessert von Simon ) :
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <GuiEdit.au3>
$hGUI = GUICreate("", 620, 657, -1, -1, $WS_POPUP)
$hEdit = GUICtrlCreateEdit("", 0, 0, 633, 529)
$hInput = GUICtrlCreateInput("", 0, 560, 513, 21)
$hBtnSenden = GUICtrlCreateButton("Senden", 528, 560, 75, 25, $WS_GROUP)
GUICtrlSetState(-1, $GUI_DEFBUTTON)
$hBtnBeenden = GUICtrlCreateButton("Beenden", 528, 608, 75, 25, $WS_GROUP)
$hPic = GUICtrlCreatePic("C:\Users\Dennis\Pictures\Tool Background.jpg", 0, 520, 636, 360, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
Dim $aFragen[2][4] = [["Guten Tag", "Moin", "Hallo"],["geht", "gehts", "stehts", "alles klar"]]
Dim $aAntworten[2][4] = [["Guten Tag, mein Name ist White, wie kann ich ihnen helfen?", "Guten Tag."],["Gut und dir?", "Gut soweit. Und ihnen?", "Das geht dich nichts an!"]]
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $hBtnBeenden
Exit
Case $hBtnSenden
$sText = GUICtrlRead($hInput)
_say($hEdit, $sText, @UserName)
$iFragenID = _FrageAnalysieren($sText, $aFragen)
If @error Then
If @error = 1 Then
_say($hEdit, "Du musst schon etwas fragen!", "Computer")
ElseIf @error = 2 Then
_say($hEdit, "Das weiß ich leider nicht", "Computer")
EndIf
Else
_say($hEdit, _SucheAntwort($iFragenID), "Computer")
EndIf
EndSwitch
WEnd
Func _SucheAntwort($iFragenID)
;Copyright by Simon 2011
;Returns an answer for the QuesttionID ($iFragenID)
While 1
$iRnd = Random(0, UBound($aAntworten, 2) - 1, 1)
If $aAntworten[$iFragenID][$iRnd] <> "" Then ExitLoop
WEnd
Return $aAntworten[$iFragenID][$iRnd]
EndFunc ;==>_SucheAntwort
Func _Say($hEdit, $sText, $sPerson)
;Copyright by Simon 2011
;Appends the Text and the Persion in the Edit-Controll
$hWnd = GUICtrlGetHandle($hEdit)
[/autoit] [autoit][/autoit] [autoit]Local $iLength = _GUICtrlEdit_GetTextLen($hWnd)
_GUICtrlEdit_SetSel($hWnd, $iLength, $iLength)
_SendMessage($hWnd, $EM_REPLACESEL, True, $sPerson & ": " & $sText & @CRLF, 0, "wparam", "wstr")
EndFunc ;==>_Say
Func _FrageAnalysieren($sText, $aFragen)
;Copyright by Simon 2011
;Searches wether $aFragen contains $sText
;Return Values:
; Succes: The ID for the Question
; $sText is empty: -1 and sets @Error to 1
; $nothing found: -1 and sets @Error to 1
Local $i, $i1
[/autoit] [autoit][/autoit] [autoit]If $sText <> "" Then
For $i = 0 To UBound($aFragen) - 1
For $i1 = 0 To UBound($aFragen, 2) - 1
If StringInStr($sText, $aFragen[$i][$i1], 2) Then
Return $i
EndIf
Next
Next
Else
Return SetError(1, 0, -1)
EndIf
Return SetError(2, 0, -1)
EndFunc ;==>_FrageAnalysieren
Dann im Anhang sind die beiden Ini Dateien , die ausgelesen werden sollen und der Ini Versuchscript von mir ist auch dabei.
Könntet ihr mir bitte verraten, was daran falsch ist und mir so erklären, dass ich es vertehe und es dann funktioniert?
Er soll eigentlich immer eine Zeile davon auslesen.