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. autoBert

Beiträge von autoBert

  • Lizenzsystem [Version 2.0]

    • autoBert
    • 24. April 2011 um 13:13
    Zitat von Molaynox

    Zitat von »Faweyr«Was bestimmt auch interresant wäre, wenn es keine Key-List gibt, sondern der eingegebene Code einem bestimmten Schema entsprechen muss, so könnte man zb die Software offline registieren und es könnten nicht alle Codes "gehackt" werden! :)Hatte ich schonmal hier gepostest. Der Lizenzkey musste dabei einen StringRegExp entsprechen, den man ja entsprechend verändern köntte so das ein Schema entsteht wie der Lizenzkey aufgebaut sein muss.


    Das ist dann aber definitiv unsicherer als eine abgesicherte php-Datenbanklösung,

    mfg autoBert

  • nof@ker2 ist 17

    • autoBert
    • 23. April 2011 um 22:58

    Happy Birthday nof@ker2, alle guten Wünsche besonders Gesundheit und Glück. Lass es dich heute richtig feiern :party:

    wünscht autoBert

  • Skript abkürzen

    • autoBert
    • 22. April 2011 um 23:10

    Hallo DJJohnny,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee

    und jetzt zu deiner Frage: ja es geht z.B.: so

    Spoiler anzeigen
    [autoit]

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

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

    $Form1 = GUICreate("Beispiel", 268, 108, 839, 420)
    $Button1 = GUICtrlCreateButton("Start", 72, 24, 115, 25, $WS_GROUP)
    $Label1 = GUICtrlCreateLabel("Exit in:", 56, 64, 53, 23)
    $Label2 = GUICtrlCreateLabel("10 Sekunden", 128, 64, 85, 23)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $Button1
    For $i = 10 To 0 Step -1 ;müsste eigentlich to 1 sein, da das sllep hinterher koomtt
    GUICtrlSetData($Label2, $i & " Sekunden")
    Sleep(1000)
    Next
    Exit
    ;case $GUI_EVENT_CLOSE ;schliessen über X bzw. F4 oder ESC
    ;Exit
    EndSwitch
    WEnd

    [/autoit]

    mfg autoBert

  • kleines Problem mitm IE

    • autoBert
    • 22. April 2011 um 18:02

    Hallo Deep Vulcano,

    mach es mit GuiGetMsg(1)

    Spoiler anzeigen
    [autoit]

    #cs ----------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?page…4679#post164679

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

    Skriptbeispiel für den Umgang mit _IECreateEmbedded, _IEErrorHandlerRegister, _IENavigate, _IEAction GuiCtrlCreateProgress, _IEPropertyGet
    #ce ----------------------------------------------------------------------------
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    $hStarter = GUICreate("IE-Starter", 600, 400)
    $hStart = GUICtrlCreateButton("IE &starten", 5, 5)
    GUISetState(@SW_SHOW)

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

    _IEErrorHandlerRegister()

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

    $oIE = _IECreateEmbedded()
    $SinkObject = ObjEvent($oIE, "IEEvent_", "DWebBrowserEvents2") ; Ereignisse den UDFs zuweisen, beginnend mit IEEvent_
    $hIE = GUICreate("Embedded Web control Test", 640, 600, _
    (@DesktopWidth - 640) / 2, (@DesktopHeight - 580) / 2, _
    $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
    GUISetState(@SW_HIDE)
    $hInput = GUICtrlCreateInput("Hier URL eingeben: ", 10, 10, 500)
    $hGo = GUICtrlCreateButton("&Go", 520, 10, 50)
    $GUIActiveX = GUICtrlCreateObj($oIE, 0, 40, 658, 498)
    GUICtrlSetResizing($GUIActiveX, $GUI_DOCKAUTO)
    $idProgress = GUICtrlCreateProgress(0, 520, 640, 28)
    GUICtrlSetResizing(-1, $GUI_DOCKSTATEBAR)

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

    $bFirst = True

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

    ; Waiting for user to close the window
    While 1
    $msg = GUIGetMsg(1)
    Switch $msg[1] ;prüft vo welchem Fenster die Benachrichtugun ist
    Case $hStarter ;
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hStart
    GUISetState(@SW_SHOW, $hIE)
    GUISetState(@SW_HIDE, $hStarter)
    If $bFirst Then
    _IENavigate($oIE, "http://www.autoit.de/index.php?page=Thread&postID=164679#post164679")
    $bFirst = False
    EndIf
    EndSwitch
    Case $hIE
    Switch $msg[0]
    Case $GUI_EVENT_CLOSE
    GUISetState(@SW_SHOW, $hStarter)
    GUISetState(@SW_HIDE, $hIE)

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

    Case $hGo
    _IENavigate($oIE, GUICtrlRead($hInput))
    EndSwitch
    EndSwitch
    WEnd

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

    $SinkObject = 0 ; IE Eventzuweisung aufheben
    $oIE.Quit ; IE beenden
    $oIE = 0
    Exit

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

    Func IEEvent_ProgressChange($Progress, $ProgressMax)
    $percent = Int(($Progress * 100) / $ProgressMax)
    If $percent >= 0 And $percent <= 100 Then GUICtrlSetData($idProgress, $percent)
    EndFunc ;==>IEEvent_ProgressChange

    [/autoit]

    mfg autoBert

  • Ich bekomm kein Handle von Kaspersky

    • autoBert
    • 22. April 2011 um 17:27
    Zitat von Tron

    Ich habe hier schon zig mal geschrieben, dass ich nur den Fensterstatus prüfen möchte!
    Von Fernsteuerung ist hier kein Wort gefallen


    Was hast du davon wenn du weist das Kaspersky offen ist? Schau doch einfach auf den Bildschirm!

  • Quelltext auslesen geht nicht!

    • autoBert
    • 22. April 2011 um 12:29

    Ich bekomme mit dem von dir geposteten Link das Impressum => kein Ei zu finden.

    [OT]ich habe mich in der FAQ der Seite umgeschaut und bin über mache Tipps verwundert:

    Zitat

    Die Verbindung zum Server wurde zurück gesetzt, während die Seite geladen wurde
    ...
    oder

    - Unter "C:\Windows\System32\drivers\etc\hosts" folgendes überprüfen: Dort stehen (bei machen PCs) alle Internetverbindungen, die nicht aufgerufen werden sollen - weil sie zum Beispiel kostenpflichtige Dienste enthalten, problematische Cookies und ähnliches. Dort alles Löschen außer den Eintrag: "127.0.0.1 localhost". Unbedingt darauf Achten, das dieser Wert ("127.0.0.1 localhost") niemals gelöscht wird!

    oder

    - KAV (Kaspersky Anti-Virus) oder ähnliche Virenscanner zum Test deaktivieren.


    [/OT]

    mfg autoBert

  • Ich bekomm kein Handle von Kaspersky

    • autoBert
    • 22. April 2011 um 10:36
    Zitat von Tron

    ich versuche jetzt schon eine Weile das Handle vom Kaspersky Main-Window herauszufinden.
    Wenn ich "WinGetHandle" oder "WinList" verwende, scheint das Main-Window überhaupt nicht zu existieren.

    Seltsam ist, dass mit dem AutoIt v3 Window Info Tool sofort alles angezeigt wird:

    Zitat von Molaynox

    Ich vermute mal das Kaspersky sich mit Absicht nicht von irgendwelchen Scripts steuern lässt. (Wäre ja sonst auch leicht für Viren auszunutzen.)


    Das Window Info Tool ist Kaspersky als unschädlich bekannt, andere Programme, Also schützt sich Kaspersky!

    Bitte diesen Thread nicht supporten, da es eindeutig gegen den Sinn der Forenregeln geht eine Sicherheitssoftware (nicht deren Installation) fern zu steuern und damit in diesem Thread eine Vorlage für das Umgegen von Sicherheitssoftware zu geben.

    mfg autoBert

  • bestimmte Zeile auslesen

    • autoBert
    • 21. April 2011 um 13:26

    Hallo oxi,

    herzlich willkommen im Forum und viel Spass mit AutoIt.

    Hier kannst du dir die deutsche Hilfe herunterladen.
    Hier gibt es ein AutoIt-Tutorial: http://wiki.autoit.de/wiki/index.php/TutorialSehr hilfreich ist auch das Buch von peethebee .

    wenn du in der Hilfe => benutzerdefinierte Funktionen Referenz => Word-Management dazu nichts findest (wovon ich stark ausgehe) musst du es über ObjCreate machen. Sichte dazu mal Threads von BugFix die folgende Stichwörter enthalten Word ObjCreate,

    mfg autoBert

  • Progressbar will einfach nicht

    • autoBert
    • 21. April 2011 um 13:13

    Hallo Deep Vulcano,

    das die KB/s nicht angezeigt werden liegt wohl daran dass du sie nie ausrechnest. Hier einmal das Skript um die kb/s ergänzt:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #include <IE.au3>

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

    ;ProcessClose ( "xxx" )

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

    Opt("MustDeclareVars", 1)
    HttpSetUserAgent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")
    Global $VersionsInfo = "xxx"
    Global $Neueversion = "xxx" ;<=========== wie kannst du hier schon wissen, dass eine neue Version mit diesem Namen existiert?
    Global $ProgrammVersion = "1.0", $Version
    Global $Form1, $Updatebutton, $Update, $Abbrechen, $Progress1, $Info
    Global $nMsg
    Global $Ini, $i, $int
    Global $Size = 0, $SizeDH, $SizeDH2, $SizeDH22, $File, $aInfo, $iPercent
    Global $lblFortschritt, $gesamt, $Label1, $geladen, $Status, $MB, $Downloadgeschwindigkeit, $Gedownloaded, $GedownloadedinMB, $GedownloadedinMBgerundet, $von, $dwlil, $Time, $Bytes, $NewBytes
    Local $aData; = InetGetInfo($File) ;<<======== InetgetInfo holt Info über einen im Hintergrund laufenden Download (InetGet) es läuft aber keiner
    Local $tStart, $tDiff, $nKbSec
    $Form1 = GUICreate("xxx Center |--> Updater", 349, 123, 192, 124)
    $Updatebutton = GUICtrlCreateButton("Auf Updates prüfen", 8, 88, 121, 25, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Beenden", 232, 88, 105, 25, $WS_GROUP)
    $Progress1 = GUICtrlCreateProgress(8, 8, 329, 25)
    $Info = GUICtrlCreateButton("Über", 136, 88, 89, 25, $WS_GROUP)
    $gesamt = GUICtrlCreateLabel("", 56, 40, 50, 17)
    GUICtrlSetState(-1, $GUI_HIDE)
    $lblFortschritt = GUICtrlCreateLabel("", 8, 40, 250, 17)
    GUICtrlSetState(-1, $GUI_HIDE)
    $Downloadgeschwindigkeit = GUICtrlCreateLabel("", 288, 40, 47, 17)
    GUICtrlSetState(-1, $GUI_HIDE)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE, $Abbrechen
    Exit
    Case $Info
    MsgBox(0, "Info", "Dieser Updater gehört zum xxx Center!")
    Case $Updatebutton
    GUICtrlSetState($Updatebutton, $GUI_DISABLE)
    GUICtrlSetState($Abbrechen, $GUI_DISABLE)
    GUICtrlSetData($Status, "Auf neue Version prüfen")
    $Ini = InetGet($VersionsInfo, @ScriptDir & "\Update\Version.ini", 1) ;Läd die Version.txt vom Webspace herunter und wandelt si in Version.ini um.
    $Ini = 1 ;<=========== damit mein Test funktioniert
    If $Ini = 0 Then
    GUICtrlSetState($Updatebutton, $GUI_ENABLE)
    GUICtrlSetState($Abbrechen, $GUI_ENABLE)
    GUICtrlSetData($Status, "")
    MsgBox(0, "xxx Center", "Es ist ein Fehler aufgetreten bitte informiren Sie den Hersteller!" & @CRLF & "Überprüfen Sie gegebenfalls Ihre Internetverbindung!");Überprüft ob der Download erfolgt ist
    Else
    $Version = IniRead(@ScriptDir & "\Update\Version.ini", "Version", "Version", "");Ließt Version.ini aus
    If $Version = $ProgrammVersion Then ;Überprüft ob es eine neue Version gibt
    GUICtrlSetData($Status, "")
    MsgBox(0, "xxx Center", "Es steht kein Update zur Verfügung!")
    GUICtrlSetState($Updatebutton, $GUI_ENABLE)
    GUICtrlSetState($Abbrechen, $GUI_ENABLE)
    Else
    GUICtrlSetData($Status, "")
    $Update = MsgBox(4, "xxx Center", "Eine neue Version ist verfügbar." & @CRLF & "Soll diese jetzt herunter geladen weden?")
    FileDelete(@ScriptDir & "\Update\Version.ini")
    EndIf
    If $Update = 7 Then
    MsgBox(0, "xxx Center", "Bitte holen Sie das Update schnellstmöglich nach!")
    GUICtrlSetState($Updatebutton, $GUI_ENABLE)
    GUICtrlSetState($Abbrechen, $GUI_ENABLE)
    EndIf
    If $Update = 6 Then
    $Neueversion = "http://download.lima-city.de/harrybotter/Versions/Downloader.exe" ;<============== damit ih was zum Downloaden habe
    ;GUICtrlSetData($Abbrechen, $GUI_DISABLE) ;< ============ deshalb die 128
    GUICtrlSetState($Abbrechen, $GUI_DISABLE) ;< ============ so ist es richtig
    $Size = InetGetSize($Neueversion) ;Bestimmen der Datei größe
    ConsoleWrite("Grösse: " & $Size & @CRLF)
    $SizeDH2 = Execute($Size / 1048576) ; Bestimmen der Dateigröße in MB
    $SizeDH22 = StringFormat("%.2f", Round($SizeDH2 / 1, 2)); Bestimmen der Dateigröße in MB (gerundet)
    GUICtrlSetState($lblFortschritt, $GUI_SHOW)
    GUICtrlSetState($Downloadgeschwindigkeit, $GUI_SHOW)
    If Not FileExists(@ScriptDir & "\Update") Then DirCreate(@ScriptDir & "\Update") ;<========= Verzeichniss anlegen wenn es noch bicht besteht
    $File = InetGet($Neueversion, @ScriptDir & "\Update\UPDATE.exe", 1, 1) ;lädt die neue version herunter

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

    $tStart = TimerInit() ;wird zum ausrechnen der DL geschwindigkeit benötigt
    Do
    $aInfo = InetGetInfo($File)
    Sleep(250)
    $iPercent = Round($aInfo[0] / $Size * 100, 2)
    If $iPercent <> GUICtrlRead($Progress1) Then
    $tDiff = TimerDiff($tStart) / 1000 ;wird zum ausrechnen der DL geschwindigkeit benötigt
    $nKbSec = Round($aInfo[0] / $tDiff / 1024, 1)
    GUICtrlSetData($Downloadgeschwindigkeit, $nKbSec & " KB/s")
    If $Size = 0 And $aInfo[1] <> 0 Then $Size = $aInfo[1]
    GUICtrlSetData($lblFortschritt, Round($aInfo[0] / 1048576, 2) & " / " & $SizeDH22 & " MB") ;<============ bisheriger Download in MB
    GUICtrlSetData($Progress1, $iPercent)
    EndIf
    Until $aInfo[2]
    InetClose($File) ; Handle schließen um die Resourcen freizugeben
    If $aInfo[3] Then ;<=========== muss erfolgreich gewesen sein
    GUICtrlSetData($lblFortschritt, "Fertig")
    MsgBox(0, "xxx Center", "Das Update wurde erfolgreich heruntergeladen! Es wird jetzt gestartet!" & @CRLF & @CRLF & "Bitte installieren/überschreiben Sie die neuen Dateien in das Hauptverzeichnis vom xxx Center!")
    ShellExecute(@ScriptDir & "\Update\UPDATE.exe")
    Else
    MsgBox(0, "ERROR", "Es ist ein Fehler aufgetreten bitte informiren sie den Hersteller!")
    GUICtrlSetState($Abbrechen, $GUI_ENABLE)

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

    EndIf
    GUICtrlSetState($Abbrechen, $GUI_ENABLE)
    GUICtrlSetState($Downloadgeschwindigkeit, $GUI_HIDE)
    GUICtrlSetState($lblFortschritt, $GUI_HIDE)
    EndIf
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    ;die wichtigfgsten Änderungen habe ich mit ;<======== gekennzeichnet. Einige Zeilen musst/kannst du wieder löschen. Du scheinst einen ganzen Haufen unnützer Variablen in deinem Skript mitzuführen,

    mfg atoBert

  • Text Ticker

    • autoBert
    • 21. April 2011 um 12:01
    Zitat von bordermax

    bin noch relativ unerfahren was autoit angeht...


    na da hast du dann die letzten 1 1/2 Jahre wenig gemacht.

    Zitat von bordermax

    hat jemand ne idee oder einen tipp für mich wie ich einen ganz einfachen text-ticker mit horizontalem Ablauf hinbekomme ?


    falls du so etwas meinst:

    Spoiler anzeigen
    [autoit]

    #include <StaticConstants.au3>

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

    Global $iPos = 0
    Global $sText = "Das ist der Text, der immer wieder durchläuft! Viel Spass damit"

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

    Global $mygui = GUICreate('my gui', 200, 200)
    Global $myl2 = GUICtrlCreateLabel($sText, 10, 50, 180, 15,$SS_LEFTNOWORDWRAP)
    GUISetState()
    AdlibRegister('_Laufschrift')
    While GUIGetMsg() <> -3
    WEnd

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

    Func _Laufschrift()
    GUICtrlSetData($myl2,StringMid($sText,$iPos) & " " & $sText)
    $iPos = $iPos +1
    if $iPos > StringLen($sText) Then $iPos = 0
    EndFunc

    [/autoit]

    µ BugFix hat afair dafür eine UDF mit Beispielen müsste in einem der µit-light (3-6 Monate zurück) gepostet sein,

    mfg autoBert

  • Festplatte retten

    • autoBert
    • 21. April 2011 um 11:11
    Zitat von Alina

    Lache mich gerade weg. Überlege mal irgendwerder, dervon Technik keine Ahnung hat, schaut
    ins Eisfach und sieht da eine Festplatte. :rofl:
    Opa und/oder Oma noch zuhause? Die könnten es als Schrott ansehen und weg schmeißen.


    Oder bei solcher Bezeichnung WD Caviar Black verzweifeln, da sie mit einem normalen Öffner nicht an den köstlichen Inhalt kommen,

    mfg autoBert

  • Tab Controll

    • autoBert
    • 21. April 2011 um 09:16

    Hallo Detroid49,

    nein, siehe:

    Zitat

    Bemerkungen
    Derzeit können nur Button, Label, Checkbox, Group, Radio, Edit, Input, List, Listview, ListviewItem, Treeview, TreeviewItem, Graphic, Progress, Slider und Combo Controls eingefärbt werden.

    aus dt. Hilfe zu GuiCtrlSetbk

    mfg autoBert

  • Filewrite auf FTP

    • autoBert
    • 20. April 2011 um 18:32

    Hallo sumsum,

    bin erst spät in den Thread eingestiegen, da habe ich wohl deinen Beitrag überlesen. Aber FileWriteLine muss funktionieren, da hat Baam wohl im damaligen Stand noch irgendeinen anderen Fehler gehabt bzw. beim Überprüfen einen Fehler gemacht,

    mfg autoBert

  • Fehlende/falsche Abbruchbedingung

    • autoBert
    • 20. April 2011 um 18:27
    Zitat von xeon2k

    Ich dachte eigentlcih immer, dass bei AND beide Bedingungen zutreffen müssen und bei OR nur eine. Bin ich wohl falsch informiert ?(


    Nein, da bist du richtig informiert und ich kann in Schnitzel 's Aussage nichts gegenteiliges erkennen.

    mfg autoBert

  • Filewrite auf FTP

    • autoBert
    • 20. April 2011 um 17:40

    Hallo Baam,

    wie wäre es mit

    Zitat

    FileWriteLine

    Fügt eine Zeile Text an das Ende einer zuvor geöffneten Textdatei.

    Quelle: dt. Hilfe


    mfg autoBert

  • Ping

    • autoBert
    • 19. April 2011 um 15:21

    Da du anscheinend nur Wissen willst ob eine INet-Verbindung besteht, solltest du Osars Online-Prüfung nehmen, diese ist bei mir wenn Online ca. 300 mal schneller als ping,

    mfg autoBert

  • bild in gui anzeigen und wechseln lassen

    • autoBert
    • 19. April 2011 um 15:10

    Hallo Maximus1,

    hier damit du siehst dass es funktionieren kann Bilder aus dem INet in einer GUI anzuzeigen:

    [autoit]

    #cs -----------------------------------------------------------------------------------------------------------------------

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

    AutoIt Version: 3.3.6.1
    Author: AutoBert: http://www.autoit.de/index.php?

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

    Skriptbeispiel für den Umgang mit FileOpenDialog, GUICtrlCreateListView, GUICtrlCreateListViewItem,
    GUIRegisterMsg speziell für das Event $GUI_EVENT_DROPPED 347
    #ce -------------------------------------------------------------------------------------------------------------------------
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <GuiListView.au3>
    #include <String.au3>
    #include <INet.au3>
    #include <array.au3>
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    If Not FileExists(@ScriptDir & "\Avatars") Then DirCreate(@ScriptDir & "\Avatars")

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

    Global $msg, $idfrmMain
    Global $hPic = -99
    Global $iPageNr = 1
    Global $sAvatrBegin = 'wcf/images/avatars/'
    Global $sSubDomain = "http://1.2.3.13/bmi/" ;muss evtl. angepasst werden

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

    InetGet($sSubDomain & "www.autoit.de/wcf/images/avatars/avatar-1152.jpg", @ScriptDir & "\avatars\avatar-1152.jpg")

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

    $idfrmMain = GUICreate("Avatar - Viewer", 824, 550)
    $hPic = GUICtrlCreatePic(@ScriptDir & "\avatars\avatar-1152.jpg", 5, 5, 150, 78)
    Local $idLV_User = GUICtrlCreateListView("Name: | Avatar: ", 519, 5, 300, 490, BitOR($LVS_SHOWSELALWAYS, $LVS_REPORT))
    Local $idbtnShow = GUICtrlCreateButton("&Zeige Avatar", 519, 500, 140, 25)
    Local $idbtnClearLV = GUICtrlCreateButton("&Listview &leeren", 669, 500, 140, 25)
    Local $idlblSize = GUICtrlCreateLabel("", 5, 500, 500, 25)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    _getMembers()
    ;AdlibRegister("_getMembers")

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

    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $idbtnClearLV
    _GUICtrlListView_DeleteAllItems($idLV_User)
    Case $idbtnShow
    $aItem = _GUICtrlListView_GetItemTextArray($idLV_User)
    _ShowPic($aItem)
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

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

    Func _getMembers()
    Local $sSource, $aUser, $aUserNr, $aAvatarrs
    $sSource = BinaryToString(_INetGetSource("http://www.autoit.de/index.php?page=MembersList&pageNo=" & $iPageNr & "searchID=0&sortField=posts&sortOrder=DESC"))
    ;ConsoleWrite($sSource & @CRLF)
    $aUser = _StringBetween($sSource, 'title="Benutzerprofil von &raquo;', '&laquo; aufrufen"')
    For $i = 54 To 0 Step -2
    _ArrayDelete($aUser, $i)
    Next
    ;_ArrayDisplay($aUser) ; 0 bis 54 step2
    $aAvatarrs = _StringBetween($sSource, $sAvatrBegin, '" style="')
    $aAvatarrs[0] = "avatar-195.gif"
    ;_ArrayDisplay($aAvatarrs)
    For $i = 0 To 24
    GUICtrlCreateListViewItem($aUser[$i] & "|" & $aAvatarrs[$i], $idLV_User)
    Next
    $iPageNr += 1
    ;http://1.2.3.13/bmi/www.autoit…/avatar-195.gif
    ;http://1.2.3.13/bmi/www.autoit…/avatar-195.gif

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

    ;If $iPageNr > 1 Then AdlibUnRegister("_getMembers") ;klappt nur für 1. Seite für die folge Seiten muss das Skript angepasst werden
    EndFunc ;==>_getMembers

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

    Func _ShowPic($aItem)
    If StringRight($aItem[2], 4) = ".png" Then
    GUICtrlSetData($idlblSize, "PNG - Format nicht unterstützt")
    Return
    EndIf
    Local $sImageName = @ScriptDir & "\Avatars\" & $aItem[2], $sDlURL
    ;$aItem[0] enthält Anzahl der Spalten [$aIem[1] die 1. Spalte usw.
    ;_ArrayDisplay($aItem) nur zu Verständnisuwecken evtl. aktivieren
    ;ConsoleWrite($sImageName & @CRLF) ;nur zu Debugzwecken evtl. deaktivieren
    If Not FileExists($sImageName) Then
    $sDlURL = $sSubDomain & "www.autoit.de/" & $sAvatrBegin & $aItem[2]
    ConsoleWrite($sDlURL & @CRLF)
    InetGet($sDlURL, $sImageName)
    EndIf
    _GDIPlus_Startup()
    Local $hImage = _GDIPlus_ImageLoadFromFile($sImageName)
    Local $iX = _GDIPlus_ImageGetWidth($hImage)
    Local $iY = _GDIPlus_ImageGetHeight($hImage)
    GUICtrlSetData($idlblSize, "Breite: " & $iX & " | Höhe: " & $iY)
    _GDIPlus_ImageDispose($hImage)
    _GDIPlus_Shutdown()
    Local $iRatio = $iX / $iY
    ConsoleWrite("Orig.: " & $iX & " " & $iY & " " & $iRatio & @CRLF)
    If $iRatio >= 1 Then
    $iX = 500
    $iY = $iX / $iRatio
    Else
    $iY = 300
    $iX = $iY * $iRatio
    EndIf
    ConsoleWrite("Neu: " & $iX & " " & $iY & " " & $iRatio & @CRLF)
    ControlMove($idfrmMain, "", $hPic, Default, Default, $iX, $iY)
    GUICtrlSetImage($hPic, $sImageName)
    EndFunc ;==>_ShowPic

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

    Func WM_NOTIFY($hWnd, $msgID, $wParam, $lParam)
    Local $tagNMHDR, $event, $hwndFrom, $code, $aItem
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $idLV_User And $code = -3 And _GUICtrlListView_GetSelectedCount($idLV_User) > 0 Then
    $aItem = _GUICtrlListView_GetItemTextArray($idLV_User)
    ;;consolewrite($aItem[1] & ", " & $aItem[3] & @CRLF)
    _ShowPic($aItem)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]

    Die Avatare werden zwar zum Teil nicht richtig zugeordnet, aber dass ist nebensächlich.

    mfg autoBert

  • Happy Birthday ytwinky 5*11

    • autoBert
    • 19. April 2011 um 12:00

    Hezlichen Glückwunsch zu deinem 55. Geburtstag, die besten Wünsche vor allem Gesundheit und Glück in allen Lebenslagen

    wünscht autoBert

  • FTP LIstToArray, nur mp3 Files Listen

    • autoBert
    • 19. April 2011 um 10:03

    Hallo GerhardSchr,

    Zitat

    _ArraySearch

    Findet einen Eintrag in einem 1-dimensionalen oder 2-dimensionalen Array

    Zitat

    _ArrayFindAll

    Findet die Indizes mit allen Vorkommen einer Suchabfrage zwischen zwei Punkten in einem 1-dimensionalen oder 2-dimensionalen Array

    Quelle: dt. Hilfe

    mfg autoBert

  • neue Varbiable

    • autoBert
    • 19. April 2011 um 08:33

    schön, dann ist dein Problem ja gelöst, schön wäre es allerdings auch wenn du den Thread auf gelöst setzt. Einfach 1. Beitrag bearbeiten, Präfix (nähe Überschrift) ändern und speichern (absenden)

    mfg autoBert

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™