GUI input bei klick text löschen


  • Wer weiß... ;) Ich würde sowieso IniRead und IniWrite verwenden.

    soll da keine ini datei werden sondern eine reine textdatei ;)

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Kannst du die Datei mal anhängen?
    Das geht schon :)

    datei anhängen wieso?
    die datei wir doch wenn sie nicht vorliegt automatisch erstellt:

    hier mal das komplette script

    Spoiler anzeigen
    [autoit]

    #include <FTPEx.au3>
    #include <GUIConstantsEx.au3>
    #include <Array.au3>
    #include <StaticConstants.au3>

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    HauptGUI()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $msg = GUIGetMsg(1)
    Select
    Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $hHauptGUI
    Exit
    Case $msg[0] = $GUI_EVENT_CLOSE And $msg[1] = $hnebenGUI
    GUIDelete($hnebenGUI)
    Case $msg[0] = $Date
    nebenGUI()

    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func nebenGUI()
    $aDate = StringSplit(GUICtrlRead($Date),"/")
    Global $hnebenGUI = GUICreate(GUICtrlRead($Date),200,200)
    Global $nebenGUIInput = GUICtrlCreateInput("Gibt hier deine Stundenzahl ein!",20,50,160,20)
    Global $Speichern_Button = GUICtrlCreateButton("Speichern", 80, 150)
    local $oneclick = 1
    GUISetState()

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_PRIMARYDOWN
    If $oneclick Then
    $cInfo = GUIGetCursorInfo()
    If IsArray($cInfo) Then
    If $cInfo[4] = $nebenGUIInput Then
    GUICtrlSetData($nebenGUIInput,"")
    $oneclick = 0
    EndIf
    EndIf
    EndIf
    Case $GUI_EVENT_CLOSE
    If MsgBox(4+32, "Beenden", "Willst du ohne zu Speichern Beenden") = 6 Then
    GUIDelete($hnebenGUI)
    ExitLoop
    EndIf
    Case $Speichern_Button
    If Not FileExists (@ScriptDir & "\Zeiten.txt")Then
    MsgBox(48,"Nicht gefunden!", "Zeitendatei wurde nicht gefunden es wird nun eine Datei angelegt")
    $notexist = FileOpen(@ScriptDir & "\Zeiten.txt",1)
    FileClose($notexist)
    EndIf
    $readfile = FileOpen(@ScriptDir & "\Zeiten.txt",0)
    If $readfile = -1 Then
    MsgBox(48,"Fehler","Zeitendatei konnte nicht richtig geöffnet werden bitte wiederholen sie den Vorgang")
    Else
    ConsoleWrite(GUICtrlRead($Date) & @CRLF)
    ConsoleWrite(FileRead($readfile) & @CRLF)
    $sreadfile = FileRead($readfile)

    $sDate = GUICtrlRead($Date)
    If StringInStr($sreadfile,$sDate,1) = 0 Then
    FileClose($readfile)
    $writefile = FileOpen(@ScriptDir & "\Zeiten.txt",1)
    FileWrite($writefile,GUICtrlRead($Date) & " : " & GUICtrlRead($nebenGUIInput))
    MsgBox(48,"Fertig","Zeit wurde gespeichert")
    FileClose($writefile)
    EndIf
    EndIf
    EndSwitch
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit]

    Func HauptGUI()
    Global $hHauptGUI = GUICreate("CM Zeitenspeichertool",400,400)
    Global $Date = GUICtrlCreateMonthCal ( "test", 0, 0 , 300 , 300)
    GUISetState()
    EndFunc

    [/autoit]

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Damit man sich für den einfachen Stringabgleich nicht durch dein Skript wühlen muss? ;)

    muss man doch nicht. EInfach das script starten auf einen tag klicken ne Zahl eingeben und schon hat man di datei wo dann ein datum und ein : und die eingegeben zahl drinn steht ;)

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Die Stelle im Script die für das anhängen der Stunden zuständig ist, ist fehlerhaft.
    In der Datei steht bei mir nur Müll nach ausführen deines Scripts ^^


    und was für müll bei mir steht da ein sauberer string

    Das finden von Rechtschreibfehlern muss sofort und unverzüglich dem Autor gemeldet werden. Das eigennützige Verwenden dieser Rechtschreibfehler ist strengstens untersagt und kann mit Freiheitsenzug bestraft werden.

  • Zitat

    und was für müll bei mir steht da ein sauberer string


    Bei mir nicht :D. Da ist nicht mal klar getrennt. ^^
    Hier mal meine vereinfachte Version (funktioniert :P :(

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $sFile = @ScriptDir & "\Date.txt"

    [/autoit] [autoit][/autoit] [autoit]

    If Not FileExists($sFile) Then
    $hFile = FileOpen($sFile, 1)
    FileClose($hFile)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    $Date = GUICreate("Datumsauswahl", 209, 220, 192, 124)
    $DatePick = GUICtrlCreateMonthCal("2010/04/07", 8, 8, 191, 164)
    $Save = GUICtrlCreateButton("Speichern", 64, 184, 75, 25)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Save
    $sDate = GUICtrlRead($DatePick)
    $iHours = InputBox("Stunden", "Gib die Stunden ein: ")
    If Number($iHours) <> "" Then
    $sText = FileRead($sFile)
    If StringInStr($sText, $sDate & " : " & $iHours) = 0 Then FileWrite($sFile, $sDate & " : " & $iHours & @CRLF)
    EndIf
    EndSwitch
    WEnd

    [/autoit]


    Vielleicht kannst du ja was übernehmen.