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

Beiträge von Oscar

  • Gui Window und damit den Desktop einschränken

    • Oscar
    • 15. Januar 2009 um 08:56

    Kannst Du nicht einfach mit "WinMove" die Fenster in der Größe anpassen?

  • Listbox in .txt Datei speichern / automatisches scrollen einer textbox

    • Oscar
    • 14. Januar 2009 um 20:58

    Wie Raupi schon sagte: Schau Dir mal die Ini-Befehle an. Damit bekommst Du gleich den Wert und musst nicht erst noch umwandeln.

  • Eben bei Amazon...

    • Oscar
    • 14. Januar 2009 um 18:49

    Vor allem: bei dem Gewicht und den Abmessungen ist in dem Akku bestimmt nicht nur das Schwermetall "Blei" enthalten.
    Wurde vermutlich in Tschernobyl zusammengebaut und dann ist "aus Versehen" etwas anderes mit hineingeraten. :D

  • Eben bei Amazon...

    • Oscar
    • 14. Januar 2009 um 15:39

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

  • Input dynmisch verwalten? (Passwort)

    • Oscar
    • 14. Januar 2009 um 15:18

    Ja, bei meiner Box kann man das dynamisch ändern.

    Das Problem bei $ES_PASSWORD ist, dass es sich nicht per GUICtrlSetStyle ändern lässt. Man muss das Input-Control löschen und neu erstellen (siehe mein Script).

  • Input dynmisch verwalten? (Passwort)

    • Oscar
    • 14. Januar 2009 um 15:09

    Du kannst natürlich auch meine _LogInBox benutzen. [Werbung mach] ^^

  • brauche hilfe beim wiederherstellen des letzten geöffneten Dateipfades

    • Oscar
    • 14. Januar 2009 um 13:56

    Antwort auf Dein Edit in Post #5.
    Habe noch ein paar Änderungen vorgenommen. Jetzt bleiben die Einträge bestehen, auch wenn man das Explorerfenster schließt und es öffnet sich ein Explorerfenster (wenn keins offen ist) bei einem Klick auf einen Eintrag.

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    #include <GUIConstantsEx.au3>
    Global Const $WS_EX_COMPOSITED = 0x02000000 ; Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering.
    $hGui = GUICreate('Liste der zuletzt benutzten Verzeichnisse', 300, 430, @DesktopWidth-306, 0, BitOR($WS_SYSMENU, $WS_SIZEBOX), $WS_EX_COMPOSITED)
    $hList = GUICtrlCreateList('', 5, 5, 290, 355, BitOr($GUI_SS_DEFAULT_LIST, $LBS_NOTIFY))
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $hClear = GUICtrlCreateButton('Liste löschen', 110, 365, 80, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKHCENTER+$GUI_DOCKBOTTOM+$GUI_DOCKSIZE)
    GUISetState()
    WinSetOnTop($hGui, '', 1)
    Global $sPath, $sOldPath = ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1')
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hList
    $sPath = GUICtrlRead($hList)
    If $sPath <> '' Then
    If ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1') = '' Then
    ShellExecute('explorer.exe', $sPath)
    Else
    ControlSetText('[CLASS:CabinetWClass]', '', 'Edit1', $sPath, 1)
    ControlSend('[CLASS:CabinetWClass]', '', 'Edit1', '{ENTER}')
    EndIf
    EndIf
    Case $hClear
    GUICtrlSetData($hList, '')
    EndSwitch
    $sPath = ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1')
    If $sPath <> $sOldPath Then
    $sOldPath = $sPath
    If $sPath <> '' Then GUICtrlSetData($hList, $sPath)
    EndIf
    WEnd

    [/autoit]
  • Größe aller unterordner

    • Oscar
    • 14. Januar 2009 um 13:45
    Zitat von FireFlyer

    Grml Oscar war wieder schneller^^... warst es nicht sogar du der diese UDF geschrieben hatte?

    Falls Du das hier (Rekursive Datei/Ordner Auflistung per Objekt) meinst, nein, die ist von BugFix. :)

  • Größe aller unterordner

    • Oscar
    • 14. Januar 2009 um 10:53

    Nur die Unterordner des angegebenen Verzeichnisses oder auch die Unterordner der Unterordner (also rekursiv)?

    Beispiel für den ersten Fall:

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    Global $size_gb = @CRLF

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

    If $CmdLine[0] > 0 Then
    $dir = $CmdLine[1]
    Else
    $dir = @ScriptDir
    EndIf
    If StringRight($dir, 1) <> '\' Then $dir &= '\'
    $aFolder = _FileListToArray($dir, '*', 2)
    If @error Then Exit MsgBox(16, 'Fehler', 'Verzeichnis existiert nicht!')
    If $aFolder[0] = 0 Then Exit MsgBox(16, 'Fehler', 'Keine Unterverzeichnisse gefunden!')
    For $i = 1 To $aFolder[0]
    $size_gb &= $dir & $aFolder[$i] & '\' & @CRLF & ' Größe: ' & BinGB(DirGetSize($aFolder[$i])) & ' GB' & @CRLF & @CRLF
    Next
    ;~ MsgBox(0, 0, $size_gb)
    IniWrite(@YEAR & ".ini", $dir, @MON, $size_gb)

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

    Func BinGB($size_b) ;umrechnung von byte in gigabyte und runden
    Return Round($size_b / 1024 / 1024 / 1024, 2)
    EndFunc ;==>BinGB

    [/autoit]

    Im letzteren Fall müsste man eine rekursive Funktion dafür verwenden.

  • brauche hilfe beim wiederherstellen des letzten geöffneten Dateipfades

    • Oscar
    • 14. Januar 2009 um 09:23

    Vermutlich für den Explorer?!

    Dafür habe ich mal ein Script erstellt:

    Spoiler anzeigen
    [autoit]


    #include <WindowsConstants.au3>
    #include <ListBoxConstants.au3>
    #include <GUIConstantsEx.au3>
    Global Const $WS_EX_COMPOSITED = 0x02000000 ; Windows XP: Paints all descendants of a window in bottom-to-top painting order using double-buffering.
    $hGui = GUICreate('Liste der zuletzt benutzten Verzeichnisse', 300, 430, @DesktopWidth-306, 0, BitOR($WS_SYSMENU, $WS_SIZEBOX), $WS_EX_COMPOSITED)
    $hList = GUICtrlCreateList('', 5, 5, 290, 355, BitOr($GUI_SS_DEFAULT_LIST, $LBS_NOTIFY))
    GUICtrlSetResizing(-1, $GUI_DOCKBORDERS)
    $hClear = GUICtrlCreateButton('Liste löschen', 110, 365, 80, 25)
    GUICtrlSetResizing(-1, $GUI_DOCKHCENTER+$GUI_DOCKBOTTOM+$GUI_DOCKSIZE)
    GUISetState()
    WinSetOnTop($hGui, '', 1)
    Global $sPath, $sOldPath = ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1')
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    Case $hList
    $sPath = GUICtrlRead($hList)
    If $sPath <> '' Then
    ControlSetText('[CLASS:CabinetWClass]', '', 'Edit1', $sPath, 1)
    ControlSend('[CLASS:CabinetWClass]', '', 'Edit1', '{ENTER}')
    EndIf
    Case $hClear
    GUICtrlSetData($hList, '')
    EndSwitch
    $sPath = ControlGetText('[CLASS:CabinetWClass]', '', 'Edit1')
    If $sPath <> $sOldPath Then
    $sOldPath = $sPath
    GUICtrlSetData($hList, $sPath)
    EndIf
    WEnd

    [/autoit]

    Edit: Noch ein bißchen angepasst, sodass man es auch in der Größe verändern kann.

  • DLL

    • Oscar
    • 13. Januar 2009 um 20:31

    "Eine Exe in eine DLL einbinden"
    Wozu soll das gut sein?

    Du kannst die Exe per FileInstall in Deine ScriptExe einbinden. Das reicht doch.

  • Klassische Progressbar (2 Beispiele)

    • Oscar
    • 13. Januar 2009 um 18:32

    Nein, einfach mit einer DLL geht es nicht!
    Und wenn es nicht viel Arbeit wäre, hättest Du ja gar kein Erfolgsgefühl, wenn Du es geschafft hast. ^^

  • Klassische Progressbar (2 Beispiele)

    • Oscar
    • 13. Januar 2009 um 17:38

    progandy hat da mal was erstellt: Progressbar mit GDIplus

    Du darfst die Suche übrigens auch gern selbst mal benutzen. ;)

  • Downloadmanager für LAN-Webserver

    • Oscar
    • 13. Januar 2009 um 17:31

    Kleine Starthilfe:

    Spoiler anzeigen
    [autoit]


    #include <StaticConstants.au3>
    #include <ButtonConstants.au3>
    $hGui = GUICreate('Test', 320, 480, -1, -1)

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

    Global $ahButton[8], $ahDescription[8]
    For $i = 0 To 7
    $ahButton[$i] = GUICtrlCreateButton('', 20 + Mod($i, 3) * 100, 10 + Int($i/3) * 100, 64, 64, $BS_ICON)
    GUICtrlSetImage(-1, 'shell32.dll', -44)
    $ahDescription[$i] = GUICtrlCreateLabel('Titel', 20 + Mod($i, 3) * 100, 80 + Int($i/3) * 100, 64, 16, $SS_CENTER)
    Next
    GUISetState()

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

    Do
    Until GUIGetMsg() = -3

    [/autoit]
  • Internetseiten öffnen HILFE!!!

    • Oscar
    • 13. Januar 2009 um 04:23

    Müsste das nicht eher so aussehen?

    [autoit]


    $count = 1550000

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

    Run("C:\Programme\Mozilla Firefox\firefox.exe")

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

    WinWaitActive("Mozilla Firefox")

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

    Sleep(5000)
    Do
    $count = $count +1
    ShellExecute("http://test.com/test.php?&thid=" & $count)
    Sleep(0001)
    Until $count > 1550999

    [/autoit]
  • Button reagieren nicht solang func läuft

    • Oscar
    • 12. Januar 2009 um 17:28

    Funktionen, die Du über einen Event (z.B. Buttonklick) aufrufst, musst Du so schnell wie möglich wieder verlassen, weil sonst keine weiteren Events abgearbeitet werden können.
    Dein Problem könnte man so lösen:

    Spoiler anzeigen
    [autoit]


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

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

    Global $startN = 500
    Global $startH = 300
    Global $startS = 200

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Vorräte", 747, 600, 190, 122)
    $Button1 = GUICtrlCreateButton("Nahrung abbauen", 16, 40, 99, 25, 0)
    $Button2 = GUICtrlCreateButton("Stein abbauen", 136, 40, 99, 25, 0)
    $Button3 = GUICtrlCreateButton("Holz abbauen", 256, 40, 99, 25, 0)
    $Label1 = GUICtrlCreateLabel("Nahrung", 16, 8, 45, 17)
    $Label2 = GUICtrlCreateLabel("Stein", 136, 8, 28, 17)
    $Label3 = GUICtrlCreateLabel("Holz", 256, 8, 25, 17)
    $Label4 = GUICtrlCreateLabel("500", 16, 100, 50, 20)
    $Label5 = GUICtrlCreateLabel("200", 136, 100, 50, 20)
    $Label6 = GUICtrlCreateLabel("300", 256, 100, 50, 20)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    $vorkommenN1 = Random(200, 1000, 1)
    $vorkommenH1 = Random(100, 500, 1)
    $vorkommenS1 = Random(50, 250, 1)

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

    $abbauN = 0
    $abbauS = 0
    $abbauH = 0
    AdlibEnable('abbau', 1000)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    abbauenN()
    Case $Button2
    abbauenS()
    Case $Button3
    abbauenH()
    EndSwitch
    WEnd

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

    Func abbau()
    If $abbauN > 0 Then
    $abbauN -= 10
    GUICtrlSetData($Label4, GUICtrlRead($Label4) + 10)
    If $abbauN <= 0 Then GUICtrlSetData($Button1, "Leer")
    EndIf
    If $abbauS > 0 Then
    $abbauS -= 10
    GUICtrlSetData($Label5, GUICtrlRead($Label5) + 10)
    If $abbauS <= 0 Then GUICtrlSetData($Button2, "Leer")
    EndIf
    If $abbauH > 0 Then
    $abbauH -= 10
    GUICtrlSetData($Label6, GUICtrlRead($Label6) + 10)
    If $abbauH <= 0 Then GUICtrlSetData($Button3, "Leer")
    EndIf
    EndFunc

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

    Func abbauenN()
    GUICtrlSetData($Button1, "wird abgebaut...")
    $abbauN = $vorkommenN1
    EndFunc ;==>abbauenN

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

    Func abbauenS()
    GUICtrlSetData($Button2, "wird abgebaut...")
    $abbauS = $vorkommenS1
    EndFunc ;==>abbauenS

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

    Func abbauenH()
    GUICtrlSetData($Button3, "wird abgebaut...")
    $abbauH = $vorkommenH1
    EndFunc ;==>abbauenH

    [/autoit]
  • Schon etwas älter aber trotzdem spannend .... Sonderregelung für EXIT ??

    • Oscar
    • 12. Januar 2009 um 17:11
    Zitat von latemail

    P.S. Oscar .... Danke für das Bsp., probierst Du sowas einfach aus oder macht das die Erfahrung??

    Kann ich gar nicht mehr so genau sagen. Hab ich wahrscheinlich mal beim Studium anderer Quellcodes gesehen und dann einfach ausprobiert.

    Man kann die Befehle eigentlich beliebig verschachteln. Man muss nur darauf achten, dass der vorherige Befehl mit dem Returnwert des Nachfolgers zurechtkommt.
    Wenn ich mich recht erinnere, gab/gibt es aber bestimmte Kombinationen die, obwohl die Parameter stimmen, nicht funktionieren. Mir fällt aber momentan kein Beispiel ein.

  • Schon etwas älter aber trotzdem spannend .... Sonderregelung für EXIT ??

    • Oscar
    • 12. Januar 2009 um 16:33

    Im Prinzip handelt es sich dabei nur um einen verschachtelten Funktionsaufruf. Das funktioniert ja auch mit anderen Befehlen:

    [autoit]


    $a = 1
    If $a Then ToolTip(MsgBox(0,0,Ping('www.google.de')))
    Sleep(2000)

    [/autoit]
  • StripComment (entfernt Kommentare aus au3-Sourcecode)

    • Oscar
    • 12. Januar 2009 um 15:14

    Achso!
    Nee, auch wenn ich AutoIt mag, aber an Sex denke ich dabei nicht. :)

    Aber falls das jemanden antörnt, hier noch ein paar: StringStripCR und StringStripWS :P

  • StripComment (entfernt Kommentare aus au3-Sourcecode)

    • Oscar
    • 12. Januar 2009 um 15:02
    Zitat von FirePanther

    ps: is das absicht mit "Strip" Comment.....

    Äh...was? Absicht?
    Verstehe ich jetzt nicht. Was meinst Du? :huh:

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™