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

Beiträge von alpines

  • MySQL Datenbank CHARACTER SET über CMD

    • alpines
    • 16. September 2019 um 20:41

    Übrigens gibt es für AutoIt eine MySQL-UDF, so musst du keine Aufrufe über die Shell machen sondern kannst dich direkt auf den DBS verbinden und deine Queries absenden.

    Und ich verstehe dein Shellaufruf nicht ganz. Das Chr(34) sind ja Gänsefüßchen.

    Dein Aufruf wäre also folgender:

    'cmd.exe /c mysqladmin -u root ""ALTER DATABASE ' & $neuerprojektname & ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;'

    Müsste es aber nicht:

    'cmd.exe /c mysqladmin -u root "ALTER DATABASE ' & $neuerprojektname & ' CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"'

    sein?

  • MySQL Datenbank CHARACTER SET über CMD

    • alpines
    • 16. September 2019 um 20:29

    Was ist denn dein Projektname? Wenn da Leerzeichen enthalten sind kann es vielleicht dort zu Problemen kommen.

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

    • alpines
    • 16. September 2019 um 14:04
    Zitat von *bad boy*

    Die größere bzw wichtiger Frage ist, wie kann ich die Daten an Word übergeben?

    Hast du dir mal die Word-UDF angesehen welche bereits mit der AutoIt-Installation daher kommt? Vielleicht kannst du damit ja den Wort-Teil erledigen.

  • Array auslesen

    • alpines
    • 13. September 2019 um 15:45

    Doch das funktioniert, nur hast du tausend andere Syntaxfehler und greifst immer noch auf den falschen Index zu.

    Du versuchst den String im ArrayDisplay anzuzeigen weil es der falsche Index ist.

    Hier mal mit allen Fehlern gefixt. Der SyntaxChecker ist übrigens nicht zum Spaß da, lies dir mal die Fehlermeldungen durch wenn du nicht verstehst warum es nicht klappt ;)

    Code
    #include <Array.au3>
    Func Test()
       Local $_array[5][2]
       For $i = 0 To 4
          Local $_subarray = otherFunction() ; gibt ein Array mit 4 Elementen zurück
          $_array[$i][0] = $_subarray
          $_array[$i][1] = 'Lorem'
       Next
       return $_array
    EndFunc
    Func otherFunction()
    
        Local $_test = [ _
            "eins", _
            "zwei", _
            "drei", _
            "vier" _
        ]
    
        return $_test
    EndFunc
    Local $_checkArray = Test()
    ; funktioniert
    _ArrayDisplay($_checkArray) ; <= klappt wunderbar und sieht gut aus
    ; funktioniert nicht
    _ArrayDisplay($_checkArray[0][0]) ; <= bleibt komplett leer
    Alles anzeigen
  • Array auslesen

    • alpines
    • 13. September 2019 um 15:28
    Zitat von mainline

    For $i = 1 To 5

    Arrays werden in AutoIt von 0 indexiert. Du greifst aber auf Index 1 zu. Der 5. Index wäre somit out of Bounds.

    Du musst also von 0 bis 4 laufen. Und wenn du dir die Zahlen nicht merken willst, UBound() gibt dir die Anzahl der Elemente zurück.

  • Array auslesen

    • alpines
    • 13. September 2019 um 15:04

    Du kannst in AutoIt auch keine Arrayfelder beschreiben, nur einzelne Indizes. Bei einem zweidimensionalen Array musst du dafür durch die zweite Dimension mit einer For-Schleife durchlaufen, oder du weist beide Indizes einfach untereinander zu, weil es ja nur zwei Werte sind.

    Code
    $_array[$i][0] = $_subarray
    $_array[$i][1] = 'Lorem'
  • Array auslesen

    • alpines
    • 13. September 2019 um 14:08

    Du speicherst ein Array in einem Array, deshalb musst du das explizit referenzieren ansonsten greifst du auf ein drei-dimensionales (oder höher) Array zu statt dem 2D-Array.

    Code
    #include <Array.au3>
    
    Local $aUnterarray[5] = [ 1, 2, 3, 4, 5 ]
    Local $aArray[1][2] = [[ $aUnterarray, "Blubb" ]]
    
    _ArrayDisplay($aArray)
    
    Local $aTmp = $aArray[0][0]
    _ArrayDisplay($aTmp)
  • Scrollbare Gui bei größerem Inhalt

    • alpines
    • 9. September 2019 um 11:23

    Das ist bereits Bestandteil der UDFs die standardmäßig in AutoIt mitgeliefert werden, ein Blick in die Hilfe gibt dir sogar ein Beispiel: https://www.autoitscript.com/autoit3/docs/l…llBars_Init.htm

  • RegEx gesucht

    • alpines
    • 8. September 2019 um 20:16

    Was BugFix gesagt hat stimmt nicht:

    Zitat von BugFix

    Das Pattern muß hinten beginnen zu suchen. Dazu fügst du am Ende des Pattern ein $ an.

    Die RegEx-Engine wird nachwievor den Text von vorne parsen, das $-Zeichen ist lediglich die Markierung für EOL/EOS.

    Du musst nach dem Punkt alles außer einen Punkt matchen, dann klappt das auch:

    Code
    MsgBox(0,0,StringRegExpReplace("Install_Paint.NET.au3", "\.[^.]*$", ""))
  • Variable used without being declared

    • alpines
    • 5. September 2019 um 20:02
    Zitat von TL1983

    Es lag an einem Eintrag in der Datenbank, dieser war zu hoch und dadurch lief das Script nicht in eine If Abfrage und die Variable wurde nicht deklariert.

    Das ist extrem schlechter Codestil den du dir auf jeden Fall abgewöhnen solltest.

    Man greift ausnahmslos niemals auf eine Variable zu wenn sie nicht vorher deklariert wurde, ansonsten hast du am Ende Spaghetticode der bestimmte Skriptabschnitte in bestimmten Reihenfolgen durchlaufen muss,

    damit dein Code korrekt funktioniert.

    Wenn $Button_Start ein GUI-Button ist, solltest du die GUI vorher einmal erzeugen und nach Belieben verstecken/wieder anzeigen. Eine GUI komplett neu zu erzeugen macht nur in wenigen Fällen Sinn.

    Dann hättest du das Problem nicht, und es würde im Skript trotzdem (auch wenn du es deklariert hast) nichts falsch oder anders laufen.

  • Variable used without being declared

    • alpines
    • 5. September 2019 um 19:32

    Wie wäre es wenn du uns den ganzen Code postest statt einem kleinen Ausschnitt der noch nicht mal die Fehlerquelle beinhaltet?

    In dem Abschnitt sehe ich nirgends $Button_Start deklariert, und wenn beim Strippen eine andere Zeile als Fehlermeldung angibt solltest du doch erst recht den gesamten Code posten, weil der Fehler scheinbar eben nicht dort ist wo er zu sein scheint, oder?

    Zumindest ein kleines Skript welches die selben Fehler schmeißt (wenn deins zu groß oder sensible Daten beinhaltet) sollte doch mindestens drin sein.

  • Textblöcke sortieren - oder - mehrere Befehle in eine Zeile schreiben

    • alpines
    • 5. September 2019 um 17:49
    Zitat von Banana_2_Day

    Gibt es ansonsten noch einen wesentlichen Unterschied?

    Select ist ähnlich zu einem If, nur dass du dort auch die To Anweisung verwenden kannst wie beim Switch. Aber im Grunde stimmt das schon was du gesagt hast.

  • Textblöcke sortieren - oder - mehrere Befehle in eine Zeile schreiben

    • alpines
    • 5. September 2019 um 16:26

    Wenn du nur auf $iValue prüfst kannst du auch ein Switch-Statement nehmen, das ist kürzer und sieht besser aus.

    AutoIt hat keine Möglichkeit mehrere Befehle nacheinander innerhalb einer Zeile auszuführen sofern sie nichts returnen.

  • Anfänger braucht Hilfe

    • alpines
    • 3. September 2019 um 21:13

    Technisch gesehen starten die Programme alle nacheinander, denn du führst ja nicht fünf Threads parallel aus die dann jeweils das Programm starten (auch wenn das je nach Windows-Scheduler auch sequentiell wäre aber ich schweife ab...)

    Jedes dieser Programme erzeugt vermutlich ein Fenster mit einem eindeutig identifizierbaren Titel, warte einfach bis das da ist und starte dann das nächste.

  • _IELinkClickByText until "Link-Text" not found

    • alpines
    • 3. September 2019 um 14:15
    Zitat von Smomo

    wie ist das genau gemeint?

    Genau so wie ich es gesagt habe.

    Zitat von alpines

    zeigst uns den ganzen Code [der für die Seite zuständig ist]

    Zitat von alpines

    die Webseite auf der dieser arbeiten soll

    Zitat von alpines

    was sowie warum das Skript anstellen soll

    Welche Arbeit soll dir das Skript am Ende abnehmen bzw. welchen Vorteil hast du davon? Erzähl uns das doch, vielleicht geht das ganze ohne Browser.

  • _IELinkClickByText until "Link-Text" not found

    • alpines
    • 3. September 2019 um 13:04
    Zitat von Smomo

    Hätten Sie noch eine Idee?

    Ja, du zeigst uns den ganzen Code und die Webseite auf der dieser arbeiten soll und was sowie warum das Skript anstellen soll.

    Viele User sehen den Wald vor lauter Bäumen nicht, vielleicht kannst du komplett auf die IE.au3 verzichten.

  • nur Text - keine Zahlen

    • alpines
    • 1. September 2019 um 23:29

    Du verwendest \D was Non-Digit ist. Deshalb wird dein String aufgeteilt in die zusammenhängenden Zeichen die keine Ziffern haben.

    Das jpg rutscht deshalb ab.

  • nur Text - keine Zahlen

    • alpines
    • 1. September 2019 um 20:17

    Geht sicherlich eleganter aber so klappts (es bleiben aber alle Leerzeichen zurück):

    Code
    Local $sFileName = "AutoIt Version_745 ein Test.rar"
    
    Local $sZiel1 = StringRegExpReplace($sFileName, "\d+", "")
    Local $sZiel2 = StringRegExpReplace($sFileName, "[^\d\s]+\d+", "")
    
    ConsoleWrite($sZiel1 & @CRLF)
    ConsoleWrite($sZiel2 & @CRLF)
  • Run *.au3 über den Webbrowser

    • alpines
    • 27. August 2019 um 10:46

    Ich kenne das Protokoll nicht, aber du übergibst irgendwo den Pfad zur Exe-Datei. Häng hinten einfach deine CLI-Parameter an.

    Damit du verstehst was ich meine, kompiliere mal das Skript hier und führe es mit der Konsole wie folgt aus:

    Code
    myAutoIt.exe param1 param2 "Bla param 3"
    Code
    #include <Array.au3>
    
    _ArrayDisplay($CMDLine)
  • Run *.au3 über den Webbrowser

    • alpines
    • 27. August 2019 um 10:04

    Schreib doch einen Wrapper der dein AutoIt-Skript mit den entsprechenden Parametern über die CLI startet?

    Dann kannst du die Datenbankinfos als CLI-Parameter übergeben.

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™