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

Beiträge von latemail

  • Text Datei Editieren

    • latemail
    • 23. April 2010 um 13:27

    versuchs mal mit

    Spoiler anzeigen
    [autoit]

    $file = FileOpen($Pfad, 0)

    [/autoit]

    zum Auslesen ;)

  • TreeView - Items verändern Ihr Handle in Abhängigkeit vom Expand-Zustand

    • latemail
    • 31. März 2010 um 12:02

    Danke für Deine Mühe, aber ......

    Sorry, aber das war nicht die Lösung :(

    mir geht es auch um den eigentlichen Hintergrund, wieso oder vielmehr was ändert sich, wenn ich
    einen Tree auf-/zuklappe, das wird bei anderen Funktionen dann auch Einfluß haben ....


    EDIT:

    ich weiß nicht warum, aber mit folgenden Änderungen klappt es:

    zeile 33 (bezogen auf mein Script)
    statt $Treeview = _GUICtrlTreeView_Create($Gui, 20, 20, 400, 400, $iStyle)
    jetzt $Treeview = GUICtrlCreateTreeView( 20, 20, 400, 400, $iStyle)

    und zeile 140
    statt Local $d = _GUICtrlTreeView_GetText($Treeview, $c)
    jetzt Local $d = GUICtrlRead($Treeview, 1)

    warum gibt es eigentlich vieles doppelt, so wie GUICtrlCreateTreeView und _GUICtrlTreeView_Create ???

  • TreeView - Items verändern Ihr Handle in Abhängigkeit vom Expand-Zustand

    • latemail
    • 31. März 2010 um 09:35

    kompletten Code habe ich oben ergänzt - ich weiß es gibt fertige Lösungen für sowas,
    aber ich wollte mich selber mal mit Rekursion etc. beschäftigen ;)

  • TreeView - Items verändern Ihr Handle in Abhängigkeit vom Expand-Zustand

    • latemail
    • 30. März 2010 um 16:16

    Ich frage mit folgendem Script mein TreeView ab, welches Laufwerk/Ordner ich mit der Mouse gewählt habe, um dann damit weiter
    zu arbeiten.

    Zu Beginn lese ich die vorhandenen Laufwerke ein und stelle diese im TreeView dar. Wenn ich eins anklicke, werden die Unterordner
    ermittelt und als Childs angelegt. Das klappt auch ---- beim ersten Mal!

    Wenn ich nun das Laufwerk "aufklappe", also die Unterordner zu sehen sind, erhalte ich auch beim zweiten Klick auf das gleiche
    Laufwerk in der Console die richtige Laufwerksbezeichnung angezeigt. Ist das Laufwerk aber "zugeklappt", erhalte ich über
    _GUICtrlTreeView_GetText die Bezeichnung eines bestimmten Unterordners.

    Hat da jemand eine Idee woran das liegen kann? Die Kennung beim HitTest ist korrekt, ein Ordner wird erkannt, nur die Zuordnung
    stimmt nicht. Wie oder wieso verändert der Expand-Zustand das Handle eines Controls?


    Spoiler anzeigen
    [autoit]


    #include <Array.au3>
    #include <GuiEdit.au3>
    #include <GuiImageList.au3>
    #include <GuiTreeView.au3>
    #include <GUIConstantsEx.au3>
    #include <TreeViewConstants.au3>

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

    Opt("TrayIconDebug", 1) ; 0=keine Info, 1=Debug Zeileninfo
    Opt("GUIOnEventMode", 1) ; 0=ausgeschaltet, 1=OnEvent Modus aktiviert
    Opt("MustDeclareVars", 1) ; 0=nein, 1=erfordert Deklaration
    Opt("GUICloseOnESC", 1) ; 1=ESC beendet, 0=ESC schließt nicht

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

    ; Variablen - Definition #################################################################################################################
    Global $Paused, $Pausedtext = "- - Pause - -"
    Global $Gui, $Treeview, $Progress1, $Button1, $Edit
    Global $Datacount = 1, $aData[$Datacount][6]

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

    ; Haupt - Programm #######################################################################################################################

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

    _Gui()
    _Laufwerke()

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

    While 1
    Sleep(100)
    WEnd

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

    ; GUI - Definition #######################################################################################################################
    Func _Gui()
    Local $iStyle = BitOR($TVS_HASBUTTONS, $TVS_LINESATROOT, $TVS_HASLINES, $TVS_DISABLEDRAGDROP, $TVS_SHOWSELALWAYS, $TVS_SINGLEEXPAND ) ; $TVS_NOHSCROLL $TVS_NOHSCROLL
    $Gui = GUICreate("Gui", 700, 500, 300, 300)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_Ende")
    GUISetOnEvent($GUI_EVENT_PRIMARYDOWN, "_Click")
    $Treeview = _GUICtrlTreeView_Create($Gui, 20, 20, 400, 400, $iStyle)

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

    Local $hImage = _GUIImageList_Create(16, 16, 5, 1)
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 4) ; Verzeichnis-Icon
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 110) ; Verzeichnis-Icon mit Haken
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 1) ; Datei-Icon
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 6) ; Diskette
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 7) ; Wechseldatenträger
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 8) ; Festplatte
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 11) ; CDROM
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 9) ; Netzwerklaufwerk
    _GUIImageList_AddIcon($hImage, 'shell32.dll', 53) ; Unbekannt
    _GUICtrlTreeView_SetNormalImageList($Treeview, $hImage)

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

    $Edit = GUICtrlCreateEdit("",460, 20, 200, 400)
    $Progress1 = GUICtrlCreateProgress(20, 450, 400, 25)
    $Button1 = GUICtrlCreateButton("- Test -", 500, 450, 100, 30)
    GUICtrlSetOnEvent(-1, "_show")
    GUISetState(@SW_SHOW)
    EndFunc

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

    ; Laufwerk Funktionen ##################################################################################################################
    Func _Laufwerke()
    Local $Drives = DriveGetDrive( "all" ), $y, $iLWindex = 0
    For $i = 1 To $Drives[0]
    Local $belegt = Round((DriveSpaceTotal($Drives[$i])-DriveSpaceFree($Drives[$i])), 0)
    If $belegt < 1000 Then
    _GUICtrlEdit_AppendText($Edit, $Drives[$i] & " " & $belegt & " (MB)" & @CRLF)
    Else
    _GUICtrlEdit_AppendText($Edit, $Drives[$i] & " " & round($belegt/1000, 1) & " (GB)" & @CRLF)
    EndIf
    Switch DriveGetType($Drives[$i])
    Case 'Fixed'
    $iLWindex = 5
    Case 'CDROM'
    $iLWindex = 6
    Case 'RAMDisk'
    $iLWindex = 7
    Case 'Network'
    $iLWindex = 7
    Case 'Removable'
    $iLWindex = 4
    If StringLeft($Drives[$i], 2) = 'a:' Or StringLeft($Drives[$i], 2) = 'b:' Then $iLWindex = 3
    Case Else
    $iLWindex = 8
    EndSwitch
    Local $Item = _GUICtrlTreeView_Add($Treeview, 0, $Drives[$i] & " " & DriveGetLabel($Drives[$i]), $iLWindex, $iLWindex)
    GUICtrlSetData($Progress1, $i/$Drives[0]*100)
    Sleep(200)
    Next
    GUICtrlSetData($Progress1, "")
    EndFunc

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

    Func _SubLaufwerke($lw, $parent)
    Local $count = 0, $filesum = 0
    GUICtrlSetData($Progress1, $count)
    Local $search = FileFindFirstFile($lw & "\*.*")
    If $search = -1 Then Return

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

    Local $file, $Item2, $parentold
    FileChangeDir($lw)
    While 1
    $file = FileFindNextFile($search)
    Local $ex = @extended
    If @error Then
    $parent = $parentold
    ExitLoop
    EndIf
    If $count < 100 Then
    $count += 1
    GUICtrlSetData($Progress1, $count)
    Else
    $count = 0
    GUICtrlSetData($Progress1, $count)
    EndIf
    If StringInStr(FileGetAttrib($file), "D") Or $ex = 1 Then
    $Item2 = _GUICtrlTreeView_AddChild($Treeview, $parent, $file)
    _GUICtrlTreeView_SelectItem ($Treeview, $Item2)
    $parentold = $parent
    $parent = $lw & "\" & $file
    $Datacount += 1
    ReDim $aData[$Datacount][6]
    $aData[$Datacount-1][1] = $parent
    Local $info = DirGetSize ( $parent, 1 + 2 ) ; erweiterter Modus aber ohne Unterverzeichnisse
    $aData[$Datacount-1][3] = $info[0] ; $array[0] = Größe
    $aData[$Datacount-1][4] = $info[1] ; $array[1] = Anzahl der Dateien
    $aData[$Datacount-1][5] = $info[2] ; $array[2] = Anzahl der Verzeichnisse
    _SubLaufwerke($parent, $Item2)
    $aData[$Datacount-1][2] = $filesum ; Größer der Dateien im Verzeichnis
    $parent = $parentold
    Else
    $filesum = $filesum + FileGetSize($file)
    EndIf
    WEnd
    FileClose($search)
    GUICtrlSetData($Progress1, "")
    Return
    EndFunc

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

    ; Allgemeine Funktionen ##################################################################################################################
    Func _Click()
    ;~ _GUICtrlTreeView_BeginUpdate($treeview)
    Local $a = GUIGetCursorInfo($Gui) ; Pos Cursor
    Local $b = ControlGetPos($Gui, "", $Treeview) ; Pos des Tree-Controls
    Local $e = _GUICtrlTreeView_HitTest($Treeview, $a[0]-$b[0] , $a[1]-$b[1])
    If $e = 4 Or $e = 2 Then
    Local $c = _GUICtrlTreeView_HitTestItem($Treeview, $a[0]-$b[0] , $a[1]-$b[1])
    Local $d = _GUICtrlTreeView_GetText($Treeview, $c)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $d = ' & $d & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    $d = StringLeft($d, StringInStr($d, ":"))
    _SubLaufwerke($d, $c)
    _GUICtrlEdit_AppendText($Edit, "####### eingelesen ######" & @CRLF)
    If $d <> "" Then _GUICtrlTreeView_Expand($Treeview, $d, False)
    EndIf
    $aData[0][1] = $Datacount
    ;~ _GUICtrlTreeView_EndUpdate($treeview)
    EndFunc

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

    Func _show()
    _ArrayDisplay($aData, "", "", "", "", "", "Index|leer|Verzeichnis|FileSum|Größe|Dateien|Ordner")
    EndFunc

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

    Func _Ende()
    Exit
    EndFunc

    [/autoit]
  • Kombinatorik Problem

    • latemail
    • 26. März 2010 um 15:05
    Spoiler anzeigen
    [autoit]

    $input = InputBox("Zahl","Gib eine Zahl ein")
    Dim $aArray[$input]

    [/autoit]

    aber ein wenig selber tüfteln ist auch erlaubt ;)

  • Überwachungstool

    • latemail
    • 22. März 2010 um 11:24

    Ich denke man sollte mit einem solchen Tool zwischen schnellen Bewegungen (Mutter checkt Deine Mails 8) ) und langsamen
    Veränderungen (die Sonne geht unter während Du unterwegs bist :whistling: ) unterscheiden.

    Also die CeckSum in bestimmten Abständen vergleichen und nur bei deutlichen Änderungen reagieren, sonst die neue CS
    für den nächsten Test übernehmen .....

    vielleicht so ?????

  • Dreieck / Kreis berechnen

    • latemail
    • 12. März 2010 um 14:59

    wegen der Bezeichnungen siehe Skizze:

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

    1.
    Innenwinkelsumme eines Dreieck : 180 °
    Gleichwinkliges Dreieck : jeder Winkel 60 °

    --> beta daher 0,5 * 60 ° = 30 °

    2.
    Kosinus beta = b / r

    --> b = r * Kosinus beta

    3.
    Sinus beta = h / r

    --> h = r * Sinus beta

    Quick and Dirty - Rechnen mußt Du selbst 8)

    Dateien

    skizze.jpg 47,15 kB – 0 Downloads
  • MakroBox

    • latemail
    • 1. März 2010 um 16:24

    mal wieder ein genials Tool

    THX :rock::rock::rock:

  • Registry durchsuchen nach einem Schlüssel

    • latemail
    • 24. Februar 2010 um 15:28

    Klasse Vorlage Oscar, habs mal auf mehrfache Fundstellen und Teilstringsuche erweitert (nachdem ich es verstanden habe :D )

    Spoiler anzeigen
    [autoit]


    ConsoleWrite(_RegSearch('HKEY_LOCAL_MACHINE', 'v3.3.4.0') & @CRLF)

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

    Func _RegSearch($sRegPath, $sSearch)
    Local $sKey, $sVal, $sVar, $ret, $i = 0, $j = 0
    While True
    $i += 1
    $sKey = RegEnumKey($sRegPath, $i)
    If @error Then ExitLoop
    $ret = _RegSearch($sRegPath & '\' & $sKey, $sSearch)
    If $ret <> '' Then ExitLoop
    $j = 0
    While True
    $j += 1
    $sVal = RegEnumVal($sRegPath & '\' & $sKey, $j)
    If @error Then ExitLoop
    $sVar = RegRead($sRegPath & '\' & $sKey, $sVal)
    If StringInStr($sVar, $sSearch, 2) Then
    ConsoleWrite($sRegPath & '\' & $sKey & '\' & $sVal & @CRLF)
    ExitLoop
    EndIf
    WEnd
    WEnd
    Return $ret
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • _FFClick von Click zu (MouseDown und MouseUp)

    • latemail
    • 23. Februar 2010 um 13:16

    ohne die Details nachzuvollziehen, Drag und Drop geht .... vielleicht nicht immer ?!

    Spoiler anzeigen
    [autoit]


    HotKeySet( "^{a}", "a")

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

    While 1
    Sleep(200)
    WEnd

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

    Func a()
    MouseDown("right") ; drückt und hält an aktueller Mouseposition die rechte Taste
    MouseMove(200,200) ; move nach 200,200
    MouseUp("right") ; läßt Taste los
    Exit
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Arrays in GUIs

    • latemail
    • 22. Februar 2010 um 13:06

    Also wenn ich das richtig verstehe, dann soll in Deiner GUI eine Liste von Dingen erscheinen, deren
    Reihenfolge Du dann ändern möchtest.

    Warum soll das nicht gehen? In Deiner GUI hat doch jedes Element seine feste Position und seinen
    eindeutigen Namen/Handle (Button1, Pic1, .....)

    Wenn nun ein Pfeil gedrückt wird, mußt Du eben die Zuordnung bzw. Darstellung der einzelnen
    Elemente mit GUICtrlSetData ändern, Thats It!!

    Also ein Array mit allen Details (Bilder, Name, blabla) erstellen, bei Klicken eines Button Array neu
    sortieren und dann erneut und geändert darstellen .................

    hoffe es trifft Deine Frage und hilft 8)

  • Bräuchte Anleitungen.

    • latemail
    • 16. Februar 2010 um 11:35

    Lade Dir doch einfach einige Scripte hier aus dem Forum und versuche
    sie zu verstehen and abzuändern ...... das hat mir bisher gut geholfen

  • Abkürzungen in SciTE verwalten

    • latemail
    • 10. Februar 2010 um 11:18

    Hi BugFix,
    ich habe mal versucht folgenden Ablauf zu dokumentieren:

    - Script starten
    - Funktion wählen
    - PopUp schließen
    - editieren wählen
    - PopUp schließen
    - editieren wählen
    - PopUp schließen

    so sieht es dann aus (vor dem editieren ist alles OK):

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

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

    ich hoffe es hilft, das Script ist sonst wirklich super hilfreich, zur Not muss der Editor herhalten 8)

    Dateien

    abbrev_dok.jpg 415,28 kB – 0 Downloads abbrev_erg.jpg 221,67 kB – 0 Downloads
  • Hochzählen

    • latemail
    • 9. Februar 2010 um 15:48

    Ich denke es hat damit zu tun, dass AutiIt automatisch "für Dich" die Variablen deklariert, wenn
    Du es nicht explizit selber machst.

    Opt("MustDeclareVars", 0)
    Wenn diese Option genutzt wird müssen alle Variablen deklariert werden mit Dim, Local oder Global bevor sie verwendet werden können - beseitigt die Möglichkeit von Bugs durch Schreibfehler in Variablen.
    1 = Variable muss deklariert werden
    0 = Variable muss nicht deklariert werden (Standard)

    Deshalb ist "$a = 1" so ähnlich wie "Local/Global $a = 1"

    auf alle Fälle muss das Eine oder Andere im Script erscheinen, sonst kann die Addition nicht
    ausgeführt werden, habe nur für mich laut gedacht/geschrieben :whistling:

  • Abkürzungen in SciTE verwalten

    • latemail
    • 9. Februar 2010 um 15:19
    Zitat von Greek

    Versteh es auch nicht, hab auch alles nach einem Fehler durchsucht, aber gibt einfach keine Erklärung warum bei mir immer ein ? hinten angehängt wird....

    ich hole den Thread nochmal hoch .....

    Greek

    bei mir taucht das Problem auch auf (XP Prof. SP3) .... hast Du eine Lösung gefunden??

  • [beendet] µit Light Januar 2010

    • latemail
    • 9. Februar 2010 um 13:41

    na ... bei der Beteiligung werde ich wohl einen guten 2ten Platz belegen, während Ludwig Vorletzter werden wird

    :rofl::rofl::rofl:

  • Hochzählen

    • latemail
    • 9. Februar 2010 um 11:18

    Statt einen Wert zuzuweisen tuts auch Folgendes :

    [autoit]


    Local $var

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

    ; oder auch

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

    Global $var

    [/autoit][autoit][/autoit][autoit][/autoit]
  • [beendet] µit Light Januar 2010

    • latemail
    • 4. Februar 2010 um 14:05

    Hallo an Alle,

    ich bin auch noch dabei und zumindest weitgehend fertig, hoffe ich :whistling:

    und da mir momentan etwas die Zeit fehlt, um weiter am Design und Gimmicks zu feilen,
    hoffe ich auf einen Frühposter-Rabatt ;)

    bin auf Eure Versionen gespannt ......


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

    PW : ersterversuch


    und noch der Hintergrund, war in der ersten Dateiversion nicht mitgepackt :whistling:

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


    wie immer .... zu spät Bug entdeckt, daher Update "Graph3", nicht mehr für die Wertung, ist klar!

    Dateien

    formeln.jpg 28,41 kB – 0 Downloads graph3.rar 343,92 kB – 300 Downloads
  • Case Input ?!

    • latemail
    • 3. Februar 2010 um 09:25

    GUICtrlGetState ( . .. . . )

    oder auch

    GUIGetCursorInfo( . . . . . . )

  • Hotkeyset Tastenkombi durchlassen

    • latemail
    • 19. Januar 2010 um 14:04

    oder Du kannst die Hotkey-Definition auch zustandsabhängig ändern:

    - wenn GUI, dann HotKeySet("{F5}", "_func")

    - wenn Browser, dann HotKeySet("{F5}") -->> Zuweisung gelöscht

    - wenn wieder GUI aktiv, dann HotKeySet("{F5}", "_func")

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™