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. matthias.s

Beiträge von matthias.s

  • Parameter- / Variableübergabe an komiliertes AutoIt-Script

    • matthias.s
    • 21. Juni 2013 um 10:15

    Der Hinweis war schonmal gut... Danke.

    Aber hab ich das in der Hilfe falsch verstanden?

    Denn das bringt nix:

    [autoit]

    #include <Array.au3>

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

    If $CmdLine[0] = "" Then
    MsgBox(0, "Hinweis:", "Keine Parameter bekommen")

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

    Else

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

    $parameter = $CmdLine[0]
    $parameter1 = $CmdLine[1]
    $parameter2 = $CmdLine[2]

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

    MsgBox(0, "Hinweis:", "Du hast folgende " & $parameter & " Werte übergeben: " & @CRLF & $parameter1 & @CRLF & $parameter2)

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

    EndIf

    [/autoit]
  • Parameter- / Variableübergabe an komiliertes AutoIt-Script

    • matthias.s
    • 21. Juni 2013 um 09:12

    Hallo zusammen...

    Ich habe keine Ahnung ob es überhaupt möglich ist, noch nach was ich suchen soll um meine Frage selber zu beantworten. Ich hoffe ihr könnt helfen.

    Ist es möglich, an eine kompilierte AutoIt-EXE, Parameter beim Aufruf zu übergeben um damit z.B. Variable zu befüllen die im Programm dann weiter verarbeitet werden?

    Ich stelle mir das in etwa so vor:

    [autoit]


    $parameter1 = "Das ist Parameter1 - Standart" ;Standart-Text, wenn Aufruf ohne Parameter erfolgt.
    $parameter2 = "Das ist Parameter2 - Standart" ;Standart-Text, wenn Aufruf ohne Parameter erfolgt.

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

    MsgBox(0, "Hinweis:", "Du hast folgende Werte übergeben: " & @CRLF & $parameter1 & @CRLF & $parameter2)

    [/autoit]

    Und nun rufe ich die komilierte EXE z.B. mit einer Batch-Datei auf:

    Code
    script.exe parameter1=Test1 parameter2=Test2


    oder

    Code
    script.exe /parameter1=Test1 /parameter2=Test2


    Wie auch immer der Aufruf nachher erfolgen kann/soll/muss... Geht das überhaupt?

    Für Tips, Vorschläge und Hilfen wäre ich sehr dankbar... :)

    Gruß,
    Matthias

  • Ärger mit StringRegExpReplace - oder andere/bessere Idee?

    • matthias.s
    • 11. April 2013 um 15:28

    Sehr cool...

    Danke...

  • Ärger mit StringRegExpReplace - oder andere/bessere Idee?

    • matthias.s
    • 11. April 2013 um 15:06

    Alcros, you made my day!

    PERFEKT!!! TAUSEND DANK!!!

    Gruß,
    Matthias

  • Ärger mit StringRegExpReplace - oder andere/bessere Idee?

    • matthias.s
    • 11. April 2013 um 14:48

    Hallo Inferior

    Danke erstmal für die schnelle Antwort. Leider löst sie mein Problem nicht ganz.

    Das Problem ist, dass der Link nicht alleine im Text/String steht.
    Davor und danach habe ich u.U. weiteren Text der ebenfalls die Zeichen " oder ' oder was auch immer enthalten kann.

    Deine Lösung ist gut, hat aber zur Folge, dass die anderen " in meinem Text ebenfalls gelöscht werden. Die müssen aber bleiben. Daher auch mit StringRegExpReplace (als eine Art Mustervergleich). Sonst hätte ich das mit StringReplace gemacht. Siehe hier:

    [autoit]

    $string = 'rtzrtz trzrtz "sedrtae rtwertert" HYPERLINK "https://www.noch-eine-domain.com/xyz/bla.html"weitere Informationen. werwerwerganz'

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

    $output = StringRegExpReplace(StringRegExpReplace($string, 'HYPERLINK "', ""), '"', " ")

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

    MsgBox(0, "Ergebnis:", $output)

    [/autoit]

    Ich hasse Regular Expressions :wacko:

    Gruß,
    Matt

  • Ärger mit StringRegExpReplace - oder andere/bessere Idee?

    • matthias.s
    • 11. April 2013 um 12:07

    Hallo zusammen.

    ich habe so meine Probleme mit RegEx's und hoffe, ihr könnt hier helfen.

    Ich möchte einen Text analysieren und ggf. Ersetztungen durchführen.
    Diesen Text bekomme ich als String. Darin ist möglicherweise irgendwo folgender Text enthalten:

    Code
    HYPERLINK "https://www.noch-eine-domain.com/xyz/bla.html"weitere Informationen.
    oder
    HYPERLINK "https://www.noch-eine-domain.com/xyz/"hier mehr

    Davon soll aber nur

    Code
    https://www.noch-eine-domain.com/xyz/bla.html weitere Informationen.
    bzw.
    https://www.noch-eine-domain.com/xyz/ hier mehr

    erhalten bleiben. Spricht, das HYPERLINK " am Anfang und das " nach der URL muss/soll raus.

    Ich würde das ganze nun mit StringRegExpReplace machen wollen aber ich bekomme das einfach nicht hin.
    Noch was... Es ist durchaus möglich, dass vor dem HYPERLINK " und nach der URL weiterer Text im selben String kommt.
    Dieser soll erhalten bleiben. Genau so wie weitere " in dem Text.
    Daher fällt StringTrimRight und StringTrimLeft sowie StringReplace ja irgendwie aus, oder?

    Könnt ihr helfen? Oder hat jemand eine bessere Idee? Ich verzweifel irgendwie... ?(

    Vielen Dank im Voraus. Gruß,
    Matthias

  • Dynamisches ListView-Item

    • matthias.s
    • 11. Februar 2013 um 09:51

    Perfekt... Vielen Dank! Genau so solls sein... :rock:

  • Dynamisches ListView-Item

    • matthias.s
    • 11. Februar 2013 um 09:31

    Sooo... Hier gehts.

    [autoit]

    ;Include die benötigte UDF's
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <File.au3>
    #include <Array.au3>
    #include <ListviewConstants.au3>

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

    ;Umwandeln der Datei in ein Array
    Dim $array
    _FileReadToArray("kategorie.dat", $array)

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

    ;Array anzeigen
    _ArrayDisplay($array, "Der Array")

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

    GUICreate("Kategorie", 220, 300, 200, 250)

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

    $listview = GUICtrlCreateListView("Kategorie 1", 10, 10, 200, 200, $LVS_SORTASCENDING, $LVS_EX_CHECKBOXES)
    $button = GUICtrlCreateButton("Auswählen", 75, 250, 70, 20)

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

    For $item = 1 To $array[0]
    $content = GUICtrlCreateListViewItem($array[$item], $listview)

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

    Next

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

    GUISetState()

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

    Do
    $msg = GUIGetMsg()

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

    Select
    Case $msg = $button

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

    $uebergabe = GUICtrlRead($listview)
    $uebergabe2 = GUICtrlGetState($listview)

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

    MsgBox(0, "listview item", $uebergabe, 2)
    MsgBox(0, "listview item", $uebergabe2, 2)
    EndSelect

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

    Until $msg = $GUI_EVENT_CLOSE
    Exit

    [/autoit]
  • Dynamisches ListView-Item

    • matthias.s
    • 11. Februar 2013 um 09:24

    Hallo Leute.

    Ich habe da ein Problem mit dem Erstellen bzw. der Rückgabe von selektierten ListView-Items.

    Ich habe für ein Script eine Steuerdatei (kategorie.dat) die den Inhalt der ListView-Items beinhaltet.
    Diese kann heute 3 Einträge enthalten, und morgen 30, 300 oder was auch immer.
    Also wollte ich die (Checkboxen) dynamisch aus einem Array, in das ich die Datei "kategorie.dat" lade, aufbauen.

    Die Rückgabe sollte (kommegetrennt) alle selektierten Einträge enthalten.
    Also z.B. Kategorieeintrag 5,Kategorieeintrag 3,Kategorieeintrag 6,Kategorieeintrag 2

    Ich bekomme das einfach nicht hin.
    Wo liegt denn hier der Fehler?

    Anbei mal der Code & die kategorie.dat

    [EDIT] Sorry, würde den Code gerne hier einhängen, aber er macht komischerweise immer "Grütze" daraus...


    Dateien

    kategorie.au3 961 Byte – 208 Downloads kategorie.dat.zip 190 Byte – 235 Downloads
  • Versionsnummer aus AutoIt3Wrapper-Infos nutzen?

    • matthias.s
    • 8. Februar 2013 um 14:11

    Sehr geil... Danke! :rock:

  • Versionsnummer aus AutoIt3Wrapper-Infos nutzen?

    • matthias.s
    • 8. Februar 2013 um 13:35

    Hallo zusammen.

    Ist es eigentlich möglich, die AutoIt3Wrapper-Info bezüglich der Versionsnummer in eine Variable zu übernehmen?


    So funktioniert es schonmal nicht:

    [autoit]

    #region ; Directives created by AutoIt3Wrapper_GUI#AutoIt3Wrapper_Res_Fileversion=1.0.0.0#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y#AutoIt3Wrapper_Run_Tidy=y#endregion ; Directives created by AutoIt3Wrapper_GUI
    $ver = #AutoIt3Wrapper_Res_Fileversion = 1.0.0.0
    MsgBox(0, "", $ver)

    [/autoit]


    Hat jemand noch eine andere Idee, die Versionsnummer (abgesehen von händische Pflege wie etwa $ver = "1.0.0.0) des Script's zu erhalten?

    Gruß,
    Matt

  • Array mischen

    • matthias.s
    • 5. Februar 2013 um 13:44

    PERKEKT :thumbup:

    Tausend Dank

    (das: "Du musst dir noch die Anzahl einfügen." hatte ich überlesen, Sorry  :whistling:

  • Array mischen

    • matthias.s
    • 5. Februar 2013 um 12:21

    Der Lösungsansatz ist schon super.

    Allerdings ist in meinem Array in Zeile 0 die Größe des Arrays gespeichert.
    Die sollte natürlich nicht mit "gemischt" werden sondern in Zeile 0 bleiben.

    Noch ne Idee, wie ich die überspringen kann?

    Gruß,
    Matthias

  • Array mischen

    • matthias.s
    • 5. Februar 2013 um 12:06

    Danke... Teste ich gleich mal...

  • Array mischen

    • matthias.s
    • 5. Februar 2013 um 11:40

    Hallo zusammen

    Ich hoffe ihr könnt helfen.
    Ich versuche irgendwie einen Array zu "mischen" um eine zufällige Reihenfolge der werte zu bekommen.
    Der Array ist bereits befüllt und sieht mit _ArrayDisplay so aus:

    [0] 5
    [1] Wert1
    [2] Wert2
    [3] Wert3
    [4] Wert4

    Rauskommen soll hinterher sowas:

    [0] 5
    [1] Wert4
    [2] Wert1
    [3] Wert2
    [4] Wert3

    Hab keine Ahnung, wie ich das hinbekommen soll.  :cursing:
    Hat jemand eine Idee?

    Gruß,
    Matthias

  • CheckBoxen mit Abhänigkeiten

    • matthias.s
    • 2. August 2011 um 23:44

    Ich hab's...

    So klappt es:

    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('MustDeclareVars', 1)
    GuiTest()
    Func GuiTest()
    Local $CheckBox_01, $CheckBox_02, $CheckBox_03, $CheckBox_04, $msg
    GUICreate("Checkbox-Test")
    $CheckBox_01 = GUICtrlCreateCheckbox("Das ist Checkbox 1", 10, 10, 120, 20)
    $CheckBox_02 = GUICtrlCreateCheckbox("Das ist Checkbox 2", 10, 30, 120, 20)
    $CheckBox_03 = GUICtrlCreateCheckbox("Das ist Checkbox 3", 10, 50, 120, 20)
    $CheckBox_04 = GUICtrlCreateCheckbox("Das ist Checkbox 4", 10, 70, 120, 20)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    ExitLoop
    Case $msg = $CheckBox_03 And BitAND(GUICtrlRead($CheckBox_03), $GUI_CHECKED) = $GUI_CHECKED
    GUICtrlSetState($CheckBox_04, $GUI_UNCHECKED)
    Case $msg = $CheckBox_04 And BitAND(GUICtrlRead($CheckBox_04), $GUI_CHECKED) = $GUI_CHECKED
    GUICtrlSetState($CheckBox_03, $GUI_UNCHECKED)
    EndSelect
    WEnd
    EndFunc ;==>GuiTest

    [/autoit]
  • CheckBoxen mit Abhänigkeiten

    • matthias.s
    • 2. August 2011 um 23:20
    Zitat von autoBert

    Nimm für 3 + 4 statt Checkboxen Radios, da kann nur eine innerhalb einer Gruppe aktiv sein,


    Hallo autoBert

    Darüber hatte ich auch schon nachgedacht. Das gefällt mir dann aber nicht so :) Aber davon abgesehen, kann ich eine einmal aktivierte Radio-Gruppe nicht mehr deaktivieren, oder?

  • CheckBoxen mit Abhänigkeiten

    • matthias.s
    • 2. August 2011 um 22:53

    Hallo zusammen.

    Ich schon wieder. Diesesmal versuche ich mich an GUI-Themen. In meinem angehängten Beispiel-Script sollen die Checkboxen 3 und 4 Abhänigkeiten von einander aufweisen. Sprich nur eine von beiden darf aktiviert sein. Klickt man eine von beiden soll die andere deaktiviert, wenn sie schon aktiviert ist.

    Das funktioniert aber nicht so, wie ich es mir vorstelle... Momentan deaktiviert Checkbox 4 die 3 aber nicht umgekehrt.

    Was mache ich nicht richtig?

    [autoit]


    #include <GUIConstantsEx.au3>
    Opt('MustDeclareVars', 1)
    GuiTest()
    Func GuiTest()
    Local $CheckBox_01, $CheckBox_02, $CheckBox_03, $CheckBox_04, $msg
    GUICreate("Checkbox-Test")
    $CheckBox_01 = GUICtrlCreateCheckbox("Das ist Checkbox 1", 10, 10, 120, 20)
    $CheckBox_02 = GUICtrlCreateCheckbox("Das ist Checkbox 2", 10, 30, 120, 20)
    $CheckBox_03 = GUICtrlCreateCheckbox("Das ist Checkbox 3", 10, 50, 120, 20)
    $CheckBox_04 = GUICtrlCreateCheckbox("Das ist Checkbox 4", 10, 70, 120, 20)
    GUISetState()
    While 1
    $msg = GUIGetMsg()
    ; (...)
    If GUICtrlRead($CheckBox_03) == $GUI_CHECKED Then
    GUICtrlSetState($CheckBox_04, $GUI_UNCHECKED)
    EndIf
    If GUICtrlRead($CheckBox_04) == $GUI_CHECKED Then
    GUICtrlSetState($CheckBox_03, $GUI_UNCHECKED)
    EndIf
    ; (...)
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    EndFunc ;==>GuiTest

    [/autoit]
  • WinWaitActive() oderverknüpft?

    • matthias.s
    • 2. August 2011 um 11:27
    Zitat von Oscar

    Die Wait-Funktionen warten auf das Ereignis, das geht so nicht.
    Benutze stattdessen WinActive oderverknüpft in einer Schleife (Do...Until).

    Wow... Eine Schleife... Genau so klappt's... Danke, Oscar :rock:

    Gruß,
    Matthias

  • WinWaitActive() oderverknüpft?

    • matthias.s
    • 1. August 2011 um 12:14

    Hallo zusammen

    Mal wieder werde ich vor ein Problem gestell, dass ich als Newbie nicht richtig hinbekomme.

    In meinem Script möchte ich gerne eine Datei speichern. Das klappt soweit auch. Ich spreche das "Speichern unter"-Fenster in das ich dann den Dateinamen eingebe direkt an

    [autoit]

    ControlSetText("Speichern unter", "", "Edit1", $outputfilewriteto)

    [/autoit]

    Jetzt kommt es aber vor, das auf einem anderen PC das gleiche Fenster nicht mehr "Speichern unter" sondern "Save As" heißt (doofe Multi UI-Umgebung hier). Da ich auf jeden Fall warten muss, bis das Fenstet überhaupt da ist, verwende ich WinWaitActive("Speichern unter", "")

    Das funktioniert natürlich nicht, wenn das Fensten nun aufeinmal "Save As" heißt. Kann ich das irgendwie ODER-Verküpfen? in der Hilfe und auch in den Beispielen hab ich nichts dazu gefunden... auch OR ist nicht wirklich dokumentiert. Ich hab keine Idee, wie ich weiterkomme.

    So klappt es auf jeden Fall nicht:

    [autoit]

    WinWaitActive("Speichern unter", "") Or WinWaitActive("Save As", "")
    ;bzw
    WinWaitActive(("Speichern unter", "") Or ("Save As", ""))

    [/autoit]

    Kann jemand helfen?

    Danke & Gruß,
    Matthias

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™