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

Beiträge von funkey

  • urlencode() rückgängig machen

    • funkey
    • 5. September 2008 um 16:12

    Ist zwar nicht Autoit, aber man kann sich das schon irgendwie umdenken

    http://www.motobit.com/tips/detpg_URLDecode/

    Zuerst StringReplace '+' durch ' '

    Danach nach '%' suchen und Chr() der nachfolgenden 2 Zeichen machen.

  • urlencode() rückgängig machen

    • funkey
    • 5. September 2008 um 15:56

    Sieht nicht so wild aus, was da zu ersetzen ist

    Google:

    Code
    Ursprüngliche Zeichenkette:
    Der Wald ist voller Bäume
    PHP 3/4
    - §201_2b.1 -
    
    
    Kodierte Zeichenkette:
    Der+Wald+ist+voller+B%E4ume
    PHP+3%2F4
    -+%A7201_2b.1+-
    
    
    Dekodierte Zeichenkette:
    Der Wald ist voller Bäume
    PHP 3/4
    - §201_2b.1 -
    Alles anzeigen
  • urlencode() rückgängig machen

    • funkey
    • 5. September 2008 um 15:45

    Hab davon zwar keine Ahnung, aber es gibt auch urldecode()

    http://at2.php.net/manual/de/function.urldecode.php

  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 14:03

    Schadet nicht, hab ich zwar noch nie gemacht, aber ich glaube das geht wenn man den ersten Beitrag editiert.

  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 14:00

    Ich glaube, jetzt hast du's verstanden. wenn keine neue Datei gefunden wird, dann wird die 'unendliche' Schleife beendet.

  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 13:48

    Du hast eigentlich alles verstanden.

    'While 1' oder auch 'While True' wiederholt den Vorgang bis zum WEnd immer und immer wieder. 1 = Immer
    Diese Schleife wird nur durch ExitLoop oder Exit beendet.

    Schau dir mal die Hilfe zu FileFindFirstFile an. Wenn keine Datei gefunden wird, dann gibt diese Funktion -1 zurück, das kann dann ausgewertet werden.

  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 13:24
    [autoit]

    Send("!di")

    [/autoit]


    bedeutet, dass ALT, D, I gesendet wird, also Alt, Datei, Seite eInrichten

    [autoit]

    Send("{Down 6}")

    [/autoit]


    bedeutet, dass du 6x Down sendest.


    Der restliche Code ist direkt aus der Hilfe entnommen zu FileFindFirstFile.

  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 13:01

    Es lässt sich in deinem Skript noch einigen verbessern

    Seite einrichten in Excel

    [autoit]

    Send("!di")

    [/autoit]

    Zeichen öfter Senden

    [autoit]

    Send("{DOWN 6}")

    [/autoit]
  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 12:55

    Hab' nicht getestet, aber wenn das Skript im Ordner mit den xls-dateien ist, sollte es funktionieren.


    [autoit]

    $search = FileFindFirstFile("*.xls")

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

    ; Check if the search was successful
    If $search = -1 Then
    MsgBox(0, "Error", "No files/directories matched the search pattern")
    Exit
    EndIf

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

    While 1
    $file = FileFindNextFile($search)
    If @error Then ExitLoop
    ShellExecute($File)

    Seite_anpassen() ; dein Skript
    WinClose("Microsoft Excel -")
    WEnd

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

    ; Close the search handle
    FileClose($search)

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

    Func Seite_anpassen()
    WinWait("Microsoft Excel -","")
    If Not WinActive("Microsoft Excel -","") Then WinActivate("Microsoft Excel -","")
    WinWaitActive("Microsoft Excel -","")
    Send("{ALTDOWN}a{ALTUP}{DOWN}{DOWN}{DOWN}{ENTER}")
    WinWait("Seite einrichten","")
    If Not WinActive("Seite einrichten","") Then WinActivate("Seite einrichten","")
    WinWaitActive("Seite einrichten","")
    Send("{TAB}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{DOWN}{ENTER}{ENTER}")
    WinWait("Microsoft Excel -","")
    If Not WinActive("Microsoft Excel -","") Then WinActivate("Microsoft Excel -","")
    WinWaitActive("Microsoft Excel -","")
    Send("{CTRLDOWN}p{CTRLUP}{SHIFTDOWN}{TAB}{TAB}{TAB}{SHIFTUP}1{TAB}1{ENTER}")
    WinWait("Microsoft Excel -","")
    If Not WinActive("Microsoft Excel -","") Then WinActivate("Microsoft Excel -","")
    WinWaitActive("Microsoft Excel -","")
    Send("{ALTDOWN}d{ALTUP}{DOWN}{ENTER}")
    WinWait("Microsoft Excel","")
    If Not WinActive("Microsoft Excel","") Then WinActivate("Microsoft Excel","")
    WinWaitActive("Microsoft Excel","")
    Send("{ENTER}")
    EndFunc

    [/autoit]
  • Varibalen Einsatz?

    • funkey
    • 5. September 2008 um 12:34

    Wenn die Dateien automatisch geöffnet werden, nicht von Autoit, dann brauchst du keine Variablen
    So reicht es doch auch.

    [autoit]

    WinWait("Microsoft Excel - ")

    [/autoit]

    #


    EDIT: Zu langsam

  • Problem mit Variable in Befehl

    • funkey
    • 4. September 2008 um 15:40

    Das bedeutet, dass der Befehl richtig ausgeführt wurde. Die Frage ist nur warum klickt er dann nicht?
    Ist das Fenster beim Klicken nicht aktiv (kann auch zu Problemen führen)?
    Oder klickt er im falschen Fenster herum?

    Ich weiß jetzt dann auch nicht mehr weiter ?(

  • Problem mit Variable in Befehl

    • funkey
    • 4. September 2008 um 14:51

    Einfach $test = ControlClick(::::)
    msgbox(0,"",$test)

    Wenn 0, dann passt entweder der Fenstertitel nicht, oder die ControlID

  • Problem mit Variable in Befehl

    • funkey
    • 4. September 2008 um 14:29

    Ich kann so jetzt keine Fehler entdecken :S
    Schau mal den Rückgabewert vom ControlClick an , ob der 1 ist oder 0.


    btw: In Abschnitt Add-In Fenster kannst du für WinWait auch ein TimeOut einstellen anstelle des Sleeps.

  • wie tray menü und gui gleichzeitig in einer Schleife?

    • funkey
    • 3. September 2008 um 14:57

    Probier's einfach mit 2xSelect und lasse Switch weg.

  • Fehler beim aufrufen des Programms über das Script

    • funkey
    • 3. September 2008 um 14:51

    Probier mal RunAsSet in der Daten.exe aus. Könnte sein, dass dass das mit den Rechteübergaben so nicht funktioniert, ansonsten weiß ich leider nichts mehr, mit dem ich dir helfen könnte.

  • Fehler beim aufrufen des Programms über das Script

    • funkey
    • 3. September 2008 um 14:40

    2 Sachen sind mir noch aufgefallen:

    1. Ich hoffe Zeile 7 bleibt nicht ausdokumentiert.
    2. Der Befehl RunAsSet wurde in der neuen Version durch RunAs ersetzt.

  • Fehler beim aufrufen des Programms über das Script

    • funkey
    • 3. September 2008 um 14:21

    User.exe ???

    Zeile 11

    [autoit]

    RunWait("test.txt", "X:",1)

    [/autoit]

    Wie willst du eine Textdatei ausführen, dafür benötigst du ShellExecute.

  • Fehler beim aufrufen des Programms über das Script

    • funkey
    • 3. September 2008 um 14:10

    Ich denke da fehlt ein Backslash

    FileCopy("X:\Batch\Daten.cmd", "C:\",1)

  • wie tray menü und gui gleichzeitig in einer Schleife?

    • funkey
    • 3. September 2008 um 13:13

    Einfach alles in eine Schleife.

    [autoit][/autoit]
    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

    Opt("TrayMenuMode",1) ; Default tray menu items (Script Paused/Exit) will not be shown.

    $settingsitem = TrayCreateMenu("Settings")
    $displayitem = TrayCreateItem("Display", $settingsitem)
    $printeritem = TrayCreateItem("Printer", $settingsitem)
    TrayCreateItem("")
    $aboutitem = TrayCreateItem("About")
    TrayCreateItem("")
    $exititem = TrayCreateItem("Exit")

    TraySetState()

    #Region ### START Koda GUI section ### Form=
    $Form3 = GUICreate("Form3", 413, 305, 246, 181)
    $Button1 = GUICtrlCreateButton("Button1", 40, 40, 321, 209, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    $msg = TrayGetMsg()

    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch

    Select
    Case $msg = 0
    ContinueLoop
    Case $msg = $aboutitem
    Msgbox(64,"about:","AutoIt3-Tray-sample")
    Case $msg = $exititem
    ExitLoop
    EndSelect
    WEnd

    [/autoit]
    [autoit][/autoit]
  • Manuel Installation abgebrochen exe Datei soll gelöscht werden

    • funkey
    • 2. September 2008 um 18:10

    Du kannst ihn mit BlockInput daran hindern, dass er Eingaben machen kann. Wenn dann aber die Automatik nicht 100%ig funkt, dann kann man das Script nur noch über den Taskmanager beenden.
    Du kannst auch den WinWaitActive Befehlen ein Timeout verpassen, und bei Timeout die Datei löschen und das Script beenden.
    Oder du kannst vor jedem WinWaitActive diesen Code einfügen

    [autoit]

    If Not ProcessExists($pad) Then
    FileDelete($Exe)
    Exit
    EndIf

    [/autoit]

    btw: Du solltest für 'Nero-8.3.6.0_deu.exe' eine Variable vergeben, sonst funkts sowieso nicht (z.B. $Exe)

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™