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

Beiträge von McPoldy

  • Programmcode absegnen...

    • McPoldy
    • 6. Februar 2008 um 05:36
    Zitat

    ;Levelbot Ordensbruder für Dark age of Camelot

    ist das nicht das Spiel :?:

  • Programme verstecken

    • McPoldy
    • 5. Februar 2008 um 21:29

    Nabend, da ich immer Programme offen hab die ich aber nur machmal nachschaue (Kontrollprogramme, VLC, etc.) habe ich mich immer geärgert, das ich die Taskleiste dicht habe. Es gibt natürlich Programme, die sich in die Programme einklingen und diese dann in den Systemtray ablegen, aber ich wollte auch nicht soviele Symbole daunten haben :) .

    Also zu dem Skript, es ist noch recht einfach gehalten und hat auch bestimmt noch Bugs, aber ich wollte es doch schon mal posten. Wenn das Skript gestartet ist, kann man jedes Fenster was grade aktiv ist durch Strg+Alt+v verschwinden lassen, wenn man auf das Script-Icon klickt kann man dort Programme anzeigen klicken und bekommt eine Liste mit den versteckten Programmen. Wird das Programm beendet (natürlich nicht wenn der Prozess gekillt wird) dann werden alle versteckten Fenster wiederhergestellt.


    Spoiler anzeigen
    [autoit]


    ; Includes
    #include <GUIConstants.au3>
    #Include <Constants.au3>
    #Include <WinAPI.au3>
    #include <array.au3>

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

    ; Optionen
    Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.

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

    ; Konstanten
    Const $SW_HIDE = 0
    Const $SW_SHOW = 1

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

    ; Variablen / Arrays
    Dim $arrTitel[1] ;Fenstertitel
    Dim $arrwHnd[1] ;Windowhandle
    Dim $hWnd ;für aktives Windowhandle
    Dim $anzahl ;Anzahl der versteckten Fenster
    Dim $selID ; ausgewälter Listenindex

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

    ; GUI
    Global $frmShow = GUICreate("Versteckte Fenster", 800, 500)
    GUICtrlCreateLabel("Versteckte Fenster:", 30, 10)
    $liste = GUICtrlCreateList("",30,25, 740,400)
    $cmdrestore = GUICtrlCreateButton("Anzeigen",30,430,120)
    $cmdcloseliste = GUICtrlCreateButton("Schliessen",180,430,120)
    GUISetState(@SW_HIDE)

    ; Defaultwerte
    $arrTitel[0] = 0
    $arrwHnd[0] = 0
    $hWnd = _WinAPI_GetDesktopWindow()
    $anzahl = 0
    $selID = -1

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

    ; Hotkeys
    HotKeySet("^!v","AktivesVerstecken")
    HotKeySet("^!b","Beenden")

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

    ; Tray Menü
    $restore = TrayCreateItem("Programme anzeigen") ;Hilfe anzeigen
    $helpitem = TrayCreateItem("Hilfe") ;Hilfe anzeigen
    $aboutitem = TrayCreateItem("Über") ;Über... anzeigen
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit") ;Programm beenden
    TraySetState()

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

    While 1
    $msg = TrayGetMsg()
    $msgGUI = GUIGetMsg()
    Select
    Case $msg = $aboutitem
    Msgbox(64,"Über:","Erstellt von J. Kröger")
    Case $msg = $exititem
    Beenden()
    Case $msg = $helpitem
    Msgbox(64,"Hilfe:","STRG+ALT+V = Aktives Fenster verstecken" & @CRLF & "STRG+ALT+B = Programm beenden")
    Case $msg = $restore
    GUIDelete($frmShow)
    GUICtrlDelete($liste)
    GUICtrlDelete($cmdrestore)
    GUICtrlDelete($cmdcloseliste)
    Global $frmShow = GUICreate("Versteckte Fenster", 800, 500)
    GUICtrlCreateLabel("Versteckte Fenster:", 30, 10)
    $liste = GUICtrlCreateList("",30,25, 740,400)
    For $i = 1 To $anzahl
    GUICtrlSetData(-1,$arrTitel[$i])
    Next
    $cmdrestore = GUICtrlCreateButton("Anzeigen",30,430,120)
    $cmdcloseliste = GUICtrlCreateButton("Schliessen",180,430,120)
    GUISetState(@SW_SHOW)
    Case $msgGUI = 0
    ContinueLoop
    Case $msgGUI = $liste
    $selID = _ArraySearch($arrTitel,GUICtrlRead($liste),1)
    Case $msgGUI = $cmdrestore
    If $selID <> -1 Then
    If _WinAPI_ShowWindow($arrwHnd[$selID],$SW_SHOW) Then
    $anzahl -= 1
    _ArrayDelete($arrwHnd,$selID)
    _ArrayDelete($arrTitel,$selID)
    For $i = 1 To $anzahl
    $strLen = StringLen($arrTitel[$i]) -2
    If $i < 10 Then
    $arrTitel[$i] = "0" & $i & StringMid($arrTitel[$i],3)
    Else
    $arrTitel[$i] = $i & StringMid($arrTitel[$i],3)
    EndIf
    Next
    EndIf
    GUIDelete($frmShow)
    EndIf
    Case $msgGUI = $cmdcloseliste
    GUIDelete($frmShow)
    EndSelect
    WEnd

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

    Func AktivesVerstecken()
    $hWnd = WinGetHandle("")

    If _ArraySearch($arrwHnd,$hWnd,1) = -1 Then
    $anzahl += 1
    _ArrayAdd($arrwHnd,$hWnd)
    If $anzahl < 10 Then
    _ArrayAdd($arrTitel,"0" & $anzahl & "-" & _WinAPI_GetWindowText($hWnd))
    Else
    _ArrayAdd($arrTitel,$anzahl & "-" & _WinAPI_GetWindowText($hWnd))
    EndIf
    _WinAPI_ShowWindow($hWnd,$SW_HIDE)
    EndIf
    EndFunc

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

    Func Beenden()
    If $anzahl > 0 Then
    For $i = 1 To $anzahl
    _WinAPI_ShowWindow($arrwHnd[$i],$SW_SHOW)
    Next
    EndIf
    Exit 0
    EndFunc

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

    Vielleicht kann es ja einer gebrauchen.

  • CDax Info Tool

    • McPoldy
    • 5. Februar 2008 um 15:41

    Das hier:

    Spoiler anzeigen
    [autoit]


    $Zahl1 = FileReadLine($file,1)
    $Zahl2 = FileReadLine($file,3)
    $Zahl3 = FileReadLine($file,5)
    $Zahl4 = FileReadLine($file,7)
    $Zahl5 = FileReadLine($file,9)
    $Zahl6 = FileReadLine($file,11)

    [/autoit]

    hierdurch ersetzen:

    Spoiler anzeigen
    [autoit]


    $Zahl1 = StringReplace(FileReadLine($file,1),",",".")
    $Zahl2 = StringReplace(FileReadLine($file,3),",",".")
    $Zahl3 = StringReplace(FileReadLine($file,5),",",".")
    $Zahl4 = StringReplace(FileReadLine($file,7),",",".")
    $Zahl5 = StringReplace(FileReadLine($file,9),",",".")
    $Zahl6 = StringReplace(FileReadLine($file,11),",",".")

    [/autoit]

    Wenn du die Zahlen aus der Textdatei liest, dann ist da ein Komma drinnen, es muss aber ein Punkt sein, damit er richtig rechnen kann.

  • VPN Verbindung erzeugen

    • McPoldy
    • 5. Februar 2008 um 11:47

    Da ich oft an verschiedenen Rechnern bin und ich gefragt wurde, hier ein kleines Skript zum erstellen einer VPN Verbindung. Getestet unter Windows XP, die Zugangsdaten in dem Skript sind von SwissVPN, zum testen ganz schön

    Spoiler anzeigen
    [autoit]

    #cs
    Dieses Skript erstellt eine neue VPN Verbindung
    unter Windows XP, ohne Dialog Assistent.
    #ce

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

    Opt("WinTitleMatchMode", 2)

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

    $titel = "Assistent für neue Verbindungen"

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

    ; Remote Adresse
    $Hostname = "connect.swissvpn.net"

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

    ; Wie die VPN Verbindung benannt werden soll
    $Verbindungsname = "Meine VPN Verbindung"

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

    ; Sollen gleich Anmeldedaten eingetragen werden?
    ; True = JA False = NEIN
    $usereintragen = True
    $user = "swissvpntest"
    $passwort = "swissvpntest"

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

    Run("rasphone -a","",@SW_HIDE )
    Sleep(2500)

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

    WinWaitActive($titel)
    ControlClick($titel,"","Button2")
    ControlClick($titel,"","Button6")
    Sleep(600)
    ControlClick($titel,"","Button1")
    ControlClick($titel,"","Button8")
    Sleep(600)
    ControlSetText($titel,"","Edit1",$Hostname)
    ControlClick($titel,"","Button8")
    Sleep(600)
    ControlSetText($titel,"","Edit1",$Verbindungsname)
    ControlClick($titel,"","Button13")

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

    If $usereintragen = False Then Exit 0

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

    run("rasphone -d " & """" & $Verbindungsname & """","",@SW_HIDE )
    Sleep(2500)

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

    $titel = "Verbindung mit """ & $Verbindungsname & """ herstellen"
    WinWaitActive($titel)
    ControlSetText($titel,"","Edit1",$user)
    ControlSetText($titel,"","Edit2",$passwort)
    ControlClick($titel,"","Button1")
    ControlClick($titel,"","Button2")
    ControlClick($titel,"","Button4")

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

    $titel = "Verbindung mit """ & $Verbindungsname & """"
    If WinWaitActive($Verbindungsname,"",15) = 1 then
    ControlClick($Verbindungsname,"","Button1")
    Exit 0
    EndIf

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

    $titel = "Fehler bei der Verbindung mit """ & $Verbindungsname & """"
    If WinWaitActive($titel,"",5) = 1 Then ControlClick($titel,"","Button2")
    Exit 0

    [/autoit]
  • Runterzählen :P

    • McPoldy
    • 4. Februar 2008 um 08:13

    99.980 (Meine Tochter glaubt mir nie das ich soooo weit Zählen kann)

  • Status einer Netzwerk-Verbindung auslesen

    • McPoldy
    • 2. Februar 2008 um 23:56

    Nabend,

    da ich die Frage ganz interessant fand, hab ich mal versucht eine allgemeine Lösung zu basteln auf WMI Basis:

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    MsgBox(0,"",GetNetStatus("LAN-Verbindung"))

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

    Func GetNetStatus($Device)
    #cs
    Device = Name so wie er in Netzwerkverbindungen angezeigt wird, z.B. "Drathtlose Neztwerkverbindung")
    Rückgabewerte:
    1 = online
    0 = offline
    -1 = Konnte Netzwerkkarte nicht finden
    -2 = Konnte IP nicht auslesen
    #ce


    Local $wbemFlagReturnImmediately = 0x10
    Local $wbemFlagForwardOnly = 0x20
    Local $colItems = ""
    Local $strComputer = "localhost"
    Local $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT Index FROM Win32_NetworkAdapter WHERE NetConnectionID = '" & $Device & "'", "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    Local $index = -1

    For $objItem In $colItems
    $index = $objItem.Index
    Next

    If $index = -1 Then Return -1

    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index = " & $index, "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

    Local $ip = -1

    For $objItem In $colItems
    $ip = $objItem.IPAddress(0)
    Next

    If $ip = -1 Then Return -2

    If $ip = "0" Or $ip = "0.0.0.0" Then
    Return 0
    Else
    Return 1
    EndIf
    EndFunc

    [/autoit]


    und da ich grade dabei war, eine grafische Anzeige für alle Netzwerkverbindungen:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <array.au3>

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

    $wbemFlagReturnImmediately = 0x10
    $wbemFlagForwardOnly = 0x20
    $colItems = ""
    $output = ""
    $strComputer = "localhost"

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

    Dim $Caption[1]
    $Caption[0] = 0

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

    Dim $Index[1]
    $Index[0] = 0

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

    Dim $IP[1]
    $IP[0] = 0

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

    Dim $Status[1]
    $Status[0] = 0

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

    $objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\CIMV2")
    $colItems = $objWMIService.ExecQuery("SELECT Description,Index FROM Win32_NetworkAdapter WHERE NetConnectionStatus is not null", "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)

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

    For $objItem In $colItems
    _ArrayAdd($Caption,$objItem.Description)
    $Caption[0] = $Caption[0] + 1

    _ArrayAdd($Index,$objItem.Index)
    $Index[0] = $Index[0] + 1
    Next

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

    $count = $Caption[0]

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

    For $i = 1 to $count
    $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE Index = " & $Index[$i], "WQL", _
    $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
    For $objItem In $colItems
    _ArrayAdd($IP,$objItem.IPAddress(0))
    $IP[0] = $IP[0] + 1
    Next
    Next

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

    $minus = 0

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

    For $i = 1 to $count

    Select
    Case $IP[$i] = '0'
    $minus += 1
    _ArrayAdd($Status,"loos")
    Case $IP[$i] = '0.0.0.0'
    _ArrayAdd($Status,"offline")
    Case Else
    _ArrayAdd($Status,"online")
    EndSelect
    Next

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

    $minus = 25 * $minus
    $hoehe = 50 + 25 * $count
    $hoehe -= $minus
    #Region ### START Koda GUI section ### Form=
    $frmMain = GUICreate("Netzwerkstatus", 650, $hoehe, 443, 224, BitOR($WS_SYSMENU,$WS_CAPTION,$WS_POPUP,$WS_POPUPWINDOW,$WS_BORDER,$WS_CLIPSIBLINGS))
    $Label1 = GUICtrlCreateLabel("Bezeichnung", 232, 8, 81, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("IP-Adresse", 88, 8, 71, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    $Label3 = GUICtrlCreateLabel("Status", 8, 8, 41, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")

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

    $hoehe = 35
    For $i = 1 to $count
    If $IP[$i] <> '0' Then
    GUICtrlCreateLabel($Caption[$i], 232, $hoehe, 418, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlCreateLabel($IP[$i], 88, $hoehe, 71, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    GUICtrlCreateLabel($Status[$i], 8, $hoehe, 41, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
    If $Status[$i] = "online" Then GUICtrlSetColor(-1,"0x00ff00") ;grün
    If $Status[$i] = "offline" Then GUICtrlSetColor(-1,"0xff0000") ;rot
    $hoehe += 25
    EndIf
    Next

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

    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

    [/autoit]
  • Checken von 2 Variablen in einer Funktion

    • McPoldy
    • 29. Januar 2008 um 20:31
    Zitat

    if $wy = $ry & $wx = $ry then ; Das geht leider nicht und hierrum gehts !!

    Das & ist falsch, da muss ein AND hin.

  • FTP Ordner auslesen + Download

    • McPoldy
    • 26. Januar 2008 um 13:22

    Freu mich drauf, kannst Du ja mal online stellen, schaue mir immer gerne gute CS Clips an.

  • FTP Ordner auslesen + Download

    • McPoldy
    • 26. Januar 2008 um 12:32

    Hier noch mal ein wirklich einfaches Beispiel, aber ich würde mir mal die Hilfe Datei ansehen, das sind nun wirklich elementare Sachen (nicht böse gemeint). Zudem warum werden Beispiele gepostet die Du dir nicht mal ansiehst, in meinen Skript zunutze ich eigentlich alle Funktionen die du benötigst, vielleicht nicht in dem Zusammenhang wie Du es gerne haben möchtest, aber man kann es leicht abändern.

    Wie schon gesagt, nicht böse gemeint, nur ich denke, das es eine gute Hilfe Datei beim AutoIT gibt, die man auch ruhig mal benutzen darf ;)

    Hier nun das Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>

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

    $pfad = @TempDir & "\"
    $server = "http://www.hardcopy.de/"

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 350, 187, 193, 125)
    $Combo1 = GUICtrlCreateCombo("Combo1", 16, 24, 241, 25)
    GUICtrlSetData(-1,"hc.exe|hcf.exe")
    $Button1 = GUICtrlCreateButton("Button1", 24, 80, 233, 41, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Combo1

    If FileExists($pfad & GUICtrlRead($Combo1)) = 1 Then
    GUICtrlSetState($Button1,$GUI_Disable)
    Else
    GUICtrlSetState($Button1,$GUI_Enable)
    EndIf
    Case $Button1
    If InetGet($server & GUICtrlRead($Combo1),$pfad & GUICtrlRead($Combo1),1,0) Then MsgBox(64,"Info","Download OK")

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

    EndSwitch
    WEnd

    [/autoit]
  • FTP Ordner auslesen + Download

    • McPoldy
    • 25. Januar 2008 um 20:17
    Zitat

    Ich wollte mal fragen, ob es möglich ist das Script so einzustellen, dass wenn ich im DropDownMenu
    einen Eintrag auswähle, das Script sofort prüft ob die Datei bereits gedownloadet wurde oder nicht?!

    Wenn Du einen festen Pfad hast wo der Benutzer seinen Download ablegen muss, dann ja. Halte ich aber für nicht so klug, da der Benutzer ja selber entscheiden will wo er seine Dateien ablegt. Zum prüfen ob eine Datei besteht :FileExists

    Zitat

    Und nocheinmal nachdem die Datei gedownloadet wurde (das bekomm ich mit dem entsprechenden Befehle denk ich mal alleine hin)

    Das ist eine gute Idee, mit InetGetSize($url) bekommste die Größe wie sie sein soll, mit FileGetSize die Größe der runtergeladenen Datei, schaue ob sie gleich groß sind und du weißt ob der Download komplett war.
    Zweite Möglichkeit, wenn du den Download nicht im Hintergrund laufen lässt, $result = InetGet($url) wenn eine 1 in $result ist war alles ok sonst steht da eine 0 drin.

  • FTP Ordner auslesen + Download

    • McPoldy
    • 25. Januar 2008 um 18:43

    Hallo,

    ich fand das interessant und habe mir auch mal so ein kleines Skript gebaut, damit es nicht ganz unnütze ist, stelle ich es hier mal rein :)

    Mein Dateiaufbau ist einach:
    Datei1.xxx
    Datei2.xxx
    ......

    Spoiler anzeigen
    [autoit]


    #include <GUIConstants.au3>
    #include <Array.au3>

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

    ; Url zum Webverzeichnis
    Dim $ServerUrl = "http://www.DEINSERVER.de/test/"

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

    ; Dateiliste die runtergeladen werden soll
    Dim $FileList = "files.txt"

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

    ;Speicherpfad für Liste
    Dim $SaveFileList = @TempDir & "\files.txt"

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

    ;Textdatei laden
    If InetGet($ServerUrl & $FileList,$SaveFileList,1) = 0 Then
    MsgBox(48,"Feheler...","Fehler beim download der Dateiliste")
    Exit 1
    EndIf

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

    ;Dateiliste zum lesen öffnen
    Dim $fso = FileOpen($SaveFileList,0)

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

    ;Inhalt der Datei einlesen
    Dim $txt = FileRead($fso)

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

    ;Dateiliste schliessen
    FileClose($fso)

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

    ;@LF aus der $txt Variabele entfernen
    $txt = StringReplace($txt,@CRLF,"|")

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

    ;Form
    $frmMain = GUICreate("FileLoader", 285, 150, 193, 125)
    $pcbDownload = GUICtrlCreateProgress(24, 64, 233, 17)
    $infoLabel = GUICtrlCreateLabel("",24,84,233,25,$SS_CENTER )
    $cmdButton = GUICtrlCreateButton("Start Download", 24, 104, 233, 25, 0)
    GUICtrlSetState(-1,$GUI_DISABLE)
    $FileList = GUICtrlCreateCombo("FileList", 24, 24, 233, 25)
    GUICtrlSetData(-1, $txt)

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

    GUISetState(@SW_SHOW)

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

    ;Variable für die derzeit Ausgewählte Datei
    Dim $selectet

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

    ;Variable für die Dateiendung
    Dim $mediaformat

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

    ;Speicherort
    Dim $SaveFile

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $cmdButton
    $SaveFile = FileSaveDialog("Datei speichern..",@DesktopDir,"Video (*." & $mediaformat & ")",2,GUICtrlRead($FileList))
    If NOT @error Then RunDownload()

    Case $FileList
    GUICtrlSetData($infoLabel,"")
    GUICtrlSetData($pcbDownload,0)
    $selectet = $ServerUrl & GUICtrlRead($FileList)
    InetGetSize($selectet)
    If @error Then
    GUICtrlSetState($cmdButton,$GUI_DISABLE)
    Else
    GUICtrlSetState($cmdButton,$GUI_ENABLE)
    EndIf
    $mediaformat = StringRight(GUICtrlRead($FileList),3)
    EndSwitch
    WEnd

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

    Func RunDownload()
    GUISetState(@SW_DISABLE)
    $FileSize = InetGetSize($selectet)
    InetGet($selectet,$SaveFile,1,1)
    $curSize = 0
    Do
    GUICtrlSetData($pcbDownload,$curSize)
    $curFileSize = FileGetSize($SaveFile)
    $curSize = $curFileSize * 100
    $curSize = $curSize / $FileSize
    $curSize = Ceiling($curSize)
    $curFileSize = Round($curFileSize / 1024 / 1024,2)
    GUICtrlSetData($infoLabel,$curFileSize & " - " & Round($FileSize / 1024 / 1024,2) & " MB (" & $curSize & "%)")
    Sleep(200)
    ConsoleWrite($curSize & @lf)
    Until $curSize >= 99
    GUISetState(@SW_ENABLE)
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • FTP Ordner auslesen + Download

    • McPoldy
    • 25. Januar 2008 um 11:26

    Öhm wundert mich nicht das es bei dir nicht geht :)

    Du liest in Zeile 18 den Inhalt ein mit : GUICtrlRead($demoname)

    Das solltest du erst machen wenn jemand den Button gedrückt hat.

    Probier es mal, falls du sonst noch Fragen hast immer her damit.

  • FTP Ordner auslesen + Download

    • McPoldy
    • 25. Januar 2008 um 05:48

    Moin,

    du must den input auslesen: GUICtrlRead($demoname)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Global $url

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

    GUICreate("My GUI") ; will create a dialog box that when displayed is centered
    $demoname = GUICtrlCreateInput("demo_de_cbble_27_12", 8, 8, 265, 21)
    $button = GUICtrlCreateButton("Zeige Url",8,30)

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

    GUISetState (@SW_SHOW) ; will display an empty dialog box

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

    ; Run the GUI until the dialog is closed
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $button

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

    Global $url = "http://www.meine-seite.de/" & GUICtrlRead($demoname) & ".dem"
    MsgBox(64,"Url",$url)
    EndSelect

    Wend

    [/autoit]
  • Fenstergröße nicht veränder- oder verschiebbar machen - ohne "Polling"

    • McPoldy
    • 24. Januar 2008 um 14:30

    Da fällt mir nicht wirklich was zu ein außer einer Schleife, aber warum macht man das, meine den Acrobat an eine bestimmte stelle setzen usw. ?(

  • string2array

    • McPoldy
    • 24. Januar 2008 um 08:02

    Wie es einfacher geht, hatte nur 5 min. zeit als ich das zusammen gebastelt habe :) darum gehe ich einfach mal davon aus das es einfacher geht

  • string2array

    • McPoldy
    • 23. Januar 2008 um 13:24

    Leider ist mir auf die schnelle nix besseres eingefallen, geht bestimmt auch viiiiiiiiiel einfacher:

    Spoiler anzeigen
    [autoit]

    ;Includes
    #include <Array.au3>

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

    ;Optionen setzen
    Opt("WinTitleMatchMode", 2)

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

    ; Einlesen der ClassList und in Array speichern
    $arr_class_list = StringSplit(WinGetClassList("",""),@LF)

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

    ; Array mal anzeigen lassen
    _ArrayDisplay($arr_class_list)

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

    ; Anzahl der Arrayeinträge und löschen der ersten Eintrags mit der Anzahl
    $count = $arr_class_list[0]
    _ArrayDelete($arr_class_list,0)

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

    ;Leere Array Felder lösche ich mal raus
    While _ArraySearch($arr_class_list,"") <> -1
    $id = _ArraySearch($arr_class_list,"")
    _ArrayDelete($arr_class_list,$id)
    $count -= 1
    WEnd

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

    ; Array mal anzeigen lassen
    _ArrayDisplay($arr_class_list)
    MsgBox(0,"","Anzahl Einträge = " & $count)

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

    ; Meine Arrays für die Ausgabe
    Dim $arrText[1]
    Dim $arrCount[1]

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

    ;StartIndex
    $index = 1

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

    ; Aussortieren der doppelten und die Anzahl speichern
    Do
    _ArrayAdd($arrText,$arr_class_list[0])
    _ArrayAdd($arrCount,1)
    _ArrayDelete($arr_class_list,0)
    $count -= 1
    If $count = 0 Then ExitLoop
    While _ArraySearch($arr_class_list,$arrText[$index]) <> -1
    $id = _ArraySearch($arr_class_list,$arrText[$index])
    _ArrayDelete($arr_class_list,$id)
    $count -= 1
    $arrCount[$index] = $arrCount[$index] + 1
    WEnd
    $index += 1
    Until $count = 0
    _ArrayDelete($arrText,0)
    _ArrayDelete($arrCount,0)

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

    ; Neues Array für die Finale Ausgabe
    Dim $arrSum[$index]
    $index -= 1

    ;Array aus den beiden anderen Array füllen
    For $i = 0 to $index
    $arrSum[$i] = $arrText[$i] & " = " & $arrCount[$i]
    Next

    ;Ausgabe
    _ArrayDisplay($arrSum)

    [/autoit]
  • "Minimalisten"-Contest

    • McPoldy
    • 21. Januar 2008 um 15:14

    :D kannst Du machen, wenn du mir zeigst das es bei der Installation von AutoIT im Include Verzeichnis vorhanden war ;)

    Nachtrag, habe jetzt auch noch eine ohne Include eingereicht, is glaub ich sogar noch weniger q-text :)

  • "Minimalisten"-Contest

    • McPoldy
    • 21. Januar 2008 um 14:33
    Zitat

    Es kann alles verwendet werden, was die Version 3.2.10 bietet.

    Dann müssten doch auch includes auch erlaubt sein, oder?

  • Hilfe bei kleinem scribt....

    • McPoldy
    • 21. Januar 2008 um 12:26

    taucher_2006
    Hatte irgendwie den selben Gedanken :(

    Spoiler anzeigen
    [autoit]


    Global $IMBStat

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

    HotKeySet("$", "IMB")
    HotKeySet("{ESC}", "Terminate")

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

    While 1
    Sleep(1000)
    WEnd

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

    Func IMB()
    $IMBStat = NOT $IMBStat
    While $IMBStat
    Send("8")
    sleep(250)
    WEnd
    ToolTip("")
    EndFunc

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

    Func Terminate()
    Exit 0
    EndFunc

    [/autoit]
  • GUI mit Scrollbalken - Problem Icon an der falschen Stelle

    • McPoldy
    • 20. Januar 2008 um 14:28

    Von progandy:

    Zitat

    Wie wär ne Suche im eng. Forum (GUISCrollBars)

    Hab ich geschaut aber es nicht gesehen :(

    So hier mein Vorschlag:

    Spoiler anzeigen
    [autoit]

    #include<GUIConstants.au3>
    #include<GUIScrollBars.au3>

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

    $GUI = GUICreate("test", 500, 700, -1, -1, BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU));, $WS_SIZEBOX))
    _GUIScrollBars_Init ($GUI, 500, 750) ;festlegen wann die Scrollbalken kommen sollen (900 = Breite, 50 = Höhe)

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

    GUIRegisterMsg($WM_VSCROLL, "MY_WM_VSCROLL")
    GUIRegisterMsg($WM_HSCROLL, "MY_WM_HSCROLL")
    GUIRegisterMsg($WM_SIZE, "MY_WM_SIZE")

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

    $icon = GUICtrlCreateIcon("shell32.dll",10, 100, 100, 50, 50)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $icon
    $pos = ControlGetPos("","",$icon) ; Abfragen wo das Icon ist
    $left = $pos[0] + 70 ; Zu der X Pos. 70 addieren
    $top = $pos[1] ; Y abspeichern
    GUICtrlCreateIcon("shell32.dll", 20, $left, $top, 50, 50) ;hier die beiden Vars übergeben

    ;soll immer neben dem letzen icon ein neues erstellt werden:
    ;$icon = GUICtrlCreateIcon("shell32.dll", 20, $left, $top, 50, 50)
    EndSelect
    Wend

    [/autoit]

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™