1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. L3viathan

Beiträge von L3viathan

  • Stundenplan Manager

    • L3viathan
    • 12. Januar 2009 um 17:36

    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

  • Tray nur mit Rechtsklick öffnen

    • L3viathan
    • 11. Januar 2009 um 20:51

    Oh Mann, guck dir die Hilfe an: TraySetClick

  • Downloadmanager für LAN-Webserver

    • L3viathan
    • 11. Januar 2009 um 20:25

    Lies dir die Hilfe zu IniRead durch.
    In der ersten Runde ist $anzahl 0 und $i 1.
    Wenn er einen Eintrag mit den Namen Spiel1 findet, wird anzahl um eins erhöht (denn dann gibts ja eins mehr), und $i auch, für den nächsten Durchgang.
    Weiter gehts:
    Gibt es Spiel2? Wenn ja, $anzahl um eins erhöhen, usw. usf.
    Wenn NICHT, dann verlasse die Schleife, und füge nix zu $anzahl hinzu.

  • Downloadmanager für LAN-Webserver

    • L3viathan
    • 11. Januar 2009 um 19:50

    Systematisch, Zeile für Zeile:
    1. $anzahl und ist null, $i ist eins

    [autoit]

    $anzahl=0
    $i=1

    [/autoit]


    2. Endlosschleife

    [autoit]

    While True

    [/autoit]


    3. Wenn Spiel? (?=Zahl, zuerst also 1) ="NEIN!", also0 der Stdwert, wenn nix gefunden wurde, dann Schleife beenden, die Anzahl ist bestimmt

    [autoit]

    If IniRead("ini.ini","Spiele","Spiel" & $i,"NEIN!") = "NEIN!" Then ExitLoop

    [/autoit]


    4. Erfolgreich, also $anzahl hochstellen, und auch $i (so ähnlich wie For to)

    [autoit]

    $anzahl += 1
    $i+=1
    WEnd

    [/autoit]

    Was verstehst du davon nicht?

  • Was steckt da hinter ?

    • L3viathan
    • 11. Januar 2009 um 18:05

    kp, hab kein QR-Reader

  • Downloadmanager für LAN-Webserver

    • L3viathan
    • 11. Januar 2009 um 18:02

    Ja, sicher.
    Ich nehme an deine INI ist so aufgebaut:

    Spoiler anzeigen

    [Spiele]
    Spiel1=Trackmania Nations Forever
    Spiel1URL=http://tmnforever.de
    Spiel2=Supertux
    usw...


    Erst findest du raus, wie viele Einträge es sind, z.B.

    Spoiler anzeigen
    [autoit]


    $anzahl=0
    $i=1
    While True
    If IniRead("ini.ini","Spiele","Spiel" & $i,"NEIN!") = "NEIN!" Then ExitLoop
    $anzahl += 1
    $i+=1
    WEnd

    [/autoit]


    Danach steht in $anzahl die Anzahl der Spiele die du hast.
    Und da drei Spiele in einer Reihe sind:

    [autoit]

    $reihen=($anzahl-mod($anzahl,3))/3

    [/autoit]


    Den Rest schaffst du selbst.

  • Windows 7 Beta 1 - Erste Eindrücke

    • L3viathan
    • 11. Januar 2009 um 16:17

    Da stimme ich dir zu, das bemerkenswerteste finde ich:

    Die neue Taskleiste erinnert mich sehr an den Look von KDE ;)

  • Windows 7 Beta 1 - Erste Eindrücke

    • L3viathan
    • 11. Januar 2009 um 12:39

    Ich habe mir die Beta von Win7 gesaugt und gleich aufm virtuellen PC installiert, funktioniert alles super.
    Ich habe leider grade keine Möglichkeit, es parallel zu XP zu installieren, deshalb hab ich nur so ne Standart-graka.
    Win7 macht einen guten Eindruck, inkl. animiertem Bootlogo (war schon längst überfällig :rock: ), neuer Taskleiste usw.
    Leider konnte ich bis jetzt Aero bzw. Aero Peek nicht testen, da die virtuelle Graka nicht mitmacht.
    Setup geht trotz vpc erstaunlich schnell. Ist kaum anderes Gefühl als bei Vista, wirkt aber irgendwie runder, fertiger.

    Wie sind eure ersten Eindrücke mit Win7?

  • Übergeordnetes Verzeichnis...

    • L3viathan
    • 10. Januar 2009 um 00:35

    Das hat nix mit AutoIt zu tun, Windows kann das!

  • GUI mit Pics Transparent machen

    • L3viathan
    • 9. Januar 2009 um 17:44

    Kann gut sein.

  • GUI mit Pics Transparent machen

    • L3viathan
    • 9. Januar 2009 um 17:25

    Du kennst den Titel deiner GUI, nehmen wir an, er lautet "Meine GUI"

    [autoit]

    WinSetTrans("Meine GUI",150)

    [/autoit]


    Von 0 bis 255.
    EDIT: Nicht genau gelesen.
    Machst du die Pics mit GDI+ oder mit GUICtrlCreatePic?

  • Langweilig

    • L3viathan
    • 9. Januar 2009 um 16:27

    Dann wärs ja nicht mehr deiner.
    Ich glaub ein Taschenrechner ist zu hoch gegriffen, wie wärs mit einer Startzentrale für deine wichtigsten Programme?

  • wie kann ich den parameter einer erstellten exe - in der .exe zur Variable machen?

    • L3viathan
    • 9. Januar 2009 um 15:50

    Der erste Parameter landet in $CmdLine[1], usw.
    $CmdLine[0] enthält die Anzahl der Parameter.

  • Button mag das bild nich :)

    • L3viathan
    • 8. Januar 2009 um 20:56

    includes?

  • Andere Sprache:D

    • L3viathan
    • 8. Januar 2009 um 20:48

    GtaSpider : Noch was: Autoit ist eine Scriptsprache, von wegen undecompilable...

  • Hex in String zu Hex, oder anderes Problem?

    • L3viathan
    • 8. Januar 2009 um 16:12

    Wie einige in der Shoutbox gelesen haben, habe ich ein Problem.
    Ich experimentiere mit eigenen Bildformaten xD:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    $handle=FileOpen("C:\colors.jpf",1)
    $color=""
    for $y=1 to 76 ;testweise nicht 768
    for $x=1 to 102 ;dito
    ToolTip($x & "," & $y,0,0)
    $color=$color & String(hex(PixelGetColor($x,$y),6))
    Next
    FileWriteLine($handle,$color)
    $color=""
    Next
    FileClose($handle)
    $handle=FileOpen("C:\colors.jpf",0)
    GUICreate("Draw")
    $field=GUICtrlCreateGraphic(0,0)
    GUICtrlSetBkColor(-1, 0xffffff)
    for $y=1 to 76
    $color=FileReadLine($handle,$y)
    for $x=1 to 102
    $work=StringLeft($color,6)
    StringTrimLeft($color,6)
    GUICtrlSetColor($field, Hex(Int('0x' & $work),6))
    ;~ Msgbox(0,"","0x" & $work)
    GUICtrlSetGraphic($field,$GUI_GR_PIXEL,$x,$y)
    Next
    Next
    GUISetState()
    Sleep(3000)

    [/autoit]


    Funktioniert leider nicht..., schwarzes bild, oder ist es ein anderer Fehler?
    Ich seh irgendwie das Problem nicht... :S

    edit:Problem gelöst, GUICtrlSetGraphic($field,$GUI_GR_COLOR,'0x' & $work) war nötig

  • Buch über AutoIt?

    • L3viathan
    • 8. Januar 2009 um 15:17

    Das es funktioniert, liegt aber an der "Gutmütigkeit" von AutoIt, nicht daran, das es so gedacht ist. AutoIt wandelt halt automatisch um.

  • Prozesse beenden, suspenden

    • L3viathan
    • 8. Januar 2009 um 15:14

    Meint ich doch :P
    Na und _Process-Suspend gibts doch auch schon!
    Aber egal, ich will hier niemanden dumm machen.

  • Andere Sprache:D

    • L3viathan
    • 8. Januar 2009 um 15:12

    Nein, Java ist auch eine, nein nicht Script, aber Interpretersprache, d.h. beim "compilen" übersetzt der Compiler es nicht in Maschinencode, sondern in ne Zwischensprache (*.class).
    Java ist sicher toll und so, aber wenn man außer Au3 noch keine andere Sprache kann... :wacko: naja, ich weiß nicht.
    Da ist ja C++ einfacher...
    Um ein HelloWorld-Programm mit Java zu schreiben, musst du erstmal ein neues Konzept lernen, die Objektorientierung, (fast) alles muss in einer Klasse stehen.
    Und falls du nicht willst, dass man deine Programme decompilen kann, dann ist Java auch nicht das richtige.
    Ich glaube Basic ist genau das richtige für dich (außer du möchtest für Nicht-Windows proggen, dann würde ich C++ nehmen).
    Musst du aber selber wissen.
    MfG, L3viathan

  • Immer im Hintergrund

    • L3viathan
    • 7. Januar 2009 um 19:00

    Macht doch Funkeys Script, bloß statt WinSetOnTop... nehmt ihr

    [autoit]

    WinActivate("Progman")

    [/autoit]


    soweit ich mich erinnere die WindowsShell.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™