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

Beiträge von FireFlyer

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 24. Oktober 2008 um 09:22

    und es wird auch nix angezeigt was während des speicherns passiert und danach nicht mehr da ist?

    Dann würde mir als letzte Methode nurnoch einfallen in einer Schleife zu prüfen ob sich die Dateigröße noch ändert, ich gehe jetzt mal von dem Ansatz aus:
    Man klickt auf Speichern, es rappelt und tut und die datei wird im sekunden takt immer größer und größer...
    Das kann man abfragen vllt irgendwie so:?

    Spoiler anzeigen
    [autoit]

    ;Hier kommt noch alles vornedran also das klicken im fenster und so
    $begin = TimerInit()
    Local $old_size
    while 1
    $size = FileGetSize($file)
    if $size > $old_size Then
    $begin = TimerInit()
    else
    if TimerDiff($begin) > 5000 Then ExitLoop ;hier die Zeit in Milisekunden einstellen wie lange die Datei die selbe größe haben darf
    EndIf
    $old_size = $size
    WEnd
    ;AB hier kommt die nächste datei!
    ;als test:
    MsgBox(0, "Test", "Der Speichervorgang wurde beendet!")

    [/autoit]

    Ich hoffe das geht so... ansonsten bitte jemand korrigieren :)

  • Endlich Fortgeschritten

    • FireFlyer
    • 24. Oktober 2008 um 08:42

    hehe herzlichen glückwunsch :D

  • Inhalte der ini-Dateien ersetzten ?

    • FireFlyer
    • 24. Oktober 2008 um 08:39

    nein der aufbau einer Ini ist wie folgt:

    [Section]
    Key=Value
    Key=Value
    Key=Value
    Key=Value
    [Section]
    Key=Value
    Key=Value
    Key=Value

    und so weiter... d.h. eine section ist ein bereich wo sich keys bzw. values befinden... wenn du den section namen nicht weisst und auch nicht wissen willst benutze die funktion StringReplace
    Wenn du ihn wissen willst: (is jetzt grade in meinem kopf entstanden also keine garantie das es geht!)

    Spoiler anzeigen
    [autoit]

    Func inigetsection($file, $key, $value = 0)
    $section = IniReadSectionNames($file)
    Dim $output[1][2]
    For $i = 1 To Ubound($section)-1

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

    $read = IniRead($file, $section[$i], $key, "DEFAULTVALUE")
    if $value <> 0 AND $read = $value Then
    Redim $output[Ubound($output)+1][2]
    $output[$i-1][0] = $section[$i]
    $output[$i-1][1] = $read
    ElseIf $value = 0 AND $read <> "DEFAULTVALUE" Then
    Redim $output[Ubound($output)+1][2]
    $output[$i-1][0] = $section[$i]
    $output[$i-1][1] = $read
    EndIf

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

    Next
    Return $output
    EndFunc

    [/autoit]
  • Maus-Meter

    • FireFlyer
    • 24. Oktober 2008 um 08:18

    @ greenhorn

    Das mit der WMI hatte ich auch mal gefunden nur bei mir hat es an 3 von 5 rechnern eine höhere Auflösung als Objekt gegeben als in den Einstellungen der Graka... aber ich weiss leider nicht warum und hab auch keine Lösung gefunden... Ich hab grade nochmal an meinem Rechner hier im Büro geschaut, da scheint es zu stimmen.

  • Limit möchte nicht arbeiten (GUICtrlSetLimit)

    • FireFlyer
    • 24. Oktober 2008 um 07:58

    BugFix ,

    und der WM command (funktion) wird immer ausgeführt sobald sich was ändert in der Inputbox? SO EINFACH IST DAS?!!! OHH Man und ich dachte mann muss das dann noch spezifizieren wie in der combobox ($CBN_DROPDOWN) usw :-/

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 24. Oktober 2008 um 07:51

    joar kannste auch nehmen,

    nein zwischen while und wend nix rein, er soll ja nix machen oder? :)

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 23. Oktober 2008 um 16:02

    klar:

    while WinActive(deinfenster) = 1 ;1 = win is active
    ;er macht einfach nix
    WEnd

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 23. Oktober 2008 um 15:54

    dann würd ich eventuell mit fileexist prüfen ob die zu speichernde datei existiert ;)

    Wenn sie da ist wird die speicherung wohl fertig sein oder? Oder ist beim Speichern irgendein Fenster aktiv?

  • Installationsskript

    • FireFlyer
    • 23. Oktober 2008 um 15:39

    hier mal noch eine schöne erklärung zur installshield
    http://www.prosoft.de/static/faq/entry/3/

  • Installationsskript

    • FireFlyer
    • 23. Oktober 2008 um 15:36

    naja silent parameter sind optionen mit dem du eine installation starten kannst z.b. bei winrar (ist jetzt ein beispiel wird nicht funktionieren!)

    du machst start --> ausführen und tippst z.b. folgendes ein:

    C:\winrar_setup.exe -dir "C:\Programme\WinRAR\" -h -a

    wenn du das ausführst würde z.b. kein fenster zu sehen sein wenn der parameter:

    -dir = Installationsort
    -h = hide also installation läuft im hintergrund
    -a = Installationsoption: Für alle benutzer Installieren

    Ist alles erfunden aber so ähnlich funktioniert die ganze sache und in autoit dann halt einfach so ;)

    [autoit]

    Run('C:\winrar_setup.exe -dir "C:\Programme\WinRAR\" -h -a')

    [/autoit]
  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 23. Oktober 2008 um 15:28

    ich kann nur raten, aber funktionierts vllt so?

    Spoiler anzeigen
    [autoit]

    While $x <= $y

    $datei = $aFiles[$x]
    If @error Then
    MsgBox(48, "", "Fehler", 2)
    ExitLoop
    EndIf

    $dateiarray = _PathSplit($datei, $szDrive, $szDir, $szFName, $szExt) ; Pfad zerlegen
    $Datei_name = $dateiarray[3] & $dateiarray[4]


    $Datei_oE = $datei
    $Datei_oE = StringTrimRight($datei, 3)

    Sleep (2000)
    ShellExecute ($datei)

    While WinActive("Technobox CAD6", $aFiles[$x]) = 0
    WinActivate("Technobox CAD6", $aFiles[$x])
    WEnd

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

    Sleep (1000)
    Send ("{F12}") ;F12 Befehl für Speichern unter
    sleep (2000)

    While WinActive("Zeichnung speichern unter") = 0
    WinActivate("Zeichnung speichern unter")
    WEnd
    Send("{ALTDOWN}") ;Alt + S Befehl für Speichern
    Sleep (500)
    Send("s")
    Sleep (500)
    Send("{ALTUP}")
    Sleep (2000)

    While WinActive("DWG Export") = 0
    WinActivate("DWG Export")
    WEnd
    Send("{ENTER}") ;Enter Befehl für Ok
    Sleep (2000)

    Send("{CTRLDOWN}")
    Sleep (500)
    Send("{F4}") ;Strg + F4 Befehl für aktuelle Fenster vom Programm schliessen
    Sleep (500)
    Send("{CTRLUP}")
    sleep (2000)

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


    $x += 1

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

    WEnd

    [/autoit]

    Und bitte in Zukunft den Spoiler benutzen (Button links neben dem AutoIt Tag)

    EDIT: Wenn ich das richtig verstanden habe, bei jedem durchlauf öffnet sich also nochmal das Fenster? Also quasi wenn du 10 durchläufe hast hast du auch 10 offene Fenster? Mach einfach vor die Zeile $x += 1 ein WinClose() von dem Fenster das geschlossen werden soll ;)

  • Installationsskript

    • FireFlyer
    • 23. Oktober 2008 um 15:15

    es gibt für die meisten Programme / Installationen sogar noch was viel besseres:

    Silent Parameter!!!

    mit ihnen brauchst du garkeine oberfläche mehr ;)

    Ansonsten würde ich dir empfehlen dir die Funktion ControlClick anzuschauen und dich ein bisschen mit dem Autoit Window Info Tool zu befassen

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 23. Oktober 2008 um 15:06

    versuch das mal so ;)

    Spoiler anzeigen
    [autoit]

    While $x <=$y

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

    $datei = $aFiles[$x]
    If @error Then
    MsgBox(48, "", "Fehler", 2)
    ExitLoop
    Else

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

    $dateiarray = _PathSplit($datei, $szDrive, $szDir, $szFName, $szExt) ; Pfad zerlegen
    $Datei_name = $dateiarray[3] & $dateiarray[4]

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

    ;Datei_oE: Datei ohne Endung
    $Datei_oE = $datei
    $Datei_oE = StringTrimRight($datei, 3)

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

    ShellExecute($datei)
    ;Send ( "keys" [, flag] )
    Sleep (3000)

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

    ;If WinActive( "Technobox CAD6", $aFiles) then ;soll schon ne variable sein oder?
    While WinActive("Technobox CAD6") = 0
    WinActivate("Technobox CAD6")
    WEnd
    ;WinWaitActive ( "Technobox CAD6", $aFiles)
    Send ("{F12}")
    sleep (2000)
    ;EndIF

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

    ;If WinActive ("Zeichnung speichern unter") then
    ;WinWaitActive ("Zeichnung speichern unter")
    While WinActive("Zeichnung speichern unter") = 0
    WinActivate("Zeichnung speichern unter")
    WEnd
    Send("{ALTDOWN}")
    Send("s")
    Send("{ALTUP}")
    Sleep (2000)
    ;EndIf

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

    ;If WinActive ( "DWG Export", "") then
    ;WinWaitActive ("DWG Export", "")
    While WinActive("DWG Export") = 0
    WinActivate("DWG Export")
    WEnd
    Send("{ENTER}")
    Sleep (2000)
    ;EndIf

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

    ;If WinActivate ( "Technobox CAD6", $filesearch) then
    While WinActive("Technobox CAD6") = 0
    WinActivate("Technobox CAD6")
    WEnd
    Send("{CTRLDOWN}")
    Send("{F4}")
    Send("{CTRLUP}")
    sleep (2000)
    ;EndIF

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

    $x = $x +1 ; das kannst du auch so schreiben: $x += 1
    EndIf ;muss das hier nicht noch rein?!
    WEnd

    [/autoit]

    Keine Garantie dass das so funktioniert ist jetzt einfach mal so ausm Kopf raus (mach net wirklich viel mit den Win-Funktionen)

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • FireFlyer
    • 23. Oktober 2008 um 14:17

    klappt es auch nicht mit WinActivate?!

  • Maus-Meter

    • FireFlyer
    • 23. Oktober 2008 um 08:57

    Oscar

    Woher kenn ich denn das nur? ^^ Haben wir das nicht 'damals' schon geschaut? Ich hab die komplette MSDN durchgeackert und nix gefunden X(

  • Limit möchte nicht arbeiten (GUICtrlSetLimit)

    • FireFlyer
    • 23. Oktober 2008 um 08:44

    ich hab mal noch eine allgemeine frage zu dem ganzen
    Das Tweakys beispiel ohne Probleme funktioniert ist mir klar nur:
    Gibt es bei inputs, genau wie bei den Comboboxen nicht auch irgendeine Methode mit GUIRegisterMsg?
    Das fände ich mal schön :) Quasi das man dann bei jeder änderung (inhalt) der inputbox etwas ausführen kann
    Ich habe da schon ein bisschen nach gesucht aber wo kriegt man denn sowas raus? Bei der ComboBox stehts in der Hilfe funktioniert auch wunderbar, nur das ganze auf eine Inputbox abzuändern hat bei mir nicht geklappt :(

    Kurz: Selber effekt wie z.b. bei HTML: onChange(funktion) erzeugen mit GUIRegisterMsg

  • Verbindung mit einem Server

    • FireFlyer
    • 23. Oktober 2008 um 08:16

    @DJ Basslord
    Ich selber wäre sogar sehr glücklich wenn man mit einem Programm wie AutoIt auf eine Websvr MySQL DB kommt. Es gibt entsprechende UDFs die funktionieren wunderbar, genau wie die SQLite UDF

    NUR

    Wie ich bereits sagte, die meisten Webserver die man "mietet" haben in ihren SQL setting beim Zugriff: local stehen, heisst nur ein script das auf dem Server liegt kann auf die DB zugreifen und hier liegt das Problem, man müsste PHP als "Schnittstelle" für AutoIt und MySQL nehmen und da wird es zwar nicht umbedingt sehr kompliziert aber meiner meinung nach ist es nicht sehr sicher...

    @bluelamp
    Ich würde aber anstatt $_GET, $_REQUEST nehmen und per autoit die seite mit der postmethode öffnen

  • Maus-Meter

    • FireFlyer
    • 22. Oktober 2008 um 15:39

    jetzt noch die klicks und klicks/minute ;) sollte jetzt nicht die schwerste übung für dich sein ;)

  • Numpad einschalten, wenn externe Tastatur an Notebook angeschlossen ist

    • FireFlyer
    • 22. Oktober 2008 um 15:32

    na ich weiss nicht, irgendwas muss ja kontrollieren ob ein gerät angeschlossen ist oder nicht :)

    schaust halt mal wie viel performance das script im "leerlauf" braucht ansonsten halt den sleep anpassen

    aber performance technisch sollte das kein problem sein ...

  • Konvertierung von Dateien (Speichern unter...)

    • FireFlyer
    • 22. Oktober 2008 um 15:24

    naja du musst dann dein programm mit run öffnen und dort mausklicks und tasten simulieren

    controlsend usw werden dir helfen genauso wie mouseclick etc

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™