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. 4ern

Beiträge von 4ern

  • Anzahl der angemeldeten User

    • 4ern
    • 18. August 2014 um 09:12

    Mal was anderes. Wenn du mit Windows-Server arbeitest, dann schau dir mal Actice Directory von Water an. Hat sehr viele nützliche Funktionen.

  • Excel - Namenskonflikt Filter

    • 4ern
    • 18. August 2014 um 09:02

    wie sieht den dein Code aus??? Ich denke es liegt nicht an Excell. Aber um das ganze testen müsstest du hier mehr von deinem Code preisgeben.

  • Anzahl der angemeldeten User

    • 4ern
    • 18. August 2014 um 08:53

    hm hatte vor einiger Zeit dasselbe Problem. Die Lösung war ein kurzer Sleep Befehl in der LOOP.

    [autoit]

    While 1
    $Ret &= StdoutRead($PID)
    If @error Then ExitLoop
    sleep(100)
    WEnd

    [/autoit]
  • ich kannte früher Tools, die alle Eigenschaften und Controls eines Windows Objekts übersichtlich zeigen konnten

    • 4ern
    • 14. August 2014 um 10:56
    [autoit]

    ControlClick(title, text, controlID, [button], [clicks], [x], [y])

    [/autoit]

    Damit kannst du auf buttons mittels Class, id oder name klicken. Mit Au3Info im Tab Control ermittelst du für dich notwendige Werte.

  • _IEFormGetObjByName, $_IESTATUS_NoMatch

    • 4ern
    • 12. August 2014 um 21:06

    Was hast du den schon alles versucht?
    Ohne Code ist schwer dir zu helfen...

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 12. August 2014 um 12:20

    @ Bugfix

    ich habe das Backup nun so angepasst, dass bei einer Versionsänderungen wie folgt ein Backup erstellt wird.

    1. (Falls nicht vorhanden) wird ein Backup Ordner im Projekt Ordner erstellt. "meinProjekt/Backup/"
    2. (Falls nicht vorhanden) wird im Backup Ordner ein Unter Ordner mit der Version erstellt. "meinProjekt/Backup/Version 0.1"
    3. alle Projekt Dateien mit dieser Version landen nun im diesem Ordner "meinProjekt/Backup/Version 0.1/meinProjekt_[0.1].au3"

    Hier die geänderte "def_backup_files"

    Spoiler anzeigen
    Code
    def backup_file(self, view, version):
            # backup_path = self.window.active_view().file_name()
            settings = sublime.load_settings("AutoIt.sublime-settings")
            backup_path = settings.get('version_backup_path', None)
            if backup_path:
                path = view.file_name()
                suffix = get_current_suffix(view)
                filename = path[string_in_str(path, '\\', -1) : 
                    string_in_str(path, '.', -1) -1]
    
    
                a , b = path.split(filename)
                backup_folder = a + 'Backup'
                folder_create(backup_folder)
    
    
                save_path = backup_folder + '\\Version ' + version
    
    
                # save_path = backup_path + '\\BUVer_' + filename + '.' + suffix
    
                folder_create(save_path)    
                newfile = filename + '_[' + version + '].' + suffix
    
    
                # print(newfile)
                fh = open(save_path + '\\' + newfile, 'w+')
                content = self.view.substr(sublime.Region(0, self.view.size()))
                fh.write(content)
                fh.close()
                print('>> Backup saved <<')
    Alles anzeigen

    ich denke wie ich das gelöst habe ist nicht die feine englische Art :) Aber mit meinen aktuellen Python Kenntnissen ist das für mich ein Milenstein :D

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 8. August 2014 um 19:40

    Naja bei Projekterstellung gehe ich immer wie folgt vor:

    Ich erstelle ein Projekt Ordner. In sublime gehe ich dann ADD Folder to Project und speichere die Projekt Dateien im Ordner.

    Mir würde es auch reichen, wenn man ein festen Backup Ordner erstellt und dort Dan ein unter Ordner mit dem projektnamen erstellt wird. Bei jedem Versions Sprung der Projekt Datei soll, wie auch schon bei deiner Backup Lösung eine Datei mit dem Versionsnamen abgelegt werden.

  • Kombi aus Au3Recorder + AU3Info ???

    • 4ern
    • 8. August 2014 um 09:26

    Wenn du ordentliche Automatisierungen willst, dann tue dir ein Gefallen und löschen den Au3Recorder. Denn was dieser produziert ist nur Müll.

    Wenn du keine Ahnung von AutoIt hast und desen Möglichkeiten. Dan empfehle ich dir dieses Buchdurchzulesen.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 7. August 2014 um 14:39

    Hallo Bugfix,
    gibt es bereits eine Lösung mit den Projekt BackUP?

  • Suche Elegante Lösung zur Vermeidung Globaler Variablen.

    • 4ern
    • 7. August 2014 um 13:19

    Perfekt das ist die Lösung, nach der ich gesucht habe.

    Meine Lösung:

    Spoiler anzeigen
    [autoit]


    _get_ini($pf_ini)
    $salUdf = _getSet_Salcus_Vars

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

    MsgBox(0, 0, $salUdf('Information_Anrede'))
    MsgBox(0, 0, $salUdf('Information_Vorname'))

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Liest die INI's in ein Array und erstellt Globale Variablen
    ; Parameter: = ini Pfad (wird gemäß der Hash Version ermittelt)
    ; @return: = Globale Variablen
    ; @error: = (-)
    ;----------------------------------------------------------------------------------------------/
    func _get_ini($pf_INI)

    ;----------------------------------------------------------------------------------------------/
    ; Array
    ; 1 - Deminsonal
    ; [Dateiname]
    ;----------------------------------------------------------------------------------------------/
    Local Static $a_IniFiles[] = _
    [ _
    '\individual.ini', _
    '\ticket.ini', _
    '\Suchmasken.ini' _
    ]

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

    ;----------------------------------------------------------------------------------------------/
    ; Lese INI Instance in Variablen ein.
    ; - Sectionname = Globale $variable
    ; - Sectionkey = String (Instance)
    ;----------------------------------------------------------------------------------------------/
    for $i = 0 to Ubound($a_IniFiles) -1
    $a_INI = IniReadSection($pf_INI & $a_IniFiles[$i], 'Instance')

    for $ii = 1 to Ubound($a_INI) -1
    _getSet_Salcus_Vars($a_INI[$ii][0],$a_INI[$ii][1],'set')
    next
    next
    endfunc ;<==/get_ini

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

    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Funktions Beschreibung
    ; Parameter: = $_strVarName = Name der Sektion
    ; = $_value = Wert der Sektion = Default = ''
    ; = $_action = Aktion die durchgeführt werden soll = Default = 'get'
    ; @return: = key Wert
    ; @error: = ()
    ;----------------------------------------------------------------------------------------------/
    func _getSet_Salcus_Vars($_strVarName, $_value='', $_action='get')

    Local Static $oDict = ObjCreate('Scripting.Dictionary')

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

    Switch $_action
    Case 'get'
    If $oDict.Exists($_strVarName) Then
    Return $oDict.Item($_strVarName)
    Else
    Return SetError(1,0,'')
    EndIf
    Case 'set'
    If Not $oDict.Exists($_strVarName) Then
    $oDict.Add($_strVarName, $_value)
    Else
    $oDict.Item($_strVarName) = $_value
    EndIf
    EndSwitch
    endfunc ;<==/getSet_Salcus_Vars

    [/autoit]

    Vielen Vielen Dank :rock:

  • Suche Elegante Lösung zur Vermeidung Globaler Variablen.

    • 4ern
    • 7. August 2014 um 11:50

    Ok die Scripting.Dictionary ist neu für mich. Hast du evtl. ein kleines bsp.?

  • Suche Elegante Lösung zur Vermeidung Globaler Variablen.

    • 4ern
    • 7. August 2014 um 11:36

    Hallo zusammen,

    ich suche nach einer Lösung um auf Globale Variablen zu verzichten. Folgender Hintergrund:

    In unsere Firma entwickeln wir viele Automatisierung die zum größten Teil auf eine Externe Anwendung zugreifen und bestimmte Aufgaben erledigen. Nun haben wir das Problem, dass alle 1-3 Monate die externe Anwendung aktualisiert wird und somit sich einige Control Instanzen, ID's, Namen usw ändern. Dadurch haben wir einen enormen Aufwand die, für das Programm erstellte UDF, mit den richtigen Daten zuspeisen, jedes einzelne Script neu Kompilieren und an alle Nutzer verteilen.

    Aus diesem Grund habe ich nun unsere UDF so angepasst, dass alle Daten aus mehreren INI Dateien gezogen werden und wir lediglich die Daten in den INI Dateien anpassen müssen. Dadurch ersparen wir uns das neu kompilieren und verteilen der Scripte.

    Nun zum eigentlichen Problem.

    Die INI ist wie folge aufgebaut:

    Spoiler anzeigen
    Code
    [Instance]
    saUDF_Information_Anrede                      = [CLASS:Edit;INSTANCE:8]
    saUDF_Information_Name                        = [CLASS:Edit;INSTANCE:9]
    saUDF_Information_Vorname                     = [CLASS:Edit;INSTANCE:10]
    saUDF_Information_Kundensubtyp                = [CLASS:Edit;INSTANCE:11]
    saUDF_Information_Firma                       = [CLASS:Edit;INSTANCE:13]
    saUDF_Information_Geburtstdatum               = [CLASS:Edit;INSTANCE:15]
    saUDF_Information_PLZ                         = [CLASS:Edit;INSTANCE:16]
    saUDF_Information_Stadt                       = [CLASS:Edit;INSTANCE:17]
    saUDF_Information_Strasse                     = [CLASS:Edit;INSTANCE:18]
    saUDF_Information_HausNr                      = [CLASS:Edit;INSTANCE:19]
    saUDF_Information_Adresszusatz                = [CLASS:Edit;INSTANCE:20]
    und weiter ca. 100 Daten
    Alles anzeigen

    Mit dem folgenden Code erstelle ich nun die Globalen Variablen:

    Spoiler anzeigen
    [autoit]


    ;----------------------------------------------------------------------------------------------/
    ; Beschreibung: = Liest die INI's in ein Array und erstellt Globale Variablen
    ; Parameter: = ini Pfad (wird gemäß der Hash Version ermittelt)
    ; @return: = Globale Variablen
    ; @error: = (-)
    ;----------------------------------------------------------------------------------------------/
    func _get_ini($pf_INI)

    ;----------------------------------------------------------------------------------------------/
    ; Array
    ; 1 - Deminsonal
    ; [Dateiname]
    ;----------------------------------------------------------------------------------------------/
    Local Static $a_IniFiles[] = _
    [ _
    '\individual.ini', _
    '\ticket.ini', _
    '\Suchmasken.ini' _
    ]

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

    ;----------------------------------------------------------------------------------------------/
    ; Lese INI Instance in Variablen ein.
    ; - Sectionname = Globale $variable
    ; - Sectionkey = String (Instance)
    ;----------------------------------------------------------------------------------------------/
    for $i = 0 to Ubound($a_IniFiles) -1
    $a_INI = IniReadSection($pf_INI & $a_IniFiles[$i], 'Instance')

    for $ii = 1 to Ubound($a_INI) -1
    Assign($a_INI[$ii][0], $a_INI[$ii][1], 2)
    next
    next
    endfunc ;<==/get_ini

    [/autoit]

    Warum ich bei Assign die Variablen Global setze hat den Grund, dass man überall im Script auf diese Variablen zurückgreift. Ich könnte natürlich die Instanzen in einem Array lassen und dieses jeder Funktion mit geben und über Array Index die Instanzen setzen, jedoch unterstützt AutoIt kein Assoziative Arrays sodass man beim Lesen des Scripts absolut den Überblick verliert und ein kleines Buch mit den Inhalt der Array neben sich liegen haben muss :)

    Ich hoffe einer von euch kann mir ein Denkanstoß verpassen :thumbup:

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 5. August 2014 um 17:32

    Ich nutze das Projektmanagement von ST. Finde es super schlank und vollkommen ausreichend.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 5. August 2014 um 13:09

    Hallo Bugfix,

    ich arbeite mit AutoIt nach einer MVC Methode, daher hat ein Projekt mehrer .au3 Dateien. Wie könnte ich deine Backup Lösung so umschreiben, dass die Backups im Projekt Order landen? Ansonsten müsste ich bei jedem Script den Pfad ändern?

    Vielen Dank für deine Hilfe.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 4. August 2014 um 13:01

    @ Bugfix, Richtig schönes Plugin!!! absolut genial.

    Ich habe mir gedacht, dass AutoIt ein eigenen Menü Punkt bekommen sollte, um alle Sachen unterzubringen. Zudem habe ich in BugFix Au3plugins.py 2 Aufrufe integriert. CodeWizard & Koda.

    Einfach die angehängte ZIP Datei in "Data\Packages\AutoItScript" entpacken und ersetzen.

    Die Einstellungen schauen dan So aus. PS die Pfade sollten natürlich angepasst werden.

    Code
    {
    "autoit_exe_path":       "C:/AutoIt3/AutoIt3.exe",
    "autoit_compiler_path":  "C:/AutoIt3/Aut2Exe/Aut2exe.exe",
    "tidy_exe_path":         "C:/AutoIt3/SciTE/Tidy/Tidy.exe",
    "version_backup_path":   "C:/Code/Projekte/AutoIt/Backup",
    "code_wizzard_exe_path": "C:/AutoIt3/SciTE/CodeWizard/CodeWizard.exe",
    "gui_builder_exe_path":  "C:/AutoIt3/SciTE/Koda/FD.exe",
    "extensions":            ["au3"],
    }

    Dateien

    AutoItScript.zip 3,22 kB – 466 Downloads
  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 1. August 2014 um 22:43

    hm irgendwie versteh ich nicht wie man das nun nutzen soll? Einfach in eine au3 ganz oben

    [autoit]

    -v

    [/autoit]

    eingeben?

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 1. August 2014 um 11:28

    Vielen Dank für den Hinweis :)

    Ich werde in einem weiteren Artikel erklären, wie man in Sublime eine neue Syntax anlegt. Hast du evtl. eine Bibliothek mit allen Scopes? Irgendwie finde ich in der Doku nichts dazu?

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 1. August 2014 um 08:52

    a jetzt versteh ich. Du wolltest einen neuen Compiler auf python basis bauen.... Das ist natürlich sehr interessant.

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 31. Juli 2014 um 22:26

    @ Bugfix auf der AutoItScritp GitHub Seite ist ein Includehelper integriert. An diesem könnte man sich doch die Kommunikation mit Sublime abschauen und den Wrapper basteln. Leider versteh ich nicht ganz wie ich den Wrapper die Informationen zuschicke...

    Zudem, darf ich dein Sublime Theme auf meinen Blog mit anbieten? Selbstverständlich unter deinem Namen?

  • AutoIt mit Sublime Text 2/3 -- Sprachdef. f. Stable v3.3.12.0, Wrapper, Au3Check, Run m. Parameter

    • 4ern
    • 31. Juli 2014 um 17:04

    Da der Server Crash auch meine Sublime Anleitung gefressen hat. Habe ich mir die Mühe gemacht und eine Schritt für Schritt Anleitung erstellt.

    Hier

    evtl. kann ich den ein oder anderen für Sublime gewinnen :thumbup:

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™