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

  • [abgeschlossen] µitLight August '10

    • L3viathan
    • 3. August 2010 um 21:48

    So könnten wir das sagen, ja:

    Es soll ein String von beliebiger Länge ver- und entschlüsselt werden können.
    Beispielsweise könnte der Funktionsaufruf so sein:

    [autoit]

    _Encrypt($sText,$sPasswd)
    _Decrypt($sText,$sPasswd)

    [/autoit]


    Bei asymmetrischer Verschlüsselung könnte $sPasswd dann ja je der öffentliche bzw. private Schlüssel sein, auch wenn ich nicht glaube, dass sich jemand daran versucht (*provozier*).

  • [abgeschlossen] µitLight August '10

    • L3viathan
    • 3. August 2010 um 20:59

    Thema: Verschlüsselung
    Eine beliebige Verschlüsselungsfunktion schreiben.

    Nun kommt mal wieder was schwereres, wobei es auch für Anfänger machbar sein sollte: Die Aufgabe ist die Erstellung eines Verschlüsselungsalgorithmusses. Welcher? Egal! Ob RSA, Cäsarchiffre oder Lattenzaunverschlüsselung, alles ist machbar.

    Bei dieser Ausgabe wird die GUI nicht bewertet, auch wenn sie mitgeliefert werden darf. Bewertet wird nach Sicherheit, Kreativität, und so weiter. Fragen zur Aufgabenstellung bitte hier im Thread oder per PM/Mail stellen. :thumbup:
    Diese Aufgabenstellung sollte sowohl den alten Hasen als auch den Anfängern Stoff zum Denken geben.

    Abgabetermin ist der 31.08.2010

    Hinweise (nicht mehr relevant)

    Sendet euer Ergebnis bitte bis dahin als Archiv an die offizielle µitLight-Adresse:
    uitlight@l3viathan.de
    Bitte meldet euch hier im Thread möglichst frühzeitig an.

    Viel Erfolg und Spaß! :thumbup:

    Anmeldungen: 14 (Ineluki, Andy, cinema, PrideRage, darksider, Yoruba, Bladerunner85, DjBlume, Sprenger120, Aquaplant, chrisatack, [s]UltimateX, marsi, Kleiner, SlowlyDead)[/s]
    Abgaben: 7 (cinema, PrideRage, Sprenger120, Kleiner, SlowlyDead, Marsi, Aquaplant)

    Die Auswertung ist dank der Hilfe von MatthiasG. und Schnitzel abgeschlossen!
    Die Ergebnisse werden vermutlich im Laufe des Tages am Ende des Threads veröffentlicht (Link folgt).

  • [beendet] µitLight Juli '10

    • L3viathan
    • 3. August 2010 um 19:11

    Kannst du mir die beschriebenen Fehler erklären?
    Diese Frage gilt außerdem noch TheShadowAE.

  • String über zwei Zeilen -> Textdatei danach durchsuchen

    • L3viathan
    • 3. August 2010 um 18:25

    Kannst du nicht einfach die komplette Datei mit FileRead lesen und dann nach "Sonne" & @CRLF & "Mond" suchen (mit StringInStr)

  • [beendet] µitLight Juli '10

    • L3viathan
    • 3. August 2010 um 14:19

    Die zugrunde liegenden Skripts veröffentliche ich auch hier:

    Dateien

    BurakSZ.zip 1,23 MB – 354 Downloads Ineluki.zip 2,2 kB – 332 Downloads TheShadowAE.zip 228,08 kB – 309 Downloads
  • [beendet] µitLight Juli '10

    • L3viathan
    • 3. August 2010 um 14:15

    Es haben leider nur drei AutoItler teilgenommen, entsprechend mau ist auch das Ergebnis.
    In alphabetischer Reihenfolge:

    BurakSZ


    Dein Skript überzeugt im Großen und Ganzen, auch wenn es einige kleinere Mängel gibt. Positiv hervorzuheben ist ertstmal, dass du eine Indizierung verwendest, wodurch die Suche deutlich schneller wird, allerdings mit der Einschränkung, dass diese Funktion (Die rekursive Dateisuche) - wie auch bei Ineluki - von kleiner27 geschrieben wurde.
    Allgemein aber wirkt das Programm einigermaßen ausgereift, es existieren umfangreiche Einstellungsmöglichkeiten (Neuindizierung, Auswahl der zu indizierenden Festplatten, Transparenzeinstellungen), das Skript verfügt über eine Updatefunktion, die ich für die Tests natürlich auskommentieren musste ;). Kommen wir nun zu den negativen Seiten:
    Im Ergebnisfenster sollten Funktionalitäten wie Öffnen oder Drucken der Dateien bestehen (durch ein Kontextmenü), allerdings funktionieren diese Funktionen nicht. Ebenso wenig funktioniert der "Eigenschaftsbereich" im rechten Teil des Ergebnisfensters (siehe Bild), genau wie die Angaben bei der Indizierung ("N/A"). Unverständlich bleibt auch, warum die Suche ihre Arbeit bei weniger als 5 Zeichen verweigert.
    Gelegentlich traten auch Laufzeitfehler auf:

    Fehler

    "...\uit\Juli 10\BurakSZ\FastSearch\FastSearch.au3"):
    Dim $aFolderPath[$iElementsFolder + 1][2]
    Dim $aFolderPath[^ ERROR
    Error: Array variable subscript badly formatted.


    Insgesamt ist das Skript unübersichtlich geschrieben und vermutlich nur für den Autor leicht lesbar.
    Ein Wort noch zum Design: Es wurde die ModernSplash-UDF von Gtaspider benutzt. Diese funktioniert bei mir zwar nicht (was allerdings an meinem System liegt, das Thema hatten wir ja schon mal), aber ist, wie ich aus Gtaspiders Video weiß, eine Wohltat für die Augen. Dennoch fließen optische Gesichtspunkte hier nicht zu einer besserern Bewertung, zumal die Optik eh nicht selbsterstellt ist.
    [Blockierte Grafik: http://www.abload.de/img/temp-err0woq.png]

    Ineluki


    Deine Suche ist sicherlich die einfachste der Abgaben, jedoch ist sie wenigstens übersichtlich (im Code) und verzichtet auf grafische Unnötigkeiten. Die GUI ist mehr oder weniger übersichtlich, es existieren Möglichkeiten zur Einschränkung der Suchergebnisse (Dateiendung) sowie eine optionale Dateiausgabe. Dennoch ist die GUI an einigen Teilen unsauber geschrieben, so muss man beispielsweise von Hand den Text aus dem Dateiendungsfeld löschen, wenn man diese Option verwenden möchte.
    Ein großes Manko ist die Verwendung einer Livesuche, wodurch die Suche durchaus mal mehrere Minuten dauern kann. Der Suchalgorithmus ist wieder von kleiner27, wie bei BurakSZ, jedoch diesmal live. Daher wird bei jedem Suchvorgang das Verzeichnis neu eingelesen, was, wie schon gesagt, ewig dauert.
    Wenn der Suchvorgang erstmal gestartet ist, lässt er sich nicht mehr abbrechen, der X-Button zeigt keine Wirkung.
    Insgesamt macht das Skript einen unausgereiften Eindruck, es ist mehr ein GUI-Aufsatz für kleiner27s UDF.

    TheShadowAE


    Bei dir positiv hervorzuheben ist, dass deine Suchfunktion als einziger Beitrag selbstgeschrieben ist. Nur funktioniert sie bei mir nicht. Überhaupt wirkt dein Skript so, als könnte es durchaus gut sein, wenn es funktionieren würde. Der Erfolg wird geschmälert durch fragwürdige Einbauten wie einen Kalender, der nicht benutzt wird (WTF?), eine Umschaltung zwischen verschiedenen Styles, sowie eine Trennung in Dateiname und -endung. Das Fenster lässt sich nicht verschieben, auch der X-Button funktioniert nie. Hinzu kommt, dass die #NoTrayIcon-Option damit bewirkt, dass ich das Skript nur noch über den Taskmanager abschießen kann.

    Kommen wir zur Siegerehrung. Es ist mir diesmal relativ schwer gefallen. Ich würde mir aber verlogen vorkommen, hier zweite und dritte Plätze zu vergeben.
    Deshalb gibt es diesmal - bitte verzeiht mir das - nur einen Sieger: BurakSZ.
    Auch wenn auch sein Skript von der Perfektion noch meilenweit entfernt ist, so macht es auf mich als einziges einen lauffähigen Eindruck.
    Hier also dein Bild:

    Bilder

    • uitJuli.png
      • 31,05 kB
      • 256 × 100
  • Dateisystem mit Tags

    • L3viathan
    • 3. August 2010 um 12:53

    Ich glaube nicht, dass es sowas nativ gibt, zumindest das Durchsuchen der dt. und engl. Wikipedia-Artikel zu Dateisystemen nach "Tag" ergab keine Treffer".

  • Gibt es eine Möglichkeit unter XP direkt an USER\Local Settings\ Application Data\ heran zu kommen?

    • L3viathan
    • 2. August 2010 um 16:14

    Müsste sonst nicht auch "%localappdata%\1\Datei.txt" gültig sein?

  • Gibt es eine Möglichkeit unter XP direkt an USER\Local Settings\ Application Data\ heran zu kommen?

    • L3viathan
    • 2. August 2010 um 16:06

    Wie wäre es mit @AppDataDir?

  • Herzlichen Glückwunsch, clezZ wird 15!!!

    • L3viathan
    • 1. August 2010 um 20:10

    Na das nenne ich mal Geschwisterliebe :thumbup:

    Herzlichen Glückwunsch, clezZ!

  • [beendet] µitLight Juli '10

    • L3viathan
    • 1. August 2010 um 00:39

    Der Wettbewerb ist beendet, es gab 3 Abgaben. Die Auswertung läuft.

  • Media Center

    • L3viathan
    • 1. August 2010 um 00:37

    Wie alle meine Skripte (außer es ist anderweitig angegeben) steht auch dieses unter CC-by-nc-sa-Lizenz, das heißt:

    Du darfst das Skript uneingeschränkt benutzen, weiterverbreiten, und verändern, unter folgenden Bedingungen:
    Nicht kommerziell (also nicht verkaufen), Namensnennung (also "L3viathan" + email ("mail@l3viathan.de") in die Credits jedes darauf aufbauenden Programmes) sowie Weitergabe unter den selben Bedingungen.

  • Media Center

    • L3viathan
    • 31. Juli 2010 um 22:51

    Danke, dummerweise kann ich das nur testen, wenn der Fehler wieder auftritt...
    Aber ich habe mir den Codeschnipsel gespeichert, nur für den Fall.

  • Tastatur & Maus deaktivieren wenn USB-Stick nicht angeschlossen ist

    • L3viathan
    • 31. Juli 2010 um 16:27

    EIn identisches Programm habe ich mal mit senthor geschrieben, namens GLi Block. Wenn du googelst, findest du es.
    Ich weiß nicht, ob die Source da beiliegt, aber wenn nicht, kann ich sie dir schicken, dann kannst du dir was abgucken.
    Zu deinen Fragen: Alles lässt sich blockieren, nur Strg+Alt+Entf nicht. Dennoch gibt es Workarounds...

  • Media Center

    • L3viathan
    • 31. Juli 2010 um 15:16

    Genau das mache ich momentan. Aber bei dem beschriebenen Fehler hängt er sich auf.

  • Media Center

    • L3viathan
    • 31. Juli 2010 um 13:29

    Okay, irgendwasmit Movie wird die nächste Version heißen^^

    Eine Frage noch zu dem Skript: Ich prüfe vor dem Abrufen, ob eine Internetverbindung besteht. Das klappt normalerweise auch gut. Aber: Wenn ein spezieller Fehler auftritt (der bei mir so alle 2 Wochen auftritt), die Fritz!Box nennt den Fehler eine PPPoE-Zeitüberschreitung, dann meldet er nicht, dass keine Internetverbindung besteht, sondern hängt sich auf. Gibt es sicherere Methoden, um rauszufinden, ob eine funktionierende Internetverbindung besteht?

  • täglich Forumausfälle (nur bei mir?)

    • L3viathan
    • 31. Juli 2010 um 13:25

    bei mir waren es keine 3 Tage, aber gestern.

  • Media Center

    • L3viathan
    • 30. Juli 2010 um 15:32

    Der Begriff "Media Center" ist vielleicht etwas übertrieben, aber ich habe nix passenderes griffiges gefunden. Mit diesem Programm verwaltet ihr eure Filmfestplatte.
    Folgendermaßen muss diese aufgebaut sein: Das Skript muss in einem Ordner (oder im Wurzelverzeichnis) der Festplatte liegen. In diesem Ordner liegt ein Ordner ~MC, der für das Media Center benötigt wird (Cache). Außerdem gibt es einen Ordner "Filme", in dem es pro Film einen Ordner gibt, der so heißt, wie der Film.
    Wie üblich ist das Ganze etwas unübersichtlich und gebastelt geschrieben, aber es funktioniert.
    Features:

    • GDI+-Oberfläche (teilweise)
    • Navigation mit Pfeiltasten
    • Enter wählt den Film aus, es werden dann rechts (sofern möglich) Informationen zu dem Film angezeigt. Diese werden (bei aktivier Internetverbindung) von Wikipedia geladen und dann im Cache-Ordner gespeichert, sodass dann auch ein Zugriff ohne Internet möglich ist.
    • Leertaste startet den Film mit dem Standardprogramm. Existieren mehrere Dateien, werden sie in alphabetischer Reihenfolge gestartet (zum Beispiel erst Matrix part 1.avi und dann Matrix part 2.avi)
    • Bei Druck auf einen Buchstaben wird zum ersten Film mit dem Anfangsbuchstaben navigiert.
    • Unterstützung von Schreibweisen wie "Matrix, The [ENG][LQ]" (Wird als "The Matrix" angezeigt, aber trotzdem unter M einsortiert.

    Das Ganze ist als Beta-version zu betrachten, an vielen Stellen fehlt noch Fehlerbehandlung oder Einstellungen (z.B. der Ordnernamen)

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <File.au3>
    #include <GDIPlus.au3>
    #include <Misc.au3>
    #include <Array.au3>
    #include <String.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    Const $sFolder = @ScriptDir & "\Filme"
    Dim $aMovies = _FileListToArray($sFolder, "*", 2)
    Dim $iMovies = $aMovies[0]
    _ArrayDelete($aMovies,0)
    Global $landscape=1

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

    $hGUI = GUICreate("Media Center", 781, 500, Default, Default, BitOR($WS_SIZEBOX, $WS_SYSMENU, $WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP))
    $hLabel_Title = GUICtrlCreateLabel("", 368, 104, 355, 37)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT)
    GUICtrlSetFont(-1, 20, 400, 0, "Calibri")
    $hLabel_Info = GUICtrlCreateLabel("", 384, 152, 387, 273)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT)
    $hCover = GUICtrlCreatePic("", 368, 0, 409, 97, $WS_GROUP)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT)
    $hPicList = GUICtrlCreatePic("", 0, 0, 368, 500, $WS_GROUP)
    GUICtrlSetResizing(-1, $GUI_DOCKLEFT + $GUI_DOCKHEIGHT)
    ;~ $hButton_Play = GUICtrlCreateButton("Play", 376, 440, 57, 57, $WS_GROUP)
    ;~ GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)
    ;~ $hButton_iMDb = GUICtrlCreateButton("iMDb", 440, 440, 57, 57, $WS_GROUP)
    ;~ GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)
    ;~ $hButton_Wiki = GUICtrlCreateButton("Wiki", 504, 440, 57, 57, $WS_GROUP)
    ;~ GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)
    ;~ $hButton_Temp1 = GUICtrlCreateButton("Funk 1", 568, 440, 57, 57, $WS_GROUP)
    ;~ GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)
    ;~ $hButton_Temp2 = GUICtrlCreateButton("Funk 2", 632, 440, 57, 57, $WS_GROUP)
    ;~ GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)
    $hButton_Temp3 = GUICtrlCreateButton("?", 751, 470, 30, 30, $WS_GROUP)
    GUICtrlSetResizing(-1, $GUI_DOCKRIGHT + $GUI_DOCKHEIGHT + $GUI_DOCKWIDTH)

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

    _GUI_Set_Standard()
    GUISetState(@SW_SHOW)

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

    #Region GDI+
    _GDIPlus_Startup()
    Global $hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(781,500, $hGraphics) ;Bitmap, das geschrieben wird
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap) ;Buffer, in den geschrieben wird
    _SetBitmapToCtrl($hPicList, $hBitmap)
    Global $iSel = 0
    Global $iStringsX = 0

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

    $dll = DllOpen("user32.dll")
    _Move(1)
    _Move(-1)
    #EndRegion

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    ;~ case $hButton_Play
    ;~ _play()
    case $hButton_Temp3
    MsgBox(64,"Credits","Programmiert von L3viathan ([email='mail@l3viathan.de'][/email])" & @CRLF & @CRLF & "Webseite: http://l3viathan.de" & @CRLF & @CRLF & "Mit freundlicher Unterstützung von Carsten8 (autoit.de) bei den GDI+-Arbeiten.")
    Case $GUI_EVENT_MAXIMIZE
    ;Landscape-Mode
    $landscape=1
    _move(0)
    Case $GUI_EVENT_RESIZED
    _move(0)
    Case $GUI_EVENT_RESTORE
    ;Portrait-Mode
    $landscape=1
    _move(0)
    EndSwitch
    Select
    Case _IsPressed("28", $dll)
    _Move(1)
    sleep(50)
    Case _IsPressed("26", $dll)
    _Move(-1)
    sleep(50)
    Case not WinActive("Media Center")
    _GUI_Unset_Hotkeys()
    WinWaitActive("Media Center")
    _GUI_Set_Hotkeys()
    _Move(1)
    _Move(-1)
    EndSelect
    WEnd

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

    Func _GUI_Set_Standard()
    GUICtrlSetData($hLabel_Title, "Media Center")
    GUICtrlSetData($hLabel_Info, "Dieses Programm ermöglicht ein erleichtertes Durchstöbern ihrer Filmfestplatte." & @CRLF & "Es steht unter Open Source (cc-by-nc-sa)")
    ;~ GUICtrlSetData($hButton_Play, "Play")
    ;~ GUICtrlSetData($hButton_iMDb, "iMDb")
    ;~ GUICtrlSetData($hButton_Wiki, "Wiki")
    ;~ GUICtrlSetData($hButton_Temp1, "?")
    ;~ GUICtrlSetData($hButton_Temp2, "?")
    GUICtrlSetData($hButton_Temp3, "?")

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

    GUISetBkColor(0xffffff)
    GUICtrlSetColor($hLabel_Title, 0x0)
    GUICtrlSetColor($hLabel_Info, 0x0)
    _GUI_Set_Hotkeys()
    EndFunc ;==>_GUI_Set_Standard
    Func _GUI_Set_Hotkeys()
    HotKeySet("{SPACE}","_play")
    HotKeySet("{ENTER}","_highlight")
    For $i=97 To 122
    HotKeySet(Chr($i),"_jump")
    Next
    EndFunc
    Func _GUI_Unset_Hotkeys()
    HotKeySet("{SPACE}")
    HotKeySet("{ENTER}")
    For $i=97 To 122
    HotKeySet(Chr($i))
    Next
    EndFunc
    Func _GetMovie_Info($sTitle)
    $sTitle=_BuildTitle($sTitle)
    If FileExists(@ScriptDir & "\~MC\" & $sTitle & ".txt") Then Return FileRead(@ScriptDir & "\~MC\" & $sTitle & ".txt",FileGetSize(@ScriptDir & "\~MC\" & $sTitle & ".txt"))
    GUICtrlSetData($hLabel_Info,"Informationen werden abgerufen...")
    ;~ Return "keine Internetverbindung";1&1 sucks
    If not Ping("http://google.de",250) Then
    $aFound=_StringBetween(StringRegExpReplace(BinaryToString(InetRead("http://de.wikipedia.org/w/index.php?title=" & StringReplace($sTitle," ","_")),4),"<.+?>",""),"[Bearbeiten] Handlung","[Bearbeiten]")
    Else
    $aFound="keine Internetverbindung."
    EndIf
    If IsArray($aFound) Then
    FileWrite(@ScriptDir & "\~MC\" & $sTitle & ".txt",$aFound[0])
    Return $aFound[0]
    Else
    If not StringInStr($sTitle,"(Film)") Then Return _GetMovie_Info($sTitle & " (Film)")
    Return "Zu diesem Film konnte keine Beschreibung abgerufen werden."
    EndIf
    MsgBox(0,"","")
    EndFunc ;==>_GetMovie_Info
    Func _BuildTitle($titel)
    $titel=StringReplace($titel,"[ENG]","")
    $titel=StringReplace($titel,"[EN]","")
    $titel=StringReplace($titel,"[LQ]","")
    $titel=StringReplace($titel,"[HQ]","")
    $titel=StringReplace($titel,"[SUB]","")
    If StringLen($titel) - StringInStr($titel,",") = 4 Then $titel=StringRight($titel,3) & " " & StringTrimRight($titel,5)
    Return StringStripWS($titel,7)
    EndFunc
    ;~ #cs
    Func _Move($iVal)
    Global $iSel
    _WinAPI_RedrawWindow($hGUI)
    _GDIPlus_GraphicsClear($hBuffer,0x00ffffff)
    $iSel += $iVal
    If $iSel = UBound($aMovies) Then $iSel -= 1
    If $iSel = -1 Then $iSel = 0
    $iSize = -12
    $iI = 0
    For $i = $iSel-12 to $iSel+12
    $iTempSize = $iSize
    If $iSize < 0 Then $iTempSize = $iSize * -1
    $iTempSize *= 2
    If $i >= 0 And $i < UBound($aMovies) Then _GDIPlus_GraphicsDrawString($hBuffer, _BuildTitle($aMovies[$i]), 8, -150+$iI*(@DesktopHeight/24), "Calibri", 16-$iTempSize)
    If $i=$iSel Then _GDIPlus_GraphicsDrawLine($hBuffer,0,-135+$iI*(@DesktopHeight/24),5,-135+$iI*(@DesktopHeight/24))
    $iI += 1
    $iSize += 1
    Next
    _GDIPlus_GraphicsDrawImageRect($hGraphics,$hBitmap,0,0,781,500)
    If GUICtrlRead($hLabel_Title) <> "Media Center" Then
    GUICtrlSetData($hLabel_Title, "Media Center")
    GUICtrlSetData($hLabel_Info, "Dieses Programm ermöglicht ein erleichtertes Durchstöbern ihrer Filmfestplatte." & @CRLF & "Es steht unter Open Source (cc-by-nc-sa)")
    EndIf
    Return 1
    EndFunc
    ;~ #ce
    Func _Goto($iX)
    $iSel=$iX
    _Move(0)
    Return 1
    EndFunc
    Func _highlight()
    Global $iSel
    _WinAPI_RedrawWindow($hGUI)
    _GDIPlus_GraphicsClear($hBuffer,0x00ffffff)
    If $iSel = UBound($aMovies) Then $iSel -= 1
    If $iSel = -1 Then $iSel = 0
    $iSize = -12
    $iI = 0
    For $i = $iSel-12 to $iSel+12
    $iTempSize = $iSize
    If $iSize < 0 Then $iTempSize = $iSize * -1
    $iTempSize *= 2
    If $i <> $iSel And $i >= 0 And $i < UBound($aMovies) Then _GDIPlus_GraphicsDrawString($hBuffer, _BuildTitle($aMovies[$i]), 8, -150+$iI*(@DesktopHeight/24), "Calibri", 16-$iTempSize)
    If $i = $iSel And $i >= 0 And $i < UBound($aMovies) Then
    _GDIPlus_GraphicsDrawString($hBuffer, _BuildTitle($aMovies[$i]), 28, -150+$iI*(@DesktopHeight/24), "Calibri", 16-$iTempSize)
    _GDIPlus_GraphicsDrawLine($hBuffer,0,-135+$iI*(@DesktopHeight/24),20,-135+$iI*(@DesktopHeight/24))
    EndIf
    $iI += 1
    $iSize += 1
    Next
    _GDIPlus_GraphicsDrawImageRect($hGraphics,$hBitmap,0,0,781,500)
    ;nun Infos laden:
    GUICtrlSetData($hLabel_Title,_BuildTitle($aMovies[$iSel]))
    GUICtrlSetData($hLabel_Info,_GetMovie_Info($aMovies[$iSel]))
    EndFunc
    Func _play()
    _GUI_Unset_Hotkeys()
    $result=_getMovie($aMovies[$iSel])
    If isArray($result) Then
    GUISetState(@SW_HIDE)
    If $result[0] > 3 Then
    $file=FileOpenDialog("Filmdatei auswählen",@ScriptDir & "Filme\" & $aMovies[$iSel] & "\","Alle Dateien (*.*)",3)
    If not @error And $file <> "Thumbs.db" Then ShellExecuteWait($file)
    Else
    For $i=1 To $result[0]
    If $result[$i] <> "Thumbs.db" Then ShellExecuteWait(@ScriptDir & "\Filme\" & $aMovies[$iSel] & "\" & $result[$i])
    Next
    EndIf
    GUISetState(@SW_SHOW)
    Else
    GUISetState(@SW_HIDE)
    ShellExecuteWait(@ScriptDir & "\Filme\" & $aMovies[$iSel] & "\" & $result)
    GUISetState(@SW_SHOW)
    EndIf
    WinActivate("Media Center")
    _GUI_Set_Hotkeys()
    _Move(1)
    _Move(-1)
    EndFunc
    Func _getMovie($name)
    $dateien=_FileListToArray(@ScriptDir & "\Filme\" & $name,"*",1)
    If IsArray($dateien) And $dateien[0]=1 Then Return $dateien[1]
    Return $dateien
    EndFunc
    Func _SetBitmapToCtrl($CtrlId, $hBitmap)
    Local Const $STM_SETIMAGE = 0x0172
    Local Const $IMAGE_BITMAP = 0
    Local Const $SS_BITMAP = 0xE
    Local Const $GWL_STYLE = -16

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

    Local $hWnd = GUICtrlGetHandle($CtrlId)
    If $hWnd = 0 Then Return SetError(1, 0, 0)

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

    Local $oldStyle = DllCall("user32.dll", "long", "GetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE)
    If @error Then Return SetError(2, 0, 0)
    DllCall("user32.dll", "long", "SetWindowLong", "hwnd", $hWnd, "int", $GWL_STYLE, "long", BitOR($oldStyle[0], $SS_BITMAP))
    If @error Then Return SetError(3, 0, 0)

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

    Local $oldBmp = DllCall("user32.dll", "hwnd", "SendMessage", "hwnd", $hWnd, "int", $STM_SETIMAGE, "int", $IMAGE_BITMAP, "int", $hBitmap)
    If @error Then Return SetError(4, 0, 0)
    If $oldBmp[0] <> 0 Then DllCall("GDI32.dll", "int", "DeleteObject", "int", $oldBmp[0])
    Return 1
    EndFunc
    Func _jump()
    $hk=@HotKeyPressed
    $res=_ArrayLetterFind($hk)
    If not @error Then _Goto($res)
    EndFunc
    Func _ArrayLetterFind($hk)
    For $i=0 To UBound($aMovies)-1
    ;~ MsgBox(0,$hk & " " & $aMovies[$i], StringLeft($aMovies[$i],1))
    If StringLeft($aMovies[$i],1) = $hk Then Return $i
    Next
    SetError(1)
    EndFunc

    [/autoit]

    Dateien

    temp.PNG 39,54 kB – 0 Downloads
  • Seriencode ersteller erstellt nur 2stellige Nummern

    • L3viathan
    • 29. Juli 2010 um 13:20

    wenn allerdings jeder Nachfahr einen Rechner hinzufügt bei einem Durchschnitt von 1,6 Kindern pro Frau, geht das ganze noch schneller.

  • Seriencode ersteller erstellt nur 2stellige Nummern

    • L3viathan
    • 29. Juli 2010 um 12:38

    Das zu Bruteforcen wäre eh sinnlos: 36^10 = 3.656.158.440.062.976 Möglichkeiten...

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™