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

Beiträge von MoveJockey

  • FileReadLine & Send

    • MoveJockey
    • 25. September 2017 um 11:36
    Zitat von alpines

    Das Send wird nicht ignoriert, du kriegst es nur nicht mit. Der Run-Befehl wird an das Betriebssystem geschickt und direkt danach wird deine Eingabe abgefeuert.

    Du müsstest aber erstmal warten bis der Prozess gestartet ist, ganz zu schweigen vom Fenster. Also ein WinWaitActive-Befehl dahinter und schon sollte das ganze funktionieren.

    Logischerweise solltest du nicht nur WinWaitActive alleine verwenden, denn wenn ein Fenster zwischendurch aufploppt wars das mit deinem Script.

    wird normalerweise verwendet, habe es dort wohl einmal ausgelassen. Denkfehler, danke!

  • FileReadLine & Send

    • MoveJockey
    • 25. September 2017 um 10:07

    Hello. Ich habe in einer .ini alle Dateipfade aufgelistet.

    Nun möchte ich in einer .txt Datei die erste Zeile auslesen und in diesem Beispiel in Notepad schreiben.

    Mein Ansatz sieht so aus:

    Code
    Global $FilePath="C:\Users\Test\Documents\db.ini"
        
        $p_TestFile = IniRead($FilePath, "Test1", "Path", "Default")
        $Testline = FileReadLine ($p_Testfile,1)
        Run("C:\Windows\System32\notepad.exe")
        Send($Testline)
        MsgBox (0,"",$Testline)

    Die MessageBox gibt den richtigen Wert aus, aber Send wird komplett ignoriert X/

  • Probleme mit Func & Call

    • MoveJockey
    • 20. September 2017 um 16:07

    Hello.

    Ich habe mein Script nun auf seperate Dateien ausgelegt. Das GUI besteht teils aus folgender Funktion:

    Code
    ....
    Func Get_This()
    If GUICtrlRead($nowthis) = $GUI_CHECKED Then
    NowThis()
    ElseIf GUICtrlRead($orthis)=$GUI_CHECKED Then
    Call("OtherTime)
    EndIf
    EndFunc
    ....

    Die verknüpfte Datei enthält folgenden Inhalt:

    Code
    Func NowThis()
        $p_nowthis = IniRead($FilePath, "Sample", "Pfad", "Default")
        Run("" & $p_nowthis)
     ....
        CodeBeta()
    EndFunc
    
    Func CodeBeta()
        $p_codebeta = IniRead($FilePath, "Sample2", "Pfad", "Default")
        ShellExecute($p_codebeta)
    .....
        MsgBox(0, "Code Beta", "Alles wurde erfolgreich ausgeführt")
    EndFunc
    Alles anzeigen

    Bei Func CodeBeta() handelt es sich um eine zu installierende .msp Datei. Es gibt also drei Verschachtelungen.

    In der seperaten .ini Datei, welche im Hauptscript verknüpft ist, sind nur die genauen Dateipfade ersichtlich (deshalb werden variablen wie $p_codebeta verwendet.

    Es läuft alles gut, allerdings stockt er beim letzten Schritt (das Fenster zu schließen bzw. auf einen Button zu drücken mittels ControlClick).

    Wenn ich die Dateipfade ausgeschrieben verwende und ohne den Anführungszeichen in Run und statt Shellexecute ebenso Run verwende läuft alles fehlerfrei durch.

    Ist das ganze irgendwie hübscher und fehlerfrei zu lösen? Ich komme auf keinen Ansatz..

  • AutoIt stürzt ab (Combobox Problem)

    • MoveJockey
    • 18. September 2017 um 11:20
    Zitat von alpines

    Ist ja auch klar warum oder?

    Du liest das was in $dummyprogram ist und überschreibst die Variable, welche die Control-Id beinhaltet, mit dem Inhalt und versuchst sie dann nochmal mit GUICtrlRead auszulesen.

    Das ist sehr schlechter Stil, lies entweder immer aus dem Control oder nur einmal in eine separate Variable und verwende die.

    Kam gerade ebenso darauf :D, daran lag es.

    Wieder zwei Dinge gelernt, ich danke dir alpines :)

  • AutoIt stürzt ab (Combobox Problem)

    • MoveJockey
    • 18. September 2017 um 11:15
    Zitat von alpines

    Weil deine Formatierung der If-Verzweigungen falsch ist, das ElseIf gehört mit den Bedingungen in die nächste Zeile und das Else muss alleine stehen.

    AutoIt
    If <Bedingung> Then
        ;Code wenn True
    ElseIf <Bedingung> Then
        ;Code wenn ElseIf True
    ElseIf <Bedingung> Then
        ;Code wenn 2. ElseIf True
    Else
        ;Code wenn keins von den vorherigen True ist
    EndIf

    Okay, danke. er stürzt nicht mehr ab. Allerdings greift er nur noch "Dummy1", der rest wird ignoriert trotz anderer auswahl.

  • AutoIt stürzt ab (Combobox Problem)

    • MoveJockey
    • 18. September 2017 um 10:58
    Zitat von alpines

    Dein Script hat ziemlich viele Syntaxfehler, deshalb stürzt es ab.

    Run(notepad) kann so nicht funktionieren, weil die String-Literale fehlen.

    If GUICtrlRead($dummyprogram) = "Dummy" Then Send("Test1") ElseIf kann nicht funktionieren, da das ElseIf in der selben Zeile steht.

    Selbiges gilt für Else und EndIf.

    Run(notepad) war nur ein Beispiel.

    Bei Einsetzen in eine neue Zeile erhalte ich den Fehlercode:

    (44) : ==> "Else" statement with no matching "If" statement.:

    Else

  • AutoIt stürzt ab (Combobox Problem)

    • MoveJockey
    • 18. September 2017 um 10:44

    Hello.

    Das ausgewählte Element soll auf eine Variable verweisen, die später erst genutzt wird und einen bestimmten Send Inhalt enthält.
    Leider bekomme ich das absolut nicht ans laufen :/

    Mein Ansatz:

    Code
    ----
    $dummyprogram = GUICtrlCreateCombo("",250,181,85,21,-1,-1)
    GUICtrlSetData(-1,"Dummy|Dummy2|Dummy3")
    ....
    
    Func Test()
    Run(notepad)
    $dummyprogram =  GUICtrlRead($dummyprogram)
    
    If GUICtrlRead($dummyprogram) = "Dummy1" Then Send("Test1") ElseIf
    GUICtrlRead($dummyprogram) = "Dummy2" Then Send("Test2") Else
    GUICtrlRead($dummyprogram) = "Dummy3" Then Send("Test3") EndIf
    
    ...
    Alles anzeigen

    An der Stelle stürzt das Script ab.. er wählt auch nur Dummy1 aus, den Rest lässt er unberührt.. was läuft da verkehrt? :Face:

  • Script mit Windows Login

    • MoveJockey
    • 6. September 2017 um 09:35
    Zitat von alpines

    Welche Windows Login Funktion meinst du denn?

    Wenn du es selber schreiben möchtest, könntest du einen Authentifizierungsserver programmieren, an dem sich deine Clienten anmelden.

    Der Benutzer wird nochmals aufgefordert, seine Benutzerdaten (womit er derzeit angemeldet ist) einzugeben, um das Script nutzen zu können. Sinn dahinter ist, dass bestimmte Benutzergruppen nur eingeschränkten Zugriff auf das Script haben sollen (ein paar Funktionen nicht verfügbar/sichtbar).

  • Script mit Windows Login

    • MoveJockey
    • 6. September 2017 um 08:59

    Hallo,

    ich würde gerne in mein Script einen Login einfügen. Dieser sollte bestmöglich eine Windows Login Funktion beinhalten, bestenfalls die Login Daten aus der Workgroup anfordern, um das Script überhaupt nutzen zu können.

    Jemand ne Idee wie sowas einzubauen ist, einen Ansatz oder auch fertige "Plugins"?

  • Forenupdate - September 2017 - Probleme / Anregungen / Feedback - Sammelthread

    • MoveJockey
    • 4. September 2017 um 10:21

    Die Google Weiterleitungen funktionieren leider noch nicht ganz.

  • DirCreate Variablenchaos

    • MoveJockey
    • 30. August 2017 um 15:13
    Zitat von autoiter

    Hallo @MoveJockey
    Dann fehlt dort ein Trennzeichen.
    $Destination ist ja ein Verzeichnis. Da soll deine Datei hinein.
    Du liest und speicherst aktuell aber bspw. \ZielverzeichnisDateiname
    Destination & "\" & $Variable

    Edit: Äh wohl eher das das was @alpines geschrieben hat.. Duck und wesch.. :whistling:

    Zitat von alpines

    Da fehlt mehr als nur das.

    Am Ende hat man folgenden Pfad: "C:\Users\test\Desktop\Test\C:\Users\test\Desktop\Test\<CtrlHandle><CtrlHandle>.html


    autoiter hatte recht, aplines aber auch irgendwo. Das GUIRead war weiter oben im Code bereits vorhanden, es hat am "\" gemangelt. Funktioniert nun, wie immer ein dank an euch! Bis zum nächsten mal *lach*

  • DirCreate Variablenchaos

    • MoveJockey
    • 30. August 2017 um 15:00
    Zitat von alpines

    Was steht denn in $Variable drinne?


    Ist nur ein Input vom GUI

    $Variable = GUICtrlCreateInput("", 160, 136, 121, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_UPPERCASE))

  • DirCreate Variablenchaos

    • MoveJockey
    • 30. August 2017 um 14:56

    Hello.

    Bei meinem PDF Speicherversuch kommt es zu Schwierigkeiten bei den Variablen. Er soll erst einen Ordner erstellen (falls dieser nicht existiert), dann die html Datei nehmen und sie schließlich als PDF im erstellten/vorhandenen ordner ablegen.
    hier ist mein jetziger Code:


    $Destination = ("C:\Users\test\Desktop\Test\" & $Variable)
    If not FileExists($Destination) Then DirCreate($Destination)
    Local $oObject = WKHtmlToX()
    $oObject.Input = "C:\Users\test\Desktop\Test\" & $Destination & $Variable & ".html"
    $oObject.Output = "C:\Users\test\Desktop\Test\" & $Destination & $Variable & ".pdf"
    $oObject.Convert()
    MsgBox(0, "PDF", "Die PDF Datei wurde erfolgreich gespeichert."

    Weiß jemand Rat? :/

  • Html to PDF

    • MoveJockey
    • 29. August 2017 um 16:10
    Zitat von Musashi

    Klingt fast zu simpel um wahr zu sein, aber meinst Du :$Variable = "Test01"
    "C:\Users\XX\Desktop\Test\" & $Variable & ".html"


    Es könnte manchmal doch so einfach sein :D

  • Html to PDF

    • MoveJockey
    • 29. August 2017 um 15:37

    Es scheint als würde wkhtmltopdf diesen Job gut erledigen.
    Jetzt habe ich das Problem, dass ein Input den sowohl lesenden als auch schreibenden Dateinamen ändern soll.

    Bspw:

    $Variable = Test01

    C:\Users\XX\Desktop\Test\$Variable.html
    C:\Users\XX\Desktop\Test\$Variable.pdf

    Wie geht man dort vor?

  • Html to PDF

    • MoveJockey
    • 29. August 2017 um 15:06
    Zitat von alpines

    Da gibts verschiedene Anwendungen die du nutzen kannst (ghostscript z.B.). Die bieten ein Kommandeozeileninterface an, welches du mit AutoIt ansteuern kannst.


    Ghostscript kann aber (laut diversen Foren) nichts mit html anfangen. Bin langsam verzweifelt :D

  • Html to PDF

    • MoveJockey
    • 29. August 2017 um 14:40

    So jetzt habe ich keine Lust mehr zu suchen :D

    Ich habe eine Html Datei vor mir, die von einem Programm während eines Ablaufs erzeugt wird. Ich möchte, dass diese in eine PDF Datei konvertiert und woanders abgelegt wird.
    Wie bekomme ich das am sinnvollsten hin? Meine versuchte Automatisierung mit _IE.au3 und Print hat leider nicht zum gewünschten Ergebnis geführt :/

    LG

  • Java Automatic Install

    • MoveJockey
    • 29. August 2017 um 10:05

    Hello,

    ich wollte gerade an dem Java Unattended Installer arbeiten, jedoch weiß ich es nicht zu realisieren. Controlclick etc. fällt leider raus, da die Oracle Cookie Abfrage

    Ihre Wahlmöglichkeiten hinsichtlich Cookies auf dieser Website.

    Oracle ist berechtigt, Cookies zu verwenden, um Ihre Anmeldedaten zu speichern, Statistiken zur Optimierung der Website-Funktionalität zu erheben und Ihren Interessen entsprechende Werbeinhalte anzubieten.

    mir immer dazwischen kommt. Einen Offline Installer von Java ist in dem Fall unbrauchbar, da der zu verwendende Installer die neuste Version mitbringen soll.
    Weiß einer Rat?

  • .reg Datei/en hinzufügen

    • MoveJockey
    • 28. August 2017 um 13:10
    Zitat von alpines

    Es darf kein Foreslash vor dem Pfad stehen und du solltest den Pfad zwischen Gänsefüßchen "" packen, sofern Leerzeichen vorkommen. Also so:

    AutoIt
    $sPath = "C:\Ordner\Meine Regdatei.reg"
    ShellExecuteWait("regedit.exe", "/s """ & $sPath & """")


    Einwandfrei! :)

  • Unattended Install If Schleife

    • MoveJockey
    • 28. August 2017 um 12:59

    Danke hat funktioniert :)

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™