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

Beiträge von autoiter

  • Batch erstellen, damit das au3-Skript mit der AutoIt3.exe direkt geöffnet werden kann (gelöst)

    • autoiter
    • 6. Oktober 2019 um 16:29

    Vermaledeite Virenscanner..

    Zitat von bazii

    Ich wollte baldmöglichst wieder eine doppelklickbare Verknüpfung zum Programmstart für die Kollegen auf dem Desktop haben.

    Schreib so etwas in deine unkompilierten Skripte. Dann kannst du den Leuten eine Verknüpfung geben, die wieder völlig normal aussieht. Hier gilt natürlich auch, dass du bei einer portablen Nutzung den Pfad anpassen musst:

    Code
    Global $sScriptName = "Skriptname"
    
    If Not FileExists(@ScriptDir & "\" & $sScriptName & ".lnk") Then _
    FileCreateShortcut(@AutoItExe, $sScriptName, @ScriptDir, '"' & @ScriptFullPath & '"', "Testbeschreibung", @SystemDir & "\shell32.dll")
    
    ; Skript ...
  • Escape-Sequenzen

    • autoiter
    • 6. Oktober 2019 um 00:35

    Hallo hipfzwirgel

    Zitat von hipfzwirgel

    Allerdings ist das 2. S tatsächlich ein großes. Ist hier nur ein Tippfehler, sorry for that.

    Wegen deines Kommentars glaube ich, da bestehen Unklarheiten. Bei Funktionsnamen und Variablen wird Groß-/Kleinschreibung nicht beachtet.

    Code
    _TeST()
    Func _test()
        Local $sTEST = 1
        MsgBox(0, '"$sTEST"', $sTest)
    EndFunc
  • Batch erstellen, damit das au3-Skript mit der AutoIt3.exe direkt geöffnet werden kann (gelöst)

    • autoiter
    • 6. Oktober 2019 um 00:26

    Hallo bazii mein Freund :)
    Vielleicht verstehe ich etwas falsch. Aber warum denn noch eine Batch-Datei? Du kannst auch einfach eine Verknüpfung zur AutoIt3.exe erstellen und die Skripte darauf ziehen.

  • Ini-Struktur mit Regex abbilden

    • autoiter
    • 26. September 2019 um 19:06

    Vielen Dank Oscar ! :D
    Funktioniert super! (?:.*?=(.*?)) hatte ich probiert. Das hatte aber nicht funktioniert. Was macht "v+"?

    EDIT: Ah, ok. Das v+ verstehe ich nun. "*(?:" ist wirklich wichtig. Das heißt, der Stern sagt eigentlich - so oft es vorkommt.

  • Ini-Struktur mit Regex abbilden

    • autoiter
    • 26. September 2019 um 18:25

    Hallo Leute,

    ich bin ein absoluter Regex-Idiot und kann nur profanste Dinge. Mit dem Auslesen einer Ini bin ich aktuell überfordert.

    Vorweg: Ich bin mir der Iniread(Section)-Befehle bewusst, möchte aber die Datei lieber nur einmal lesen und dann mit dem String arbeiten.

    Ich kann die aktuelle Struktur ganz plump und erfolgreich nachbauen. Jedoch müsste ich das Pattern bei jeder Änderung in der Ini auch überarbeiten. Ich weiß, Regex kann mehr. Daher würde ich mich sehr freuen, wenn ein kenntnisreicheres Mitglied mir zeigen würde wie es geht. Wie erfasse ich nach der Sektion (\[(.*?)\]) beliebig viele Werte?

    Code
    #include <Array.au3>
    
    $sString = "[ID1]" & @CRLF & "Ab=2019/12/12" & @CRLF & "Nummer=" & @CRLF & "Text=Test" & _
    @CRLF & "An=User1" & @CRLF & "Von=User1" & @CRLF & "Erledigt am=" & @CRLF & "Erledigt von=" & @CRLF & _
    "Jeder=Nein" & @CRLF & "Zuletzt geprüft=2019/01/01" & @CRLF & "Serienregel=Nein" & @CRLF & _
    "Ablage=OrdnerX" & @CRLF & "Geöffnet von=User2" & @CRLF
    
    $aRet = StringRegExp($sString, "\[(.*?)\]\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n.*?=(.*?)\r\n", 3)
    _ArrayDisplay($aRet)
  • Hilfe-Beispiel in SciTE öffnen => abfangen und in PSPad öffnen

    • autoiter
    • 25. September 2019 um 22:13

    Jo, das kann eh nie schaden :)

  • Hilfe-Beispiel in SciTE öffnen => abfangen und in PSPad öffnen

    • autoiter
    • 25. September 2019 um 21:39

    Ups, tatsächlich habe ich nur die letzten Beiträge gelesen. ^^

    Ich bin jedoch sicher, dass schon Andy und Xenon deinen Fortschritt nicht erfasst haben. Xenon und ich haben nur nachvollzogen, was Andy dir geschrieben hat ;)

  • Snippet: Erstellen von beliebiger Anzahl gleicher GUI-Elemente in Spalten und Zeilen

    • autoiter
    • 25. September 2019 um 19:57

    Hallo BugFix

    Ich denke das ist ein sehr wertvolles Snippet für alle, die sich nicht so recht mit den Editoren anfreunden können. Ich mache bspw. alles im Code, weil ich das Gefühl habe, insgesamt länger zu brauchen, wenn ich Koda benutze und später alles für mich anpasse, was Koda als Code ausspuckt. Wenn ich das dann noch einmal ändern will...

    Da sind solche Ansätze Gold wert! Ich habe häufiger (einfache) Programme mit (dennoch vielen) Einstellungen, die über Controls wie Checkboxen oder Combos gesetzt werden. Gerade wenn man viele Checkboxen hat und sich später im Workflow etwas ändert und man mehr braucht, möchte man gerne die ganze Gruppe verschieben können, statt in jedes Control zu gehen und Änderungen vorzunehmen..

    Daher gehe ich da etwas anders vor, als du es hier im Snippet zeigst. Leider habe ich mir selbst noch keine UDF daraus gebaut, sondern mache das mal so mal so.

    Der plumpeste Weg ist

    Code
    Local $hGUI = GUICreate("")
    Local $idStart = GUICtrlCreateButton("Start", 150, 370, 85, 25)
    Local $apos = ControlGetPos($hGUI, "", $idStart)
    Local $idOK = GUICtrlCreateButton("OK", 10, 370, 85, 25)
    Local $idCancel = GUICtrlCreateButton("Cancel", $apos[0] -140, 370, 85, 25)

    Man ermittelt die Position von einem Startelement und positioniert dann alle anderen Controls in Abhängigkeit.
    Das Prinzip kann man dann noch in eine Funktion auslagern, in der man mehrere "Fixpunkte" verwaltet und alle Controls die zur Gruppe eines Fixpunktes gehören mit verschiebt.

    Den zweiten Weg benutze ich oft bei bereits vorhandenen Skripten, die ich nachträglich dynamischer machen will.
    Da wird dann etwa aus Local $idOK = GUICtrlCreateButton("OK", 10, 370, 85, 25) folgendes Local $idOK = _CtrlPos(GUICtrlCreateButton("OK", 10, 370, 85, 25), $idStart, 10, 50). $idStart ist dann der Bezugspunkt und die Funktion 10 x-Punkte zum Bezugspunkt und 50y-Punkte zum Bezugspunkt und die Rückgabe der Funktion isr die ID.

    Ich füge dann einfach die Funktion in ein bestehendes Skript ein und umschließe die Controlerstellung und kann dann Änderungen recht leicht vornehmen.

  • Hilfe-Beispiel in SciTE öffnen => abfangen und in PSPad öffnen

    • autoiter
    • 25. September 2019 um 19:14

    Professor Bernd

    Nur Worte, aber vielleicht helfen ja auch andere Worte :D
    Du sollst einfach mit Rechtsklick auf eine beliebige au3-Datei klicken. In dem Kontextmenü das sich öffnet, gehst du mit dem Cursor auf "Öffnen mit" und wählst "andere App auswählen". Dann wählst du dein Programm aus und setzt den Haken bei "Immer App zum Öffnen..".

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • autoiter
    • 25. September 2019 um 19:00

    Hallo Joschy41

    Zitat von Joschy41

    Aktuelles Problem nur, dass die Liste sich nur aktualisiert, wenn sich das Programm neu startet.

    Schau dir mal die Fehlermeldungen der relevanten Funktionen an. Wenn das nicht weiterhilft, erstelle ein verkürztes Beispiel, das nichts anderes tun soll, als die Daten per FTP zu holen und in die Liste zu übernehmen.

    Wenn du dann noch Probleme hast, kannst du uns dieses Bsp zeigen. Aber meist löst sich das Problem, bei so einer Beispiel-Erstellung :D

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • autoiter
    • 24. September 2019 um 21:29

    Autsch :D

  • "FTP_FileGet" ein 2. mal nicht möglich?

    • autoiter
    • 24. September 2019 um 20:52

    Hallo Joschy41

    Zitat von Joschy41

    Mit "GuiCtrlCreateLabel" kann ich ja keine Gui bestimmen? Somit bekomme ich den Text nur auf der aktuellen Gui erstellt.

    Weißt du ja schon selbst.
    Du kannst aber bereits zum Start Labels erstellen und die dann später aus der anderen GUI füllen. Di Controls sind ja Global verfügbar.
    Wenn es um eine zuvor unbestimmte Anzahl von Labels geht, kannst du mit Scrollbars (& evtl. Child GUIs) arbeiten.

  • Datenbank <-> Programm -> Word -- Hilfe --

    • autoiter
    • 17. September 2019 um 13:17

    Man kann das auch mit den Mitteln der UDF machen, wenn man einfach rahmenlose Textfelder über die entsprechenden Bereiche legt.

  • Zusammenarbeit mehreren Scrips auf mehreren Rechnern im Netzwerk ohne / oder mit verschlüsselter Textdatei

    • autoiter
    • 12. September 2019 um 21:53

    Google einfach mal nach "decompile AutoIt". Man braucht keinerlei Programmierkenntnisse zum Dekompilieren und hat den Job mit Suche, Download und Ausführen wohl in weniger als fünf Minuten erledigt.. Danach muss man sich im Code zurechtfinden, was du mit dem AutoIt Code Stripper etwas erschweren kannst. Das spielt aber keine Rolle, wenn jemand dein Programm gar nicht verstehen will, sondern nur nach den Datenbankzugriffen sucht. Die Strings sind klar lesbar. Wenn du also wie @Musashi schreibt Passworte speicherst oder auch denkst, ich muss das nicht serverseitig absichern, niemand sieht die Datenbankzugriffe, hast du verloren.

  • Zusammenarbeit mehreren Scrips auf mehreren Rechnern im Netzwerk ohne / oder mit verschlüsselter Textdatei

    • autoiter
    • 12. September 2019 um 21:18
    Zitat von Joschy41

    Wenn ich allerdings den Ordner mit schreibrechte versehe, kann Autoit sicher auch nicht mehr darin etwas ändern?

    Genau.
    Dann wäre eher eine MySQL Datenbank auf einem nicht eingebundenen Laufwerk eine Lösung. Die Kontrolle der Schreibzugriffe, müsstest du serverseitig machen - da AutoIt-Code nicht geheim oder sicher ist. Ich meine - diese "Scherze" verstehe ich eh nicht. Aber wenn es um hohe Sicherheit geht, dürfen die User einfach keine direkte Kontrolle haben/erlangen können.

  • Scrollbare Gui bei größerem Inhalt

    • autoiter
    • 12. September 2019 um 21:04

    /OT Joschy41 schau dir gleich noch Melbas Signatur unter seinen Beiträgen an. Da sind noch einige weitere UDFs, die dir mal helfen könnten. Alles super Zeug!

  • ChaosEquations

    • autoiter
    • 12. September 2019 um 20:58

    Hallo o2candoo,

    erst einmal Respekt für dein Skript. :thumbup: :)

    Ich kann deine Fragen leider nicht beantworten, aber wenn du Glück hat, wird UEZ auf diesen Thread aufmerksam ;)

  • Zusammenarbeit mehreren Scrips auf mehreren Rechnern im Netzwerk ohne / oder mit verschlüsselter Textdatei

    • autoiter
    • 12. September 2019 um 20:53

    Sorry, @Musashi 
    Das geht eigentlich völlig am Thema vorbei. Es geht ihm nicht darum Schreibkonflikte zu überwinden, sondern die Daten vor Manipulation abzusichern.

    Zitat von Joschy41

    Funktioniert an sich ganz gut, allerdings arbeite ich zur Zeit mit einer Textdatei in der jeder rumfuschen kann.

    Zitat von Joschy41

    Gibt es eine Möglichkeit, ohne der Textdatei zu arbeiten oder die Textdatei zu verschlüsseln, so dass nur das Script damit arbeiten kann und eine manuelle Änderung nicht möglich ist?

    Eigentlich müsste zuerst das Sicherheitsbedürfnis noch einmal genauer geklärt werden. Geht es um absichtliche Manipulation?
    Dann ist als erstes das eingebundene Netzlaufwerk mit Schreibrechten raus. Wenn dann serverseitig sichergestellt ist, dass nur Select und Insert akzeptiert wird, kann man noch bei AutoIt bleiben, ansonsten ist auch das raus.

  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2019.08.02)

    • autoiter
    • 2. September 2019 um 23:20

    Hallo @Musashi

    selbst, wenn man das klarer formuliert ist es schlecht. Wenn man in der Hilfe zu FileFindFirstFile verstehen muss, dass Local $sFileName = "" eine lokale Deklaration einer Variable ist, die hier (deutlicher als in AutoIt notwendig) mit einem leeren String initialisiert wird, ist das doch mindestens suboptimal.. Wenn man dann auch noch sieht, dass in der Folgezeile zwei unterschiedliche Variablen deklariert werden, auf die die Beschreibung nicht insgesamt passt, denke ich, man sollte das einfach weglassen..
    Das gilt genauso für die andere genannte Funktion..

    Code
    ;Weist eine lokale Variable dem leeren String zu welcher die Namen der gefundenen Dateien enthält.
        Local $sFileName = "", $iResult = 0
  • Fehler in der deutschen Hilfe bitte hier melden (Hilfedatei 3.3.14.5 2019.08.02)

    • autoiter
    • 2. September 2019 um 15:49
    Zitat von Professor Bernd

    Derzeit: ; Weist eine lokale Variable dem Handle von allen DSateien in dem aktuellen Verzeichnis zu.

    Vorschlag: ; Weist einer lokalen Variable ein Such-Handle für alle Dateien im aktuellen Verzeichnis zu.


    Derzeit: ;Weist eine lokale Variable dem leeren String zu welcher die Namen der gefundenen Dateien enthält. <== Hää? =O


    Vorschlag: ;Weist einer lokalen Variable einen leeren String zu, die die Namen der gefundenen Dateien aufnimmt.

    Ich hielte es für besser, die entsprechenden Kommentare zu entfernen, statt sie zu korrigieren. Unnötig.

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™