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

  • Skins frage

    • BugFix
    • 20. April 2008 um 23:21

    Machbar ist das.
    Voraussetzung:
    Alle Deklarationen zu deiner Oberfläche sind mit Variablen belegt. z.B.: statt BkColor-ListView = 0xFFAB00 verwendest du eine Variable $BkCol_ListView1 und je nach Skin wird diese belegt.

    Wie übernimmt man den neuen Skin? - Tja, eine Funktion schreiben, die alle erforderlichen Werte setzt. In etwa so:

    [autoit]

    Func _SetSkin($SKIN)
    ; Skin-Datei einlesen (am besten in Array)
    ; Werte für aufgerufenen Skin für jedes Control setzen
    ; z.B. GUICtrlSetColor($Label1, $Col_Label1) usw.
    EndFunc

    [/autoit]

    Das ist nur ein ganz grobes Bsp.

    Die Skin Datei kannst du gestalten, wie du willst (INI, XML, TXT). Hängt davon ab, wie du am besten mit umgehen kannst. Ich würde aber nur dann eine eigene Datei für die Skins verwenden, wenn geplant ist, dass später weitere Skins hinzukommen.
    Ansonsten ist es einfacher, alle erforderlichen Angaben im Programm zu führen.
    Für Nicht-Windows-Eigene Grafikelemente (also Icons etc.) mußt du die erforderlichen Dateien auf jeden Fall separat mitliefern. Praktischerweise als Ordner IMAGES im Skriptverzeichnis. Kannst du ja einbauen, dass bei Programmstart auf diese Elemente geprüft wird, wenn nicht vorhanden, werden sie per FileInstall() installiert.

  • controlclick u Paint

    • BugFix
    • 20. April 2008 um 20:32

    Probier mal so:

    [autoit]

    ControlClick ('02.bmp - Paint' ,'' ,'[CLASSNN:Afx:1000000:81; INSTANCE:1]' )

    [/autoit]
  • Problem mit Schleife und Abfrage

    • BugFix
    • 20. April 2008 um 17:18

    Versuchs mal so, Abbruchbedingung solltest du aber noch einbinden:

    Spoiler anzeigen
    [autoit]

    While True ; besser eine Abbruchbedingung definieren, z.Zt. endlos
    Do
    Sleep(1000)
    $PID = ProcessExists ( "Limewire.exe" )
    Until $PID <> 0
    $PID_alt = $PID
    If MsgBox(262180, '', '') = 6 Then ; Ja
    RunWait('bla.exe')
    Else
    Do
    Sleep(1000)
    $PID = ProcessExists ( "Limewire.exe" )
    Until ($PID <> 0) And ($PID <> $PID_alt)
    EndIf
    WEnd

    [/autoit]
  • Brauche Hilfe bei Run Funktion oder änliches.

    • BugFix
    • 20. April 2008 um 16:37

    Wieso fällt mir da die AutoIt-Hilfe ein und anderen nicht? *grübel* Denke ich falsch? :rofl:

  • Brauche Hilfe bei Run Funktion oder änliches.

    • BugFix
    • 20. April 2008 um 14:23

    zu 1.

    [autoit]

    $inil = IniReadSectionNames(@ScriptDir & "\" & $lol & ".ini")

    [/autoit]


    Return-Type beachten!!

    Zitat von Autoit Hilfe

    Success: Returns an array of all section names in the INI file.

    zu 2.

    [autoit]

    Case $Run
    $all = GUICtrlRead ($Serienname) & GUICtrlRead ($Folgennummer)
    $lol = GUICtrlRead ($List1)
    Run ( $lol, "" )

    [/autoit]


    Du mußt dir schon den Inhalt der markierten Zeile zurückgeben lassen. Schau mal in die UDF GUIListBoxManagement.
    Da findest du die notwendigen Funktionen.

  • script per mac adresse schützen

    • BugFix
    • 20. April 2008 um 12:12

    Hier liegt der Fehler:

    [autoit]

    $Output = $objItem.MACAddress & @CRLF

    [/autoit]

    In der Schleife wird ein Zeilenumbruch angefügt, du könntest ja mehrere Netzwerkadapter haben, dann werden natürlich auch mehrere MAC-Adressen geliefert.
    Die Ausgabe solltest du also splitten und dann alle evtl. Adressen abprüfen.

    [autoit]

    Global $MAC_Vorgabe = '00:24:B5:58:BD:C4'
    Global $MACs = StringSplit($Output, @CRLF)
    Global $MAC_OK = False
    For $i = 1 To $MACs[0]
    If $MACs[$i] = $MAC_Vorgabe Then
    $MAC_OK = True
    ExitLoop
    EndIf
    Next
    If $MAC_OK Then MsgBox(0, '', 'OK')

    [/autoit]
  • TreeView mit transparentem Hintergrund ????

    • BugFix
    • 20. April 2008 um 00:13

    Ich glaube, du suchst so etwas:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    $GUImain = GUICreate('Main', 170, 200, -1, -1, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlCreatePic(@Systemdir & "\oobe\images\merlin.gif", 10, 10, 150, 180)
    GUICtrlSetState(-1, $GUI_DISABLE)

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

    $GUITreeView = GUICreate("", 150, 180, 10, 10, $WS_POPUP, $WS_EX_MDICHILD, $GUImain)
    WinSetTrans($GUITreeView, "", 210)
    $TreeView = GUICtrlCreateTreeView(0, 0, 150, 180)
    $item1 = GUICtrlCreateTreeViewItem('Eintrag 1', $TreeView)
    $item2 = GUICtrlCreateTreeViewItem('Eintrag 2', $TreeView)
    $sub2 = GUICtrlCreateTreeViewItem('SubItem 2_1', $item2)

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

    GUISetState(@SW_SHOW, $GUITreeView)
    GUISetState(@SW_SHOW, $GUImain)

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

    While True
    If GUIGetMsg() = $GUI_EVENT_CLOSE Then Exit
    WEnd

    [/autoit]
  • dynamische Gui mit Checkboxen / Service Installer für Vmware Workstation

    • BugFix
    • 19. April 2008 um 18:07

    Die GUI-Größe kannst du mit WinMove() anpassen.

  • Durch For schleife mehrere Labels disablen

    • BugFix
    • 19. April 2008 um 14:19

    Kannst du so machen:

    [autoit]

    For $i = 40 To 50
    GUISetState(Eval('$label' & $i), $GUI_DISABLE)
    Next

    [/autoit]


    oder die Label-ID's in einem Array führen und dann dieses in einer Schleife durchlaufen.

  • 2 Schleifen Frage ggf mit abbruch bzw neustart

    • BugFix
    • 18. April 2008 um 19:52

    Meiner Meinung nach brauchst du (wie GTA schon gesagt hat) ContinueLoop.

  • for schleife immer bricht ab, abbruch bedingung nicht erfüllt

    • BugFix
    • 18. April 2008 um 19:46

    (FileRead(FileOpen(@ScriptDir &

    :wacko: ...lies dir mal die Hilfe zu FileOpen durch.

  • FAQ

    • BugFix
    • 18. April 2008 um 19:18

    Link korrigiert ;)

  • Func aus Func herraus aufrufen

    • BugFix
    • 14. April 2008 um 22:52

    Vermutlich arbeitest du mit GUIGetMsg.
    Um die Events von mehreren Fenstern zu erkennen, mußt du GUIGetMsg(1) verwenden. Dann kannst du Fenster und Ereignis abfragen. Syntax siehe Hilfe.

  • Bei Internet Explorer 6/7 aktuelle Url bekommen, wenn das Fenster aktiv ist. Wie?

    • BugFix
    • 14. April 2008 um 22:47

    Bei aktivem IE eine Referenz darauf erstellen, ansonsten identisch:

    [autoit]

    $oIE_aktiv = ObjGet("",'InternetExplorer.Application')

    [/autoit]
  • Bei Internet Explorer 6/7 aktuelle Url bekommen, wenn das Fenster aktiv ist. Wie?

    • BugFix
    • 14. April 2008 um 22:33

    Wenn du mit _IECreate() den Explorer öffnest, kannst du es so machen.

    [autoit]

    #include <IE.au3>
    $aktuelleURL = _IEPropertyGet ( $oIE, "locationurl" )

    [/autoit]
  • Technische Spielereien

    • BugFix
    • 13. April 2008 um 22:38
    Zitat von Xenobiologist

    oder einfach coooool ist. :D

    Ne Frau, die man An- und Ausschalten kann :rofl:

  • AutoIT// Auslesen einer Combobox --> Mittels mausklick andere Combobox Senden

    • BugFix
    • 13. April 2008 um 22:27

    Also Auslesen

    [autoit]

    $Monat = ControlGetText('Fenster-Titel', '', 1001)

    [/autoit]


    und Schreiben in die Web-Site:

    [autoit]

    #include <IE.au3>
    ; $Monat = 'Februar'
    $url = 'C:\Dokumente und Einstellungen\Standard\Eigene Dateien\CODE\TEST\test.html' ; meine Testadresse
    $oIE = _IECreate($url)
    $oForm = _IEGetObjByName($oIE, "birthdateMonth")
    If IsObj($oForm) Then _IEFormElementOptionSelect($oForm, $Monat, 1, "byText")

    [/autoit]
  • Buchstabenkombinationen automatisch erzeugen und in eine Datei schreiben

    • BugFix
    • 13. April 2008 um 21:39

    Genau das identische Problem hatten wir hier schon, bemüh mal die Suche.

  • AutoIT// Auslesen einer Combobox --> Mittels mausklick andere Combobox Senden

    • BugFix
    • 13. April 2008 um 21:01

    Ich fragte, ob das von mir geschilderte Szenario so richtig ist. Wär nicht schlecht, wenn du Fragen auch beantwortest, sonst kann man dir schlecht helfen.
    Es wäre auch nützlich den Quellcode der eingebetteten WebSite zu kennen, dann kann man nämlich besser auf das Control reagieren.

  • AutoIT// Auslesen einer Combobox --> Mittels mausklick andere Combobox Senden

    • BugFix
    • 13. April 2008 um 20:20

    Also ich versteh hierbei den Umweg über AutoIt nicht.
    Du kannst den aktuell gewählten Eintrag der Combobox auch in VB auslesen und in dein Webformular eintragen.
    Ein Konstrukt mit AutoIt ist hierbei unnötig, zumal du ja alles selbst erstellst.

    OK,
    also nemen wir an:
    - Form1 mit Titel z.B. "Local" , ComboBox mit ID 1001
    - Form2 mit Titel z.B. "Remote", ComboBox mit ID ???
    Pseudo-Code:
    - Eintrag in ComboBox Local wählen
    - per Button oder direkt Skript - lesen dieses Eintrags
    - in ComboBox Remote denselben Eintrag wählen

    Ist das soweit erstmal richtig?

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™