Hallo,
ich habe in meinem Script ein Problem mit _StringBetween.
Er findet einen String nicht, obwohl er da genauso steht.
Hier der TeilCode:
Spoiler anzeigen
#include <EditConstants.au3>
#include <GuiListBox.au3>
#include <String.au3>
#include <WindowsConstants.au3>
Global $GetText
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ###
Global $Form1 = GUICreate("Anrufliste", 351, 404, 554, 238)
GUISetBkColor(0xB4B4B4)
Global $List1 = GUICtrlCreateList("", 8, 48, 225, 253, $WS_VSCROLL, BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
$hList1 = GUICtrlGetHandle($List1)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
Global $Label1 = GUICtrlCreateLabel("Anrufliste", 106, 8, 117, 36)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
Global $Button1 = GUICtrlCreateButton("Hinzufügen", 8, 312, 105, 33, $WS_GROUP)
Global $Button2 = GUICtrlCreateButton("Entfernen", 120, 312, 105, 33, $WS_GROUP)
Global $Button6 = GUICtrlCreateButton("Editieren", 232, 312, 105, 33, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_Edit")
Global $Button3 = GUICtrlCreateButton("Nähere Infos", 8, 360, 105, 33, $WS_GROUP)
Global $Button5 = GUICtrlCreateButton("Alle Löschen", 120, 360, 105, 33, $WS_GROUP)
Global $Button4 = GUICtrlCreateButton("Schließen", 232, 360, 105, 33, $WS_GROUP)
Global $List2 = GUICtrlCreateList("", 248, 48, 89, 253)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
#Region ### START Koda GUI section ###
Global $Form4 = GUICreate("Anrufer editieren", 362, 475, 543, 159)
GUISetBkColor(0xB4B4B4)
GUISetFont(11, 400, 0, "Arial")
Global $Label10 = GUICtrlCreateLabel("Name:", 24, 60, 47, 21)
Global $Label11 = GUICtrlCreateLabel("Anrufsbetreff:", 24, 140, 91, 21)
Global $Label12 = GUICtrlCreateLabel("Telefonnummer", 24, 372, 107, 21)
Global $Label13 = GUICtrlCreateLabel("Anrufer editieren", 75, 12, 231, 36)
GUICtrlSetFont(-1, 20, 400, 0, "Arial")
Global $Input5 = GUICtrlCreateInput("", 24, 81, 313, 26, $ES_READONLY)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
GUICtrlSetLimit(-1, 19)
Global $Edit3 = GUICtrlCreateEdit("", 24, 161, 313, 193, BitOR($ES_AUTOVSCROLL, $ES_WANTRETURN, $WS_VSCROLL))
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
Global $Input6 = GUICtrlCreateInput("", 24, 393, 313, 26, $ES_NUMBER)
GUICtrlSetFont(-1, 12, 400, 0, "Arial")
Global $Button8 = GUICtrlCreateButton("Fertig", 108, 430, 140, 39, $WS_GROUP)
GUICtrlSetOnEvent(-1, "_Add")
GUISetState(@SW_HIDE)
#EndRegion ### END Koda GUI section ###
_ReadIniFile()
[/autoit] [autoit][/autoit] [autoit]While 1
Sleep(50)
WEnd
Func _Edit()
[/autoit] [autoit][/autoit] [autoit]Global $CurSel = _GUICtrlListBox_GetCurSel($List1)
Global $GetText = _GUICtrlListBox_GetText($List1, $CurSel)
Local $CurSel2 = _GUICtrlListBox_GetCurSel($List2)
Local $GetText2 = _GUICtrlListBox_GetText($List2, $CurSel2)
If Not $GetText = "" Then
GUISetState(@SW_HIDE, $Form1)
GUISetState(@SW_SHOW, $Form4)
WinSetTitle("Anrufer editieren", "", "Anrufer '" & $GetText& "' editieren")
[/autoit] [autoit][/autoit] [autoit]$IniRead = IniRead(@ScriptDir & "\data\setup.ini", "Anrufer", $GetText, "")
[/autoit] [autoit][/autoit] [autoit]GUICtrlSetData($Input5, $GetText & " - " & $GetText2)
[/autoit] [autoit][/autoit] [autoit]Global $TelNummer = _StringBetween($IniRead, "°", " °")
$Besch = _StringBetween($IniRead, ">", "<")
If $TelNummer = "" Then
GUICtrlSetData($Input6, "Es wurde hierzu keine Angabe getätigt")
Else
GUICtrlSetData($Input6, $TelNummer[0])
EndIf
If $Besch = "" Then
GUICtrlSetData($Edit3,"Es wurde hierzu keine Angabe getätigt")
Else
GUICtrlSetData($Edit3,$Besch[0])
EndIf
Else
MsgBox(262208, "Auswahl", "Sie haben keinen Eintrag ausgewählt!" & @CRLF & "Bitte Eintrag für zu Editieren auswählen!")
EndIf
EndFunc
Func _Add()
[/autoit] [autoit][/autoit] [autoit]Global $Betreff2 = GUICtrlRead($Edit3)
Global $Nummer2 = GUICtrlRead($Input6)
IniWrite(@ScriptDir & "\data\setup.ini", "Anrufer", $GetText, ">" & $Betreff2 & "<" & "°" & $Nummer2 & "°")
[/autoit] [autoit][/autoit] [autoit]GUISetState(@SW_SHOW, $Form1)
GUISetState(@SW_HIDE, $Form4)
EndFunc
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Func _ReadIniFile()
[/autoit] [autoit][/autoit] [autoit]$AnruferSec = IniReadSection(@ScriptDir & "\data\setup.ini", "Anrufer")
If Not @error Then
For $i = 1 To $AnruferSec[0][0]
_GUICtrlListBox_AddString($List1, $AnruferSec[$i][0])
Next
_GUICtrlListBox_SetCurSel($List1, 0)
EndIf
$TimeForList = IniReadSection(@ScriptDir & "\data\setup.ini", "TimeForList")
If Not @error Then
For $a = 1 To $TimeForList[0][0]
_GUICtrlListBox_AddString($List2, $TimeForList[$a][0])
Next
_GUICtrlListBox_SetCurSel($List2, 0)
EndIf
EndFunc ;==>_ReadIniFile
[/autoit]Wie man sieht, zeigt er in der GUI bei Telefonnummer nichts an.
Die Ini sieht so aus:
Ich weiß nicht mehr weiter, hoffentlich könnt ihr mir helfen