Stundenplan Manager

  • Ich arbeite derzeit an einem Stundenplanmanager auf ini/HTML-Basis.
    Ist wahrscheinlich nur für Schüler interessant.

    Features


    Stundenplan anzeigen
    Multi-Stundenplan-fähig xD
    Refresh mit F5 (wenn aktiv)
    Menü
    Stundenplan öffnen
    Und als Funktion, aber noch nicht eingebaut:
    stundenplan löschen
    Stunde verändern
    Stundenplan erstellen

    Muss noch rein


    Stundenplan verändern
    Neuen Stundenplan erstellen

    Könnte noch rein


    Zwei Stundenpläne vergleichen
    Räume/Lehrer anzeigen
    Notenübersicht/Notenrechner


    Sorry, wenns ein bissl unaufgeräumt ist.
    Hat jmd Lust mitzumachen (wahrscheinlich nur Schüler)?

    TTable.au3
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>
    #include <Misc.au3>
    Global $sTable = "Testplan"
    #Region Löschen
    HotKeySet("{ESC}", "_EX")
    Func _EX()
    Exit
    EndFunc ;==>_EX
    #EndRegion Löschen
    Func _TTable_SetData($sTable, $iDay, $iHour, $sSubject)
    If FileExists($sTable & ".ini") Then
    IniWrite($sTable & ".ini", "day" & $iDay, "subj" & $iHour, $sSubject)
    If Not @error Then Return True
    Else
    SetError(1)
    Return False
    EndIf
    EndFunc ;==>_TTable_SetData
    Func _TTable_DelTable($sTable)
    FileDelete($sTable & ".ini")
    EndFunc ;==>_TTable_DelTable
    Func _TTable_ReadData($sTable, $iDay, $iHour)
    If FileExists($sTable & ".ini") Then
    Return IniRead($sTable & ".ini", "day" & $iDay, "subj" & $iHour, "NONE")
    Else
    SetError(1)
    Return "ERROR!"
    EndIf
    EndFunc ;==>_TTable_ReadData
    Func _TTable_CreateTable($sTable)
    IniWrite($sTable & ".ini", "options", "name", $sTable)
    EndFunc ;==>_TTable_CreateTable
    Func _TTable_GUICreate()
    GUICreate("GLi TTable 0.1", 700, 500)
    GUISetState()
    Global $dateimenu = GUICtrlCreateMenu("&Datei")
    Global $dateinew = GUICtrlCreateMenuItem("&Neu", $dateimenu)
    Global $dateiopen = GUICtrlCreateMenuItem("&Laden", $dateimenu)
    Global $dateisave = GUICtrlCreateMenuItem("&Stundenplan verändern", $dateimenu)
    Global $dateiquit = GUICtrlCreateMenuItem("&Beenden", $dateimenu)
    _IEErrorHandlerRegister()
    Global $oIE = _IECreateEmbedded()
    $GUIActiveX = GUICtrlCreateObj($oIE, 10, 40, 680, 400)
    EndFunc ;==>_TTable_GUICreate
    Func _TTableCreateHTML($sTable)
    $sHTML = '<h1>' & $sTable & '</h1><table style="background-color: rgb(200,200,200);" border="2"><th><td width="100px">Montag</td><td width="100px">Dienstag</td><td width="100px">Mittwoch</td><td width="100px">Donnerstag</td><td width="100px">Freitag</td></th>'
    For $j = 1 To 10
    $sHTML = $sHTML & "<tr>"
    For $i = 1 To 5
    If $i = 1 Then $sHTML = $sHTML & '<td>' & $j & ".</td>"
    $sHTML = $sHTML & '<td>' & IniRead($sTable & ".ini", "day" & $i, "subj" & $j, " ") & '</td>'
    Next
    $sHTML = $sHTML & "</tr>"
    Next
    $sHTML = $sHTML & "</table>"
    Return $sHTML

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

    EndFunc ;==>_TTableCreateHTML

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

    Func _TTable_Refresh()
    _IENavigate($oIE, "about:blank")
    _IEBodyWriteHTML($oIE, _TTableCreateHTML($sTable))
    ;~ MsgBox(64, "", _TTable_ReadData("Jonathan", 1, 2))
    EndFunc ;==>_TTable_Refresh
    Func _TTable_Open()
    Do
    $sOpenedFile = FileOpenDialog("Stundenplan auswählen", @WorkingDir, "Stundenpläne (*.ini)", 1)
    Until @error = 0
    $temp=StringSplit(StringTrimRight($sOpenedFile,4),"\")
    $sTable = $temp[$temp[0]]

    _TTable_Refresh()
    EndFunc ;==>_TTable_Open

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

    _TTable_GUICreate()
    _TTable_Refresh()

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case $dateiopen
    _TTable_Open()
    Case $dateisave
    ;_TTable_Edit()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $dateiquit
    Exit
    Case $dateinew
    ;_TTable_New()
    EndSwitch
    If _IsPressed("74") And WinActive("GLi") Then _TTable_Refresh()
    Sleep(100)
    WEnd

    [/autoit]
    Testplan.ini


    [day1]
    subj1=Mathe
    sub2=Mathe
    sub3=Englisch
    [day2]
    subj1=Info

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.