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

  • Verarbeitungsgeschwindigkeit in kB/s - (Verbesserungsvorschläge?)

    • Oscar
    • 11. Januar 2011 um 21:18

    Naja, wie gesagt, das war ungetestet. Ich wusste nicht, wie oft Dein Prozess die FileSize aktualisiert.

    BTW: Es gibt keine If-Schleife! Das "If" bezeichnet man als bedingte Anweisung. :)

  • Verarbeitungsgeschwindigkeit in kB/s - (Verbesserungsvorschläge?)

    • Oscar
    • 11. Januar 2011 um 07:36

    Ich würde es eher mit AdlibRegister erledigen (ungetestet, da InetGet während des downloadens die FileSize nicht aktualisiert):

    Spoiler anzeigen
    [autoit]


    HotKeySet('{ESC}', '_End')

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

    Global $sFile = @ScriptDir & '\test.iso'

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

    Global $iOldSize
    AdlibRegister('_CalcSpeed', 1000)

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

    While Sleep(100)
    WEnd

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

    Func _End()
    Exit
    EndFunc

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

    Func _CalcSpeed()
    Local $iSize, $iSpeed
    $iSize = FileGetSize($sFile)
    If $iSize <> $iOldSize Then
    $iSpeed = ($iSize - $iOldSize) / 1024
    ToolTip($iSpeed & " kB/s", 0, 0)
    $iOldSize = $iSize
    EndIf
    EndFunc

    [/autoit]
  • Problemchen bei meinem kleinen Auswerte-Tool

    • Oscar
    • 10. Januar 2011 um 23:16

    Das Problem ist, dass Du die GUI-Elemente nach dem erstellen nicht ausblendest. Deswegen passiert das erst, wenn Du den Haken bei der Checkbox setzt und wieder entfernst.

    Was Du da versucht hast, $GUI_HIDE als Style einzutragen funktioniert nicht. Dort kommen die Control-Styles rein, nicht der Status. Den Status musst Du mit GUICtrlSetState setzen.
    Also z.B. so:

    [autoit]


    $Input_selectWafer_Von = GUICtrlCreateInput("", 536, 272, 41, 22)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetState(-1, $GUI_HIDE)

    [/autoit]
  • Auslesen, wann Desktop im Focus ist, bzw. kein Fenster aktiv

    • Oscar
    • 10. Januar 2011 um 13:48

    Unter Win7 funktioniert das:

    [autoit]

    If WinActive("Program Manager") Then MsgBox(64, "", "Kein Fenster ist aktiv")

    [/autoit]
  • Externe Festplatte

    • Oscar
    • 9. Januar 2011 um 17:26

    Ok, dann kannst Du das vergessen. Dein Notebook hat keinen PCMCIA/Expresscard-Slot. Zumindest steht in der Beschreibung nichts davon.

    Dann bleibt Dir nur eSATA oder USB2.0

  • Externe Festplatte

    • Oscar
    • 9. Januar 2011 um 16:00

    Externe Festplattengehäuse mit eSATA sind in der Tat relativ teuer und können auch Probleme machen beim Hotplugging, wenn die Treiber fehlerhaft sind.

    Da wäre es vielleicht sinnvoller, das Notebook mit einer PCMCIA/Expresscard-Erweiterungskarte (USB3.0) auszustatten und dann eine USB3.0-Festplatte zu benutzen.
    Das ist auch nicht teurer als eine eSATA-Platte und macht u.U. weniger Probleme.

  • Mathe-Trainer (Grundrechenarten)

    • Oscar
    • 9. Januar 2011 um 14:53

    Er meint wohl, dass auch manche Erwachsene etwas Nachhilfe/Wiederauffrischung in Sachen Kopfrechnen gebrauchen können. :D

  • Englisches Forum scheint down zu sein

    • Oscar
    • 9. Januar 2011 um 13:27

    Da scheint nur die Weiterleitung nicht zu funktionieren:

    http://www.autoitscript.com/autoit3/index.shtml

    http://www.autoitscript.com/forum/

  • Mathe-Trainer (Grundrechenarten)

    • Oscar
    • 9. Januar 2011 um 12:17

    Es gibt eine neue Version (siehe Post#1).

  • Edit mit unbegrenzt Zeichen

    • Oscar
    • 8. Januar 2011 um 18:33

    Die Begrenzung liegt beim Edit standardmäßig bei 30.000 Zeichen (AFAIR).
    Das kannst Du mit GUICtrlSetLimit ändern.

  • Background Problem

    • Oscar
    • 8. Januar 2011 um 18:24

    Zitat aus der Hilfe:

    Zitat

    If a picture is set as a background picture, as the other controls will overlap, it's important to disable the pic control and create it after the others controls: GuiCtrlSetState(-1,$GUI_DISABLE).

  • Deklarationsproblem bei Parameter / Variable

    • Oscar
    • 8. Januar 2011 um 17:20

    Bei IsDeclared gibt man keine Variable an, sondern den Variablennamen als String:

    [autoit]

    If Not IsDeclared('a') Then Global $a ; oder: Global $a = 42

    [/autoit]
  • Problemchen bei meinem kleinen Auswerte-Tool

    • Oscar
    • 7. Januar 2011 um 21:32

    Hast ja recht! :)
    Aber man sollte BitAnd und $GUI_CHECKED bzw. $GUI_UNCHECKED benutzen. Gerade bei Checkboxen, weil es dort auch den 3STATE-Modus gibt.

  • Problemchen bei meinem kleinen Auswerte-Tool

    • Oscar
    • 7. Januar 2011 um 21:26

    Am besten zusätzlich den Status auslesen und dementsprechend ändern:

    Spoiler anzeigen
    [autoit]


    While 1
    $nMsg = GUIGetMsg()
    ;UpdateWaferAnzahl()

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

    If BitAND(GUICtrlRead($Checkbox_Antest), $GUI_UNCHECKED) Then
    If BitAND(GUICtrlGetState($LabelAntestFKT), $GUI_SHOW) Then
    GUICtrlSetState($LabelAntestFKT, $GUI_HIDE)
    GUICtrlSetState($Input_AntestFKT, $GUI_HIDE)
    EndIf
    Else
    If BitAND(GUICtrlGetState($LabelAntestFKT), $GUI_HIDE) Then
    GUICtrlSetState($LabelAntestFKT, $GUI_SHOW)
    GUICtrlSetState($Input_AntestFKT, $GUI_SHOW)
    EndIf
    EndIf

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

    Switch $nMsg

    [/autoit]

    Edit: Stimmt! So, wie bei Raupi geht's natürlich auch. :)

  • Besserer ListView Check

    • Oscar
    • 7. Januar 2011 um 21:17

    Ja, im FileCommander habe ich diesen Workaround eingebaut. Wobei ich damit auch nicht wirklich zufrieden bin.
    Ich glaube, mir gefällt die Lösung mit dem Dummy-Control (Post#2) besser. :)

  • Besserer ListView Check

    • Oscar
    • 7. Januar 2011 um 21:08

    Das hilft hier nicht weiter, weil in der WM_NOTIFY-Funktion die Listview-Einträge noch gar nicht selektiert sind bzw. noch nicht die Richtigen. WM_NOTIFY wird aufgerufen, bevor die Änderungen vorgenommen werden, deswegen würden die von Dir genannten Funktionen falsche Ergebnisse liefern.

  • Besserer ListView Check

    • Oscar
    • 7. Januar 2011 um 20:56

    Damit schlage ich mich auch gerade rum. ?(
    Eine Lösung per WM_NOTIFY habe ich auch nicht parat, nur eine Alternative:

    Spoiler anzeigen
    [autoit]


    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>
    #include <GuiImageList.au3>
    #include <WindowsConstants.au3>

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

    Opt('MustDeclareVars', 1)

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

    $Debug_LV = False ; Check ClassName being passed to ListView functions, set to True and use a handle to another control to see it work

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

    Global $hListView, $hDummy

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

    _Main()

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

    Func _Main()

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

    Local $GUI, $hImage, $iItem
    $GUI = GUICreate("(UDF Created) ListView Create", 200, 300)

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

    $hDummy = GUICtrlCreateDummy()

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

    $hListView = _GUICtrlListView_Create($GUI, "", 2, 2, 394, 268)
    _GUICtrlListView_SetExtendedListViewStyle($hListView, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES))
    GUISetState()

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

    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    ; Load images
    $hImage = _GUIImageList_Create()
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0xFF0000, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x00FF00, 16, 16))
    _GUIImageList_Add($hImage, _GUICtrlListView_CreateSolidBitMap($hListView, 0x0000FF, 16, 16))
    _GUICtrlListView_SetImageList($hListView, $hImage, 1)

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

    ; Add columns
    _GUICtrlListView_InsertColumn($hListView, 0, "Column 1", 100)

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

    ; Add items
    _GUICtrlListView_AddItem($hListView, "Row 1: Col 1", 0)
    _GUICtrlListView_AddItem($hListView, "Row 2: Col 1", 1)
    _GUICtrlListView_AddItem($hListView, "Row 3: Col 1", 2)

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

    ; Loop until user exits
    While True
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    Return
    Case $hDummy
    $iItem = ControlListView($GUI, '', $hListView, 'GetSelected')
    ConsoleWrite('Item: ' & $iItem & @CR)
    EndSwitch
    WEnd
    EndFunc ;==>_Main

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    #forceref $hWnd, $iMsg, $iwParam
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView, $tInfo
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)

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

    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $LVN_KEYDOWN ; A key has been pressed
    ConsoleWrite("$LVN_KEYDOWN" & @CRLF)
    GUICtrlSendToDummy($hDummy)
    ; No return value
    Case $NM_CLICK ; Sent by a list-view control when the user clicks an item with the left mouse button
    ConsoleWrite("$NM_CLICK" & @CRLF)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]
  • TCP Fehler - Main Socket mit Public IP

    • Oscar
    • 6. Januar 2011 um 22:30

    Vielleicht hilft Dir auch dieses kleine Diagramm weiter: http://www.autoit.de/index.php?page=Thread&postID=120376#post120376

  • EXE in Memory schreiben und ausführen

    • Oscar
    • 5. Januar 2011 um 18:12

    Ich denke, es wird am besten sein, den Thread zu sperren. Wir wollen dieses Thema nicht supporten, weil man damit viel Unsinn treiben kann.

  • Musik Player WinKill funktioniert nicht!?

    • Oscar
    • 5. Januar 2011 um 13:54

    Dafür benutzt man nicht WinKill. Bei einer eigenen GUI benutze: GUIDelete.

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™