$GUI_CHECKED und $GUI_UNCHECKED

  • Hallo zusammen,

    ich brauche mal wieder eure Hilfe.

    Hier erstmal der Codeschnipsel um den es geht:

    Spoiler anzeigen
    [autoit]

    $FILE=FILEOPEN($BBOPFAD&"voyage\RESOURCE\UI\main\dlg\DlgChat.xml",0)
    FOR $I=1 TO 100
    IF STRINGINSTR(FILEREADLINE($FILE,$I),"maxword=")>0 AND STRINGINSTR(FILEREADLINE($FILE,$I),"300")>0 THEN
    GUICTRLSETSTATE($BBOEINSTELLUNG[4][0],$GUI_CHECKED)
    $BBOEINSTELLUNG[4][1]=1
    ENDIF
    NEXT

    [/autoit]


    Hier wird nun gesagt, wenn das Häkchen in der Checkbox drin ist, dann setze in der DlgChat.xml maxword auf 300, was auch einwandfrei funktioniert.

    Das Problem ist nun wenn das Häkchen wieder rausgenommen wird sich die DlgChat.xml auf original maxword 160 setzt, aber da das im Code ja weiterhin auf 300 Gesetzt ist es dann zu Problemen kommt und der Chat nicht mehr funktioniert.

    Nun stelle ich es mir so vor, das wenn das Häkchen gesetzt ist der Code mit den maxword 300 arbitet, wird es wieder entfernt es dann die Ausweichung gibt (die weiss ich net wie ich sie machen soll) das der Code dann mit maxword 160 arbeitet!
    Dieser Abschnitt fehlt eben hier noch da ich absolut net weiss wie ich das hier einbauen könnte!

    Ich hoffe nun das mir das wer machen kann bitte und sage schonmal vielen Dank!

    Mfg Ghostleader

    Einmal editiert, zuletzt von Ghostleader (22. April 2012 um 15:56)

  • Hier wird nun gesagt, wenn das Häkchen in der Checkbox drin ist, dann setze in der DlgChat.xml maxword auf 300, was auch einwandfrei funktioniert.


    Ich würde das eher andersrum sagen. Wenn maxword=300 ist soll das Häckchen gesetzt werden, sonst nicht.

    Ich versteh im Moment nicht was du willst.
    So hier?

    Spoiler anzeigen
    [autoit]

    $FILE = FileOpen($BBOPFAD & "voyage\RESOURCE\UI\main\dlg\DlgChat.xml", 0)
    For $I = 1 To 100
    If StringInStr(FileReadLine($FILE, $I), "maxword=") And StringInStr(FileReadLine($FILE, $I), "300") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_CHECKED)
    $BBOEINSTELLUNG[4][1] = 1
    ElseIf StringInStr(FileReadLine($FILE, $I), "maxword=") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_UNCHECKED)
    $BBOEINSTELLUNG[4][1] = 0
    EndIf
    Next

    [/autoit]
  • Hallo,

    also, so wie du es gerade gemacht hast geht es nicht, denn nun bleibt wenn ich das häkchen setze und speichere das häkchen nicht drin, sondern wird einfach wieder entfernt! Auch setzt sich ja bei deiner Art und weise nirgends im Code der Wert maxword 160 (was aber zwingend nötig ist), sodas es von haus aus wieder zu Problemen kommt!

    Ps: Nicht falsch verstehen, ob oder ob nicht das häkchen gesetzt wird entscheidest du selber in den einstellungen des kommpletten Programs. Damit entscheidest du nur darüber ob du im Chat dann 300 zeichen oder eben wenn nicht das häkchen gesetzt ist 160 Zeichen zum schreiben zur verfügung hast!

    Mfg Ghostleader

    PS: Habe dein rstelten Codeschnipsel mal abgeändert, sodass das Häkchen wenigstens wieder drin bleibt! Aber mit den maxword 160 bei nichtgesetztem häkchen arbeitet er immer noch nicht sondern der Chat geht dann net mehr!

    Spoiler anzeigen
    [autoit]

    $FILE = FileOpen($BBOPFAD & "voyage\RESOURCE\UI\main\dlg\DlgChat.xml", 0)
    For $I = 1 To 100
    If StringInStr(FileReadLine($FILE, $I), "maxword=") And StringInStr(FileReadLine($FILE, $I), "300") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_CHECKED)
    $BBOEINSTELLUNG[4][1] = 1
    ElseIf StringInStr(FileReadLine($FILE, $I), "maxword=") And StringInStr(FileReadLine($FILE, $I), "160") Then
    GUICtrlSetState($BBOEINSTELLUNG[4][0], $GUI_UNCHECKED)
    $BBOEINSTELLUNG[4][1] = 0
    EndIf
    Next

    [/autoit]

    Einmal editiert, zuletzt von Ghostleader (22. April 2012 um 15:16)

  • Hallo nochmal,

    also mit deinem Code bzw. dem so abgewandeltem durch mich geht es nun! Hatte übersehen das sich in der xml noch was geändert hatte, sodas ich diese kommplett ersetzen musste nun gehts!

    Vielen Dank.

    Mfg Ghostleader

  • Ich weiß zwar nicht wo in deinem Codeschnipsel maxword auf 160 bzw. 300 gesetzt wird. Aber wenn es jetzt funktioniert ist es ok.