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

Beiträge von BugFix

  • Übersicht

    • BugFix
    • 16. Oktober 2006 um 15:27

    wenns mal etwas länger dauert, äh.. länger wird :) :
    Arbeite mit Regionen, die kannst du dann einfach "zusammenfalten" und nur bei Bedarf ausklappen.

    [autoit]

    #region - GUI-Setup
    ; Code
    ; ...
    ; ...
    #endregion

    [/autoit]


    Ich finde das recht übersichtlich.

  • icq installscript problem

    • BugFix
    • 16. Oktober 2006 um 11:11

    Im Allgemeinen gelangt man mit mehreren TAB-Sprüngen auf das gewünschte Control und kann es dann mit SPACE aktivieren/deaktivieren.
    Das ist dann völlig unabhängig von der Auflösung (wie übrigens auch ControlClick).
    Hast du schon mit dem WindowsInfoTool probiert die Controls auszulesen?

  • suche ein tool

    • BugFix
    • 16. Oktober 2006 um 09:05

    Hi,
    also wenn ich das richtig verstanden habe, möchtest du:
    - Installscripts schreiben
    - dazu die Controls, die bei der Installation des entsprechenden Programms verwendet werden vorher ermitteln ohne die Installation zu starten

    Die setup's sind kompilierte Dateien. Was da drin steckt, siehst du erst, wenn du es ausführst.
    Kompilier doch mal eine eigene GUI und versuch dann festzustellen, welche Controls darin sind - no way. ;)

  • Stapelspeicher STACK00.AU3 Erweiterung

    • BugFix
    • 15. Oktober 2006 um 17:56

    Hallo,
    wow - interessante Angelegenheit.
    Wie sieht das aus mit der Datenmenge, die ich im jeweiligen Stack parken kann. Gibt es eine Limitierung von Haus aus oder begrenzt der physikalische Speicher den Inhalt?
    Ich fasse das gleich mal ins Auge um für eine umfangreiche Datenbank die selektierten Daten nach verschiedensten Kriterien schneller umsortieren zu können. Da könnte natürlich die Datenmenge eine Rolle spielen. Muß ich aber selbst erst mal hochrechnen, was als Maximum zu erwarten ist. :)

  • aufteilung von Hilfe & Unterstützung

    • BugFix
    • 14. Oktober 2006 um 22:18

    Ich halte eigentlich auch nichts von einer weiteren Unterteilung.
    Durch das Portal sind immer die aktuellen Themen obenauf. Wer Fragen zu bestimmten Themen hat sollte immer erst die Suche bemühen, und da ist es egal aus welchem 'Karton' das Ergebnis kommt. ;)
    Und dem Fragesteller selbst wird es auch egal sein, in welcher Kategorie seine Frage beantwortet wird.

  • alle x minuten was machen

    • BugFix
    • 14. Oktober 2006 um 22:04

    Wobei hast du das Problem?
    alle 60 min: Sleep(3600000)
    Dos-Befehl: _RunDOS( $sCommand )
    Als Bsp.

    [autoit]

    HotKeySet("^{ESC}", "Esc") ; zum Verlassen der Schleife

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

    While 1
    Sleep(3600000)
    _RunDOS( $sCommand )
    WEnd

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

    Func Esc()
    Exit
    EndFunc

    [/autoit]

    EDIT:
    Da war doch wer schneller ;)
    Aber 2-mal das selbe Ergebnis - dann muß es ja stimmen! :)

  • Variablennamen zur Laufzeit gestalten/auswerten ?

    • BugFix
    • 14. Oktober 2006 um 18:47

    Ahh..
    Danke, Assign( ) und Eval( ) - das paßt.


    EDIT:
    Hier warum ich es brauchte. Aus meiner http://autoit.aufwaerts.de/thread.php?threadid=595. Mal im Vergleich der alte Code und nun mit Assign( ) und Eval( ).

    Spoiler anzeigen


    alte Version:

    [autoit]

    $day1 = GUICtrlRead($R1)
    $day2 = GUICtrlRead($R2)
    $day3 = GUICtrlRead($R3)
    $day4 = GUICtrlRead($R4)
    $day5 = GUICtrlRead($R5)
    $day6 = GUICtrlRead($R6)
    $day7 = GUICtrlRead($R7)
    $day8 = GUICtrlRead($R8)
    $day9 = GUICtrlRead($R9)
    $day10 = GUICtrlRead($R10)
    $day11 = GUICtrlRead($R11)
    $day12 = GUICtrlRead($R12)
    $day13 = GUICtrlRead($R13)
    $day14 = GUICtrlRead($R14)
    $day15 = GUICtrlRead($R15)
    $day16 = GUICtrlRead($R16)
    $day17 = GUICtrlRead($R17)
    $day18 = GUICtrlRead($R18)
    $day19 = GUICtrlRead($R19)
    $day20 = GUICtrlRead($R20)
    $day21 = GUICtrlRead($R21)
    $day22 = GUICtrlRead($R22)
    $day23 = GUICtrlRead($R23)
    $day24 = GUICtrlRead($R24)
    $day25 = GUICtrlRead($R25)
    $day26 = GUICtrlRead($R26)
    $day27 = GUICtrlRead($R27)
    $day28 = GUICtrlRead($R28)
    $day29 = GUICtrlRead($R29)
    $day30 = GUICtrlRead($R30)
    $day31 = GUICtrlRead($R31)

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

    $mon1 = GUICtrlRead($R1m)
    $mon2 = GUICtrlRead($R2m)
    $mon3 = GUICtrlRead($R3m)
    $mon4 = GUICtrlRead($R4m)
    $mon5 = GUICtrlRead($R5m)
    $mon6 = GUICtrlRead($R6m)
    $mon7 = GUICtrlRead($R7m)
    $mon8 = GUICtrlRead($R8m)
    $mon9 = GUICtrlRead($R9m)
    $mon10 = GUICtrlRead($R10m)
    $mon11 = GUICtrlRead($R11m)
    $mon12 = GUICtrlRead($R12m)

    Select
    Case $day1 = 1
    $D = 1
    Case $day2 = 1
    $D = 2
    Case $day3 = 1
    $D = 3
    Case $day4 = 1
    $D = 4
    Case $day5 = 1
    $D = 5
    Case $day6 = 1
    $D = 6
    Case $day7 = 1
    $D = 7
    Case $day8 = 1
    $D = 8
    Case $day9 = 1
    $D = 9
    Case $day10 = 1
    $D = 10
    Case $day11 = 1
    $D = 11
    Case $day12 = 1
    $D = 12
    Case $day13 = 1
    $D = 13
    Case $day14 = 1
    $D = 14
    Case $day15 = 1
    $D = 15
    Case $day16 = 1
    $D = 16
    Case $day17 = 1
    $D = 17
    Case $day18 = 1
    $D = 18
    Case $day19 = 1
    $D = 19
    Case $day20 = 1
    $D = 20
    Case $day21 = 1
    $D = 21
    Case $day22 = 1
    $D = 22
    Case $day23 = 1
    $D = 23
    Case $day24 = 1
    $D = 24
    Case $day25 = 1
    $D = 25
    Case $day26 = 1
    $D = 26
    Case $day27 = 1
    $D = 27
    Case $day28 = 1
    $D = 28
    Case $day29 = 1
    $D = 29
    Case $day30 = 1
    $D = 30
    Case $day31 = 1
    $D = 31
    EndSelect

    Select
    Case $mon1 = 1
    $mon = 1
    Case $mon2 = 1
    $mon = 2
    Case $mon3 = 1
    $mon = 3
    Case $mon4 = 1
    $mon = 4
    Case $mon5 = 1
    $mon = 5
    Case $mon6 = 1
    $mon = 6
    Case $mon7 = 1
    $mon = 7
    Case $mon8 = 1
    $mon = 8
    Case $mon9 = 1
    $mon = 9
    Case $mon10 = 1
    $mon = 10
    Case $mon11 = 1
    $mon = 11
    Case $mon12 = 1
    $mon = 12
    EndSelect

    [/autoit]

    und DAS SELBE Ergebnis neu:

    [autoit]

    For $i = 1 To 31
    Assign("day" & $i, GUICtrlRead(Eval("R" & $i))) ; $day1-$day31 = GUICtrlRead($R1-$R31)
    Next

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

    For $i = 1 To 12
    Assign("mon" & $i, GUICtrlRead(Eval("R" & $i & "m"))) ; $mon1-12 = GUICtrlRead($R1m-$R12m)
    Next

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

    For $i = 1 To 31
    If Eval("d"&"a"&"y"&$i) = 1 Then ; If $day1-$day31 = 1 Then $D = $i
    $D = $i
    ExitLoop
    EndIf
    Next

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

    For $i = 1 To 12
    If Eval("m"&"o"&"n"&$i) = 1 Then ; If $mon1-$mon12 = 1 Then $D = $i
    $mon = $i
    ExitLoop
    EndIf
    Next

    [/autoit]
  • Variablennamen zur Laufzeit gestalten/auswerten ?

    • BugFix
    • 14. Oktober 2006 um 18:40

    Hi,
    vielleicht ist das Problem ja ganz simpel zu lösen -aber ich hab da 'nen Hänger.
    Ich möchte z.B. 31 Radio-Control's erstellen. Und da ich ja faul bin ;) am liebsten in einer Schleife. Etwa so, allerdings funktioniert die Syntax für den Variablennamen so nicht.

    [autoit]

    $top = 15
    For $i = 1 To 31
    $Radio & $i = GUICtrlCreateRadio($i, 20, $i*$top, 30, 15) ; soll dann $Radio1, $Radio2 usw. ergeben
    Next

    [/autoit]


    Gibt ja häufiger Situationen, in denen Controls mit fortlaufender Nummerierung existieren und wo es sinnvoll wäre, den numerischen Bestandteil des Variablennamens, wie im obigen Bsp. in einer Zählschleife auszuwerten oder festzulegen.
    Das war nur ein Bsp., mir geht es grundsätzlich darum: Kann ich Variablennamen zusammensetzen oder Bestandteile des Namens auswerten?

  • Tristate TreeView - Problem

    • BugFix
    • 14. Oktober 2006 um 18:14

    LOL, da habe ich die Error-Meldungen wohl viel zu wichtig genommen.
    Aber bei soviel rot erstarrt man doch gleich in Erfurcht. :)

  • Tristate TreeView - Problem

    • BugFix
    • 14. Oktober 2006 um 10:10

    Hi,
    den Verweis auf dieses Skript von HolgerK hatte ich in Analyzers Thread entdeckt. Wollte aber nicht seinen Beitrag hijacken.
    Ich verwende die aktuelle Beta (3.2.1.9), bekomme aber beim Ausführen des Beispiels folgende Fehlermeldung:

    Spoiler anzeigen
    Code
    >Running AU3Check (1.54.4.0)  params:  from:C:\Programme\AutoIt3\beta
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(12,78) : ERROR: $CLR_NONE previously declared as a 'Const'
    If Not IsDeclared("CLR_NONE")				Then	Global Const $CLR_NONE					= 0xFFFFFFFF
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~					~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(18,74) : ERROR: $TV_FIRST previously declared as a 'Const'
    If Not IsDeclared("TV_FIRST")				Then	Global Const $TV_FIRST					= 0x1100
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~					~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(19,93) : ERROR: $TVM_SETIMAGELIST previously declared as a 'Const'
    If Not IsDeclared("TVM_SETIMAGELIST")		Then	Global Const $TVM_SETIMAGELIST			= $TV_FIRST + 9
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~		~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(20,92) : ERROR: $TVM_GETNEXTITEM previously declared as a 'Const'
    If Not IsDeclared("TVM_GETNEXTITEM")		Then	Global Const $TVM_GETNEXTITEM			= $TV_FIRST + 10
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~		~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(21,86) : ERROR: $TVM_GETITEM previously declared as a 'Const'
    If Not IsDeclared("TVM_GETITEM")			Then	Global Const $TVM_GETITEM				= $TV_FIRST + 12
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(22,86) : ERROR: $TVM_SETITEM previously declared as a 'Const'
    If Not IsDeclared("TVM_SETITEM")			Then	Global Const $TVM_SETITEM				= $TV_FIRST + 13
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(25,73) : ERROR: $TVGN_NEXT previously declared as a 'Const'
    If Not IsDeclared("TVGN_NEXT")				Then	Global Const $TVGN_NEXT					= 0x1
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~~					~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(26,75) : ERROR: $TVGN_PARENT previously declared as a 'Const'
    If Not IsDeclared("TVGN_PARENT")			Then	Global Const $TVGN_PARENT				= 0x3
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(27,74) : ERROR: $TVGN_CHILD previously declared as a 'Const'
    If Not IsDeclared("TVGN_CHILD")				Then	Global Const $TVGN_CHILD				= 0x4
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(28,74) : ERROR: $TVGN_CARET previously declared as a 'Const'
    If Not IsDeclared("TVGN_CARET")				Then	Global Const $TVGN_CARET				= 0x9
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(29,77) : ERROR: $TVIF_STATE previously declared as a 'Const'
    If Not IsDeclared("TVIF_STATE")				Then	Global Const $TVIF_STATE				= 0x0008
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~	~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(30,78) : ERROR: $TVIF_HANDLE previously declared as a 'Const'
    If Not IsDeclared("TVIF_HANDLE")			Then	Global Const $TVIF_HANDLE				= 0x0010
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~			~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~				~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(31,90) : ERROR: $TVIS_STATEIMAGEMASK previously declared as a 'Const'
    If Not IsDeclared("TVIS_STATEIMAGEMASK")	Then	Global Const $TVIS_STATEIMAGEMASK		= 0xF000
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~	~~~~	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~		~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(337,73) : WARNING: $hImageList: possibly used before declaration.
    	DllCall("comctl32.dll", "int", "ImageList_Destroy", "hwnd", $hImageList)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeViewLib.au3(337,73) : ERROR: $hImageList: undeclared global variable.
    	DllCall("comctl32.dll", "int", "ImageList_Destroy", "hwnd", $hImageList)
    	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\tristatestuff\TristateTreeview-sample.au3 - 14 error(s), 1 warning(s)
    Alles anzeigen

    Kann ich mir nicht erklären. Mag mein Rechner das Beispiel nicht? ;)

  • Datei durchsuchen

    • BugFix
    • 13. Oktober 2006 um 09:09
    Zitat

    Zeile auslesen nützt mir leider nichts, da die ipconfig unterschiedlich viele einträge enthalten kann.


    Lies doch die Zeilen in ein Array aus und vergleiche mit deinem Suchbegriff. In etwa so:

    [autoit]


    #include <file.au3>
    Dim $aRecords
    If Not _FileReadToArray("temp.txt",$aRecords) Then
    MsgBox(4096,"Error", " Fehler beim Einlesen der Datei Fehler:" & @error)
    Exit
    EndIf
    For $x = 1 to $aRecords[0]
    If StringInStr($aRecords[$x], "keine Verbindung") Then ; Eintrag ist vorhanden
    ; was immer du dann machen willst
    ExitLoop
    EndIf
    Next

    [/autoit]

    Edit: Da war 'ne Klammer zuviel... :whistling:

  • Problem mit AutoIt

    • BugFix
    • 12. Oktober 2006 um 20:00

    FileDelete arbeitet mit Wildcards:

    [autoit]

    FileDelete($Pfad & "\" & "*.fbk")

    [/autoit]
  • Sortierung

    • BugFix
    • 12. Oktober 2006 um 14:11

    An folgender Stelle in der Funktion "_back()" lösche ich das Array, bzw. ich definiere es mit "ReDim" neu als Array ohne Inhalt:

    [autoit]

    Func _back()
    $pfad = $Masterpfad
    $filesearch2 = FileFindFirstFile($pfad & "*.*")
    _GUICtrlListViewDeleteAllItems($LIST_FOLDER)
    ;###################################################
    ReDim $arFolder[1], $arFile[1] ; Arrays löschen
    ;###################################################

    [/autoit]

    Hatte ich erst auch nicht dran gedacht und da war mir das gleiche passiert :) .

  • Sortierung

    • BugFix
    • 12. Oktober 2006 um 11:16

    Ich hab es mal in dein Script eingebaut. Bei mir funktionierts.
    Meine Zusätze hab ich mit: ;######################### markiert:

    Spoiler anzeigen
    [autoit]

    ;########## START ##########
    #cs
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    + BrowseNET BETA 2 +
    + +
    + Version: 0.7.9 BETA +
    + +
    + Autor: Kay Stratmann +
    + mit freundlicher Unterstützung von http://www.autoit.de +
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    #ce

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

    ;////////// GLOBALS \\\\\\\\\\
    Global Const $NM_FIRST = 0
    Global Const $NM_DBLCLK = -3
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// HOTKEYS \\\\\\\\\\
    HotKeySet("{F1}", "_help")
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// INCLUDES \\\\\\\\\
    #include <GUIConstants.au3>
    #include <GuiListView.au3>
    #Include <process.au3>
    #include <string.au3>

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

    ;###################################################
    #include <array.au3>
    Dim $arFolder[1], $arFile[1]
    ;###################################################

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

    ;////////// ENDE \\\\\\\\\\

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

    ;////////// OPTIONS \\\\\\\\\\
    Opt("GUIOnEventMode", 1)
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// MAINSETTINGS \\\\\\\\\
    $datei1 = @ScriptDir & "\ordner.db"
    $Masterpfad = IniRead(@Scriptdir & "\konfiguration.ini", "Masterpfad", "Value", @Scriptdir & "\")
    $pfad = $masterpfad
    $autostart = IniRead(@ScriptDir & "\konfiguration.ini", "Autostart", "VALUE", "4")
    $pass_read = IniRead(@ScriptDir & "\konfiguration.ini", "Passwort", "Value", "")
    $encrypt = _StringEncrypt(0, $pass_read, "last")
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// GUIS \\\\\\\\\\
    ;~~~~~~~~~~ MAINGUI ~~~~~~~~~~~
    $MAIN_GUI = GUICreate("BrowseNET", 200, 440, 0, 0) ;ERSTELLT DIE GUI
    GUISetHelp("BrowseNET.exe")
    $search = FileFindFirstFile($pfad & "*.*")
    $LIST_FOLDER = GUICtrlCreateListView("Scripte", 0, 0, 200, 410, $LVS_NOCOLUMNHEADER);ERSTELLT EINE LISTE
    _GUICtrlListViewSetColumnWidth($LIST_FOLDER, 0, 180) ; Breite = 200 minus Scrollbalken
    GUIRegisterMsg(0x004E, "_DoubleClickOnListView") ;DOPPELKLICK FUNKTION
    $main_btn1 = GUICtrlCreateButton("Zurück zum Startpfad", 37, 415, 120, 20) ;ERSTELLT EINEN BUTTON
    GUICtrlSetOnEvent($main_btn1, "_back")
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit") ;CLOSE BUTTON
    GUISetState(@SW_Show) ;SETZT DIE GUI AUF SHOW
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ DATEI ~~~~~~~~~~
    $DATEI_MENUE = GUICtrlCreateMenu("Datei") ;ERSTELLT DAS MENUE
    $DATEI_ITEM1 = GUICtrlCreateMenu("Export", $Datei_Menue) ;ERSTELLT EIN ITEM
    $Export_ITEM1 = GUICtrlCreateMenuitem("Textdatei", $Datei_Item1) ;TEXTDATEI
    GUICtrlSetOnEvent($Export_ITEM1, "_export_text") ;EXPORT TEXT
    $Export_ITEM2 = GUICtrlCreateMenuitem("Exceldatei", $Datei_Item1) ;EXCELDATEI
    GUICtrlSetOnEvent($Export_item2, "_export_excel")
    $DATEI_ITEM2 = GUICtrlCreateMenuitem("Beenden", $DATEI_MENUE) ;ERSTELLT EIN ITEM
    GUICtrlSetOnEvent($DATEI_ITEM2, "_exit") ;BEENDEN
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ OPTIONEN ~~~~~~~~~~
    $OPTION_MENUE = GUICtrlCreateMenu("Optionen") ;ERSTELLT DAS MENUE
    $OPTION_ITEM1 = GUICtrlCreateMenuitem("Einstellungen", $OPTION_MENUE) ;ERSTELLT EIN ITEM
    GUICtrlSetOnEvent($OPTION_ITEM1, "_pw_gui") ;OPTIONEN GUI
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ INHALT LADEN ~~~~~~~~~~
    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    ;###################################################
    If StringInStr(StringRight($file,5),".") Then ; ==> Datei
    _ArrayAdd($arFile,$file)
    Else
    _ArrayAdd($arFolder,$file)
    EndIf
    ;###################################################
    ;GUICtrlCreateListViewItem($file, $LIST_FOLDER)
    WEnd
    ;###################################################
    For $i = 1 To UBound($arFolder)-1
    GUICtrlCreateListViewItem($arFolder[$i], $LIST_FOLDER)
    Next
    For $i = 1 To UBound($arFile)-1
    GUICtrlCreateListViewItem($arFile[$i], $LIST_FOLDER)
    Next
    ;###################################################
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ OPTIONGUI ~~~~~~~~~~
    $OPT_GUI = GUICreate("Optionen", 200, 195) ;ERSTELLT DIE GUI
    GUICtrlCreateLabel("Masterpfad", 10, 10, 100, 20) ;ERSTELLT EIN LABEL
    GUICtrlCreateLabel("INFO: Die Pfadangabe muss immer mit einem ''\'' enden!", 10, 160, 180, 50) ;ERSTELLT EIN LABEL
    GUICtrlCreateLabel("Passwort", 10, 60, 75, 20) ;ERSTELLT EIN LABEL
    $opt_input1 = GUICtrlCreateInput($Masterpfad, 10, 30, 180, 20) ;ERSTELLT EIN INPUTFELD
    $opt_input2 = GUICtrlCreateInput($encrypt, 10, 80, 180, 20) ;ERSTELLT EIN INPUTFELD
    $checkbox = GUICtrlCreateCheckbox("Autostart", 15, 105) ;CHECKBOX
    GUICtrlSetState(-1, $autostart)
    $opt_btn1 = GUICtrlCreateButton("OK", 10, 135, 75, 20) ;ERSTELLT EINEN BUTTON
    GUICtrlSetOnEvent($opt_btn1, "_Opt_save") ;EINSTELLUNGEN SPEICHERN
    $opt_btn2 = GUICtrlCreateButton("Abbrechen", 115, 135, 75, 20) ;ERSTELLT EIEN BUTTON
    GUICtrlSetOnEvent($opt_btn2, "_opt_hide") ;ABBRECHEN
    GUISetOnEvent($GUI_EVENT_CLOSE, "_opt_hide") ;BEENDEN
    GUISetState(@SW_Hide, $OPT_GUI) ;SETZT DIE GUI AUF HIDE
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ PASSWORTGUI ~~~~~~~~~~
    $pw_gui = GUICreate("Passwort", 200, 70) ;ERSTELLT DIE GUI
    $pw_input = GUICtrlCreateInput("", 10, 10, 180, 20, $ES_PASSWORD) ;INPUTFELD
    $pw_btn1 = GUICtrlCreateButton("Login", 10, 40, 75, 20) ;BUTTON
    GUICtrlSetOnEvent($pw_btn1, "_pw_login") ;LOGIN
    $pw_btn2 = GUICtrlCreateButton("Abbrechen", 115, 40, 75, 20) ;BUTTON
    GUICtrlSetOnEvent($pw_btn2, "_pw_hide") ;ABBRECHEN
    GUISetOnEvent($GUI_EVENT_CLOSE, "_pw_hide") ;BEENDEN
    GUISetState(@SW_Hide, $pw_gui) ;SETZT DIE GUI AUF HIDE
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// WHILESCHLEIFE \\\\\\\\\\
    While 1 ;BEGINN DER SCHLEIFE
    Sleep(100) ;100MS PAUSE
    WEnd ;SCHLEIFENENDE
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// FUNKTIONEN \\\\\\\\\\
    ;~~~~~~~~~~ HELP ~~~~~~~~~~
    FUNC _help()
    _RunDOS("start " & @ScriptDir & "\Readme.txt")
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ EXPORT ~~~~~~~~~~
    Func _export_text()
    $exp_txt = FileSaveDialog("Export", Default, "(*.txt)", 16, "Export.txt")
    If @error Then
    ;
    Else
    If FileExists($exp_txt) Then
    FileDelete($exp_txt)
    EndIf
    $filesearch = FileFindFirstFile($pfad & "*.*")
    While 1
    $filefind = FileFindNextFile($filesearch)
    If @error Then ExitLoop
    FileWriteLine($exp_txt, $filefind)
    FileClose($exp_txt)
    WEnd
    _RunDOS("start " & $exp_txt)
    EndIf
    EndFunc

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

    Func _export_excel()
    $exp_xls = FileSaveDialog("Export", Default, "(*.xls)", 16, "Export.xls")
    If @error Then
    ;
    Else
    If FileExists($exp_xls) Then
    FileDelete($exp_xls)
    EndIf
    $filesearch = FileFindFirstFile($pfad & "*.*")
    While 1
    $filefind = FileFindNextFile($filesearch)
    If @error Then ExitLoop
    FileWriteLine($exp_xls, $filefind)
    FileClose($exp_xls)
    WEnd
    _RunDOS("start " & $exp_xls)
    EndIf
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ PASSWORT~~~~~~~~~~
    Func _pw_gui()
    GUISetState(@SW_SHOW, $pw_gui) ;SETZT DIE GUI AUF SHOW
    EndFunc

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

    Func _pw_hide()
    GUISetState(@SW_HIDE, $pw_GUI) ;SETZT DIE GUI AUF HIDE
    EndFunc

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

    Func _pw_login()
    $pw_input_read = GUICtrlRead($pw_input)
    If $pw_input_read == $encrypt Then
    GUISetState(@SW_SHOW, $opt_gui) ;SETZT DIE GUI AUF SHOW
    GUISetState(@SW_HIDE, $pw_gui) ;SETZT DIE GUI AUF HIDE
    Else
    MsgBox(0, "EINGABE FALSCH", "Das Passwort welches Sie eingegeben haben ist nicht korrekt!") ;MSGBOX
    EndIf
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~
    ;~~~~~~~~~~ OPTIONEN ~~~~~~~~~~

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

    Func _opt_hide()
    GUISetState(@SW_HIDE, $opt_GUI) ;SETZT DIE GUI AUF HIDE
    EndFunc

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

    Func _opt_save()
    $opt_input1_read = GUICtrlRead($opt_input1) ;ERSTELLT EIN INPUTFELD
    $opt_input2_read = GUICtrlRead($opt_input2)
    IniWrite(@Scriptdir & "\konfiguration.ini", "Masterpfad", "Value", $opt_input1_read);SCHREIBT IN EINE INIDATEI
    IniWrite(@ScriptDir & "\konfiguration.ini", "Autostart", "Value", GUICtrlRead($Checkbox))
    $crypt = _StringEncrypt(1, $opt_input2_read, "last")
    IniWrite(@ScriptDir & "\konfiguration.ini", "Passwort", "Value", $crypt)
    If GUICtrlRead($checkbox) = "4" Then
    RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "BrowseNET")
    EndIf
    If GUICtrlRead($checkbox) = "1" Then
    RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "BrowseNET", "REG_SZ", @ScriptFullPath)
    EndIf
    MsgBox(0, "Einstellungen", "Die änderungen werden erst nach einem Neustart des Programms in kraft treten")
    GUISetState(@SW_HIDE, $OPT_GUI)
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ ZURÜCK ~~~~~~~~~~
    Func _back()
    $pfad = $Masterpfad
    $filesearch2 = FileFindFirstFile($pfad & "*.*")
    _GUICtrlListViewDeleteAllItems($LIST_FOLDER)
    ;###################################################
    ReDim $arFolder[1], $arFile[1] ; Arrays löschen
    ;###################################################
    While 1
    $filefind2 = FileFindNextFile($filesearch2)
    If @error Then ExitLoop
    ;###################################################
    If StringInStr(StringRight($filefind2,5),".") Then ; ==> Datei
    _ArrayAdd($arFile,$filefind2)
    Else
    _ArrayAdd($arFolder,$filefind2)
    EndIf
    ;###################################################
    ;GUICtrlCreateListViewItem($filefind2, $LIST_FOLDER)
    WEnd
    ;###################################################
    For $i = 1 To UBound($arFolder)-1
    GUICtrlCreateListViewItem($arFolder[$i], $LIST_FOLDER)
    Next
    For $i = 1 To UBound($arFile)-1
    GUICtrlCreateListViewItem($arFile[$i], $LIST_FOLDER)
    Next
    ;###################################################
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;~~~~~~~~~~ BEENDEN ~~~~~~~~~
    Func _exit()
    ;IniWrite(@Scriptdir & "\konfiguration.ini", "Pfad", "Value", "I:\DV\dv3\scripte\ordner\")
    Exit ;BEENDEN
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;////////// ENDE \\\\\\\\\\

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

    ;////////// EXTERN [AUTOIT.DE] \\\\\\\\\\
    ;~~~~~~~~~~ DOUBLECLICK ~~~~~~~~~~
    Func _DoubleClickOnListView($hWndGUI, $MsgID, $wParam, $lParam);Die Eigentliche Funktion
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return
    $event = DllStructGetData($tagNMHDR, 3); Checkt wie das EVENT aussieht
    If $wParam = $List_Folder Then;Wenn der Klick auf das ListView ging..
    If $event = $NM_DBLCLK Then;.. Wenn es ein DoppelKlick war
    ; Hier kommt hin was er machen soll:
    $read_select = GUICtrlRead(GUICtrlRead($LIST_FOLDER))
    If StringInStr(FileGetAttrib($pfad & $read_select),"D") Then
    IniWrite(@Scriptdir & "\konfiguration.ini", "Pfad", "Value", $pfad & $read_select & "\")
    $pfad = IniRead(@Scriptdir & "\konfiguration.ini", "Pfad", "Value", "")
    $filesearch = FileFindFirstFile($pfad & "*.*")
    _GUICtrlListViewDeleteAllItems($LIST_FOLDER)
    While 1
    $filefind = FileFindNextFile($filesearch)
    If @error Then ExitLoop
    GUICtrlCreateListViewItem($filefind, $LIST_FOLDER)
    WEnd
    Else
    _RunDOS("Start " & $pfad & $read_select)
    EndIf
    EndIf
    EndIf
    $tagNMHDR = 0
    $event = 0
    $lParam = 0
    EndFunc
    ;~~~~~~~~~~ ENDE ~~~~~~~~~~
    ;////////// ENDE \\\\\\\\\\

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

    ;########## ENDE ##########

    [/autoit]
  • Sortierung

    • BugFix
    • 12. Oktober 2006 um 10:10

    Schau mal hier: Dateien / Ordner rekursiv lesen nach.
    Vielleicht bringt dich das weiter.

    Edit:
    Oder willst du erst nur Ordner und dann nur Dateien anzeigen, oder wie?


    Edit:
    Sortiere doch beim Auslesen (FindNextFile) gleich ob Datei oder Ordner. Die Arrays sind hier bei Index "0" leer kannst ja beim zuweisen der Einträge dort einen Zähler mitführen für Anzahl Elemente:

    [autoit]

    #include <array.au3>
    Dim $arFolder[1], $arFile[1]
    If StringInStr(StringRight($file,5),".") Then ; ==> Datei
    _ArrayAdd($arFile,$file)
    Else
    _ArrayAdd($arFolder,$file)
    EndIf

    [/autoit]


    Am Ende bestückst du dein Listview mit den Daten aus den Arrays, erst die Ordner, dann die Dateien.

  • Bei Export wird english nicht berücksichtigt

    • BugFix
    • 12. Oktober 2006 um 08:33

    Hast du auch Gebietseinstellungen auf englisch gesetzt?
    Wechseln der Sprache in der Eingabegebietsschema-Leiste hat nur Einfluß auf die Tastatur (wie der Name sagt: Eingabe).
    Willst du, dass dein Rechner auch englisches Datum und Uhrzeit hat, mußt du in <Regions- und Sprachoptionen><Regionale Einstellungen> auf <Englisch(Großbritannien)> oder <Englisch(USA)> ändern.
    Dann hat dein PC diese Werte als Systemeinstellung und sollte entsprechend beim Galenda berücksichtigt werden (hoffe ich :) ).

  • Gangster

    • BugFix
    • 11. Oktober 2006 um 22:13

    Vielleicht gibts ja bald eine site:

    http://banned-autoit-user.de :rofl:


    Edit:
    Mußte ich jetzt einfach loswerden um meinen 200. Post zu haben ;)

  • Links auf IE - Site sperren

    • BugFix
    • 11. Oktober 2006 um 12:00

    Hi,
    nachdem ich lange genug und mit eurer Unterstützung gegrübelt habe, konnte ich das Problem nun lösen.
    Das Ergebnis habe ich gleich in eine UDF verpackt. Vielleicht kann es ja noch jemand brauchen.
    Hier ein Muster zum Probieren:

    Spoiler anzeigen
    [autoit]


    #cs
    Mit Alt+C wechselt ihr zwischen
    Link Benutzkarte gesperrt / Link Kalender frei
    und
    Link Benutzkarte frei / Link Kalender gesperrt
    und zurück
    #ce

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

    #include <IE.au3>
    #Include <Misc.au3>
    Global $changed = 0, $mode = 0

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

    ; direkte Links
    $x = "http://clustrmaps.com/counter/maps.php?url=http://autoit.aufwaerts.de" ; Benutzerkarte

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

    ; http://autoit.aufwaerts.de/calendar.php?sid=
    ; da "sid" bei jedem Aufruf wechselt, für solche Links:
    $y = "http://autoit.aufwaerts.de/calendar.php?" ; Kalender

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

    HotKeySet("!c","change")

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

    $oMSIE = _IECreate ("http://autoit.aufwaerts.de/portal.php")
    _SkipForbiddenLink($x)

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

    Func _SkipForbiddenLink($ForbiddenLink,$Part=0)
    Local $Link
    AutoItSetOption("WinTitleMatchMode", 2)
    If $changed = 1 Then $changed = 0 ; nur für Test zum Umschalten
    While 1
    $Link = StatusbarGetText("Internet Explorer")
    If $Link <> "" Then
    If $Part = 0 Then ; kpl. Link angegeben
    If $Link = $ForbiddenLink And _
    ( _IsPressed("01") Or _IsPressed("02")) Then MouseMove(@DesktopWidth/2, @DesktopHeight/2, 0)
    Else ; Teil des Links angegeben
    If StringInStr($Link, $ForbiddenLink) And _
    ( _IsPressed("01") Or _IsPressed("02")) Then MouseMove(@DesktopWidth/2, @DesktopHeight/2, 0)
    EndIf
    EndIf
    Sleep(100)
    ; If Not WinExists("Internet Explorer") Then Exit ; Original in der Funktion
    If Not WinExists("Internet Explorer") Or $changed = 1 Then Exit ; nur für Test zum Umschalten
    WEnd
    EndFunc

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

    Func change()
    $changed = 1
    If $mode = 0 Then
    $mode = 1
    _SkipForbiddenLink($y, 1)
    Else
    $mode = 0
    _SkipForbiddenLink($x)
    EndIf
    EndFunc

    [/autoit]


    Die Funktion im Anhang.

    Edit:
    Hab eine Änderung eingefügt. Erst wenn auf den Link geklickt wird springt die Maus zur Mitte.

    Dateien

    _SkipForbiddenLink.au3 1,2 kB – 309 Downloads
  • Links auf Website sperren

    • BugFix
    • 11. Oktober 2006 um 08:32

    Ich werd jetzt mal folgendes versuchen:
    - wenn Maus über Link ($Link = StatusbarGetText("Internet Explorer") , Vergleich mit Link-Liste)
    - dann Maus bewegen zu Pos x,y (z.B. Bildschirmmitte)

    Ich geb Bescheid ob es klappt.


    Edit:
    Heureka, ich habs!
    Da die Links sich täglich ändern, checke ich jetzt nur deren Basis ab. Das geht super. Sowie die Maus auf einen 'bösen' Link zeigt springt sie zur Mitte.
    Hier das Script:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <IE.au3>
    #cs
    Seitenaufruf
    Login
    #ce

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

    AutoItSetOption("WinTitleMatchMode", 2)
    While 1
    $Link = StatusbarGetText("Internet Explorer")
    If $Link <> "" Then
    If _
    StringInStr($Link, "http://redirect.1und1.de/") Or _
    StringInStr($Link, "http://maxdome.1und1.de/movies/?") Or _
    StringInStr($Link, "http://maxdome.1und1.de/comedy/?") Or _
    StringInStr($Link, "http://maxdome.1und1.de/serie/?") Or _
    StringInStr($Link, "http://xxx.nightclub.de/") Or _
    StringInStr($Link, "http://maxdome.1und1.de/abos/") Or _
    StringInStr($Link, "http://www.nightclub.de/") _
    Then
    MouseMove(@DesktopWidth/2, @DesktopHeight/2, 0)
    EndIf
    EndIf
    Sleep(100)
    If Not WinExists("Internet Explorer") Then Exit
    WEnd

    [/autoit]

    Würde gern "gelöst" aktivieren -- aber kein Schalter da. :(

  • Problem Combo in Win2k

    • BugFix
    • 10. Oktober 2006 um 19:51

    Werde es morgen mal auf nem 2k testen und (so es dann funzt :) ) den Thread als gelöst markieren -- ähh wo mach ich das denn? Seh hier keinen Schalter.
    Oder geht das mit <Weitere Optionen><Öffnen/Schließen> ?


    Edit:
    Hab es versucht mit den verschiedensten Größen. Ergebnis ist immer das gleiche: Win2k mag die Combobox einfach nicht. Was solls, ich lass mich doch von Windoof nicht ärgern -- hab jetzt einfach 'ne Liste genommen.

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™