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

Beiträge von Kazuto

  • For Schleife bleibt ohne Fehler hängen

    • Kazuto
    • 21. Juli 2015 um 21:38

    Dann ist die Ursache wohl lokal, aber trotzdem komisch.

    Danke trotzdem ^^

    ~EDIT~
    Ich habe jetzt mal _GUICtrlRichEdit_Create und _GUICtrlRichEdit_AppendText genutzt aber das Problem mit den 123 Zeichen besteht weiterhin xD
    Es liegt also nicht an der EditBox xD

    ~EDIT 2~

    Habe den Fehler ausfindig gemacht.
    Es war eine falsche Variable eingetragen.

    Statt for $i = 1 to GUICtrlRead($iPlayerLevel) - 1 war for $i = 1 to GUICtrlRead($iPlayerBase) - 1 eingetragen und da ich als $iPlayerBase immer 5 eingegeben habe, kamen auch nur 5 Ausgaben xD

  • For Schleife bleibt ohne Fehler hängen

    • Kazuto
    • 21. Juli 2015 um 21:30

    Dies kann ja eigentlich nicht sein, da die Editbox unter Dino Level und Engram Points die 30.000 Zeichen problemlos anzeigt aber die unter Player Level lediglich 123 Zeichen und dort hängen bleibt.
    Es kann also nichts mit dem Zeichenlimit zutun haben, da für alle Boxen die gleiche Konfiguration vorliegt.

    Trägt man dort Zeichen manuell ein bleibt diese nicht hängen oder stoppt, jedoch wenn man sich den Konfiguration generieren lässt.

  • For Schleife bleibt ohne Fehler hängen

    • Kazuto
    • 21. Juli 2015 um 20:19

    Guten Abend,

    ich sitze derzeit an einem Generator für die Konfigurationsdatei vom Spiel ARK Survival Evolved.
    Dort kann man das maximale Level durch eben diese Konfigurationsdatei erhöhen.

    Es bleibt jedoch die Edit Box im Bereich Player Level hängen, bei den beiden anderen funktioniert es einwandfrei.
    Bei Player Level und Dino Level wurde die gleiche Funktion verwendet, lediglich die Formel etwas abgeändert.

    Ich sehe jedoch den Fehler einfach nicht.
    Vielleicht kann mir ja von euch einer helfen ^~^


    C
    #cs ----------------------------------------------------------------------------
    
    
     AutoIt Version: 3.3.12.0
     Author:         Kazuto
    
    
     Script Function:
    	This script allows you to simply generate a level configuration
    
    
    #ce ----------------------------------------------------------------------------
    
    
    ; Script Start - Add your code below here
    
    
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <TabConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\users\kazu\desktop\new folder\level adjuster.kxf
    $GUI = GUICreate("ARK: Survival Evolved | Level Configuration Generator", 630, 535, 192, 154)
    $Tab1 = GUICtrlCreateTab(0, 32, 635, 530)
    
    
    ;~ Player Level
    GUICtrlCreateTabItem("Player Level")
    $sPlayerOutput = GUICtrlCreateEdit("", 16, 160, 601, 361)
    $lPlayerLevel = GUICtrlCreateLabel("Maximum level:", 16, 72, 76, 17)
    $iPlayerLevel = GUICtrlCreateInput("", 96, 70, 121, 21)
    $bPlayerGenerate = GUICtrlCreateButton("Generate", 248, 68, 81, 25)
    $bPlayerClear = GUICtrlCreateButton("Clear", 248, 100, 81, 25)
    $iPlayerBase = GUICtrlCreateInput("", 96, 102, 121, 21)
    $lPlayerBase = GUICtrlCreateLabel("Base EXP:", 16, 104, 55, 17)
    $sFormular = GUICtrlCreateLabel("Formular used: Level * Level * Base EXP", 16, 136, 196, 17)
    
    
    ;~ Dinosaur Level
    GUICtrlCreateTabItem("Dinosaur Level")
    $sDinoOutput = GUICtrlCreateEdit("", 16, 160, 601, 361)
    $lDinoLevel = GUICtrlCreateLabel("Maximum level:", 16, 72, 76, 17)
    $iDinoLevel = GUICtrlCreateInput("", 96, 70, 121, 21)
    $bDinoGenerate = GUICtrlCreateButton("Generate", 248, 68, 81, 25)
    $bDinoClear = GUICtrlCreateButton("Clear", 248, 100, 81, 25)
    $iDinoBase = GUICtrlCreateInput("", 96, 102, 121, 21)
    $lDinoBase = GUICtrlCreateLabel("Base EXP:", 16, 104, 55, 17)
    $sFormular = GUICtrlCreateLabel("Formular used: Level * Base EXP", 16, 136, 196, 17)
    
    
    ;~ Engram Points
    GUICtrlCreateTabItem("Engram Points")
    $sEngramOutput = GUICtrlCreateEdit("", 16, 160, 601, 361)
    $lEngramLines = GUICtrlCreateLabel("Lines:", 16, 72, 76, 17)
    $iEngramLines = GUICtrlCreateInput("", 96, 70, 121, 21)
    $bEngramGenerate = GUICtrlCreateButton("Generate", 248, 68, 81, 25)
    $bEngramClear = GUICtrlCreateButton("Clear", 248, 100, 81, 25)
    $sFormular = GUICtrlCreateLabel("This will just create empty lines. Points need to be adjusted by hand!", 16, 136, 330, 17)
    
    
    
    
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    
    
    
    
    
    
    While 1
    	$nMsg = GUIGetMsg()
    	Switch $nMsg
    		Case $GUI_EVENT_CLOSE
    			Exit
    
    
    		Case $bPlayerGenerate
    			for $i = 1  to GUICtrlRead($iPlayerBase) - 1
    				$iPlayerLevelEXP = $i * $i * GUICtrlRead($iPlayerBase)
    				GUICtrlSetData($sPlayerOutput, "ExperiencePointsForLevel[" & $i -1 & "]="& $iPlayerLevelEXP &",", ("."))
    			Next
    
    
    		Case $bDinoGenerate
    			for $i = 1  to GUICtrlRead($iDinoLevel) - 1
    				$iDinoLevelEXP = $i * GUICtrlRead($iDinoBase)
    				GUICtrlSetData($sDinoOutput, "ExperiencePointsForLevel[" & $i -1 & "]="& $iDinoLevelEXP &",", ("."))
    			Next
    
    
    		Case $bEngramGenerate
    			for $i = 1  to GUICtrlRead($iEngramLines) - 1
    				GUICtrlSetData($sEngramOutput, "OverridePlayerLevelEngramPoints="&@CRLF, ("."))
    			Next
    
    
    		Case $bPlayerClear
    			GUICtrlSetData($sPlayerOutput, "", (""))
    
    
    		Case $bDinoClear
    			GUICtrlSetData($sDinoOutput, "", (""))
    
    
    		Case $bEngramClear
    			GUICtrlSetData($sEngramOutput, "", (""))
    
    
    	EndSwitch
    WEnd
    Alles anzeigen
  • Überprüfen ob Eintrag ungleich Remote Eintrag ist

    • Kazuto
    • 18. April 2015 um 20:09

    Vielen Dank für deinen Tipp. Habe es dadurch lösen können ^^


    AutoIt
    Func _Follower($username)
    	Local $sHTML = BinaryToString(InetRead("http://api.hitbox.tv/followers/user/" & $username & "?offset=0&limit=1"))
    	$aUsername = StringRegExp($sHTML, 'user_name":"([^"]+)', 3)
    	$hReadFile = FileOpen(@ScriptDir & "\Follower_Usernames.txt", $FO_READ)
    	If FileRead($hReadFile) <> $aUsername[0] Then
    		FileClose($hReadFile)
    		If IsArray($aUsername) Then
    			$hWriteFile = FileOpen(@ScriptDir & "\Follower_Usernames.txt", $FO_OVERWRITE)
    			For $i = 0 To UBound($aUsername) - 1
    				FileWrite($hWriteFile, $aUsername[$i])
    				MsgBox(0, "New one", "New follower added", 10)
    			Next
    			FileClose($hWriteFile)
    		EndIf
    	EndIf
    EndFunc
    Alles anzeigen
  • Überprüfen ob Eintrag ungleich Remote Eintrag ist

    • Kazuto
    • 18. April 2015 um 12:27

    Hallo Leute,

    ich arbeite derzeit an meinem Dashboard und wollte nun überprüfen ob ein neuer Eintrag vorhanden ist und falls ein neuer vorhanden ist, den alten mit diesem ersetzen.
    Jedoch spuckt er mir immer die MsgBox aus, auch wenn der Eintrag übereinstimmt :D


    AutoIt
    Func _Follower($username)
    	Local $sHTML = BinaryToString(InetRead("http://api.hitbox.tv/followers/user/"&$username&"?offset=0&limit=1"))
    	$aUsername = StringRegExp($sHTML, 'user_name":"([^"]+)', 3)
    	$hFileOpen = FileOpen(@ScriptDir & "\Follower_Usernames.txt", $FO_OVERWRITE)
    	If FileReadLine($hFileOpen) <> $aUsername[0] Then
    		If IsArray($aUsername) Then
    			For $i = 0 To UBound($aUsername) - 1
    				FileWrite($hFileOpen, $aUsername[$i] & @CRLF)
    				MsgBox(0, "New one", "New follower added", 10)
    			Next
    		EndIf
    		FileClose($hFileOpen)
    	EndIf
    EndFunc
    Alles anzeigen

    Mag mir vielleicht einer helfen?

    ~EDIT~
    Habe den Fehler gefunden.
    Es lag am $FO_OVERWRITE.

    ~EDIT 2~
    Entferne ich $FO_OVERWRITE, so ersetzt er mit den Eintrag nicht mehr mit dem aktuellsten.

    Mit freundlichen Grüßen,
    Kazu

  • API auslesen und Wert in .txt abspeichern

    • Kazuto
    • 26. Dezember 2014 um 10:56

    Vielen Dank.

    Es tut mir leid, dass ich mich erst so spät melde jedoch hatte ich die letzten drei Wochen kein Internetanschluss ^^

  • API auslesen und Wert in .txt abspeichern

    • Kazuto
    • 27. November 2014 um 22:42

    Unter Followers hätte ich gerne "user_name" ausgelesen und dieses als Textdatei gespeichert.

    @Xenobiologist
    http://api.hitbox.tv/followers/user/Kazuto?offset=0&limit=1
    Das wäre das Ergebnis welches bei der Anfrage rauskommt.
    Ohne AutoIt würde ich es mit PHP machen, aber dies wäre nicht optimal wenn ich es als Textdatei speichern möchte.

  • API auslesen und Wert in .txt abspeichern

    • Kazuto
    • 26. November 2014 um 03:02

    Hallo Leute,

    Ich würde gerne ein kleines Tool schreiben welches mir alle paar Sekunden die aktuellste API von Hitbox.tv ausliest und bestimmte Werte
    in Textdateien speichert, welche ich dann mit OBS auslesen kann.

    Ich habe sowohl Google als auch die SuFu genutzt, aber keine Lösung zu meinem Problem gefunden.

    Ist es überhaupt möglich mit AutoIt eine API auslesen? Wenn ja, welche Funktion muss ich dazu verwenden?

    Mit freundlichen Grüßen,
    Kai

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 3. April 2013 um 15:57

    Ja.

    [Blockierte Grafik: http://puu.sh/2t6kg]

    ~EDIT~
    Irgendwie tritt das Problem nun auch bei der 64bit Version von Photoshop auf.

    Der Text wird wie immer geändert jedoch wird das Bild nicht automatisch gespeichert sondern bleibt im "Speichern als..." stehen.
    Eben funktionierte der 64bit Script mit der 64bit Version von Photoshop.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 3. April 2013 um 15:55

    :D xD

    Mir ist gerade aufgefallen dass der Script mit der 64bit Version von Photoshop funktioniert, mit der 32bit Version jedoch nicht.

    Woran könnte dies liegen? Ich denke mal nicht am Code ansich, da die .vbs auch mit beiden Bit Versionen funktioniert.

    Wisst ihr woran das liegen könnte?

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 3. April 2013 um 14:29

    Vielen Dank water, für deinen Tipp.

    ~EDIT~
    water, darf ich dich küssen?
    Dank dir funktioniert das Tool nun endlich <3

    Vielen, vielen Dank ^^

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 18:47

    Das mit GuiCtrlRead habe ich schon gemerkt, trotzdem danke.

    [autoit]

    Global $sOutFileName
    For $i = GUICtrlRead($iStart) To GUICtrlRead($iEnde)
    consolewrite(GUICtrlRead($iTextebene) & " / " & GUICtrlRead($sVortext) & " / " & $i & " / " & GUICtrlRead($sNachtext))
    $oDocref.ArtLayers(1).TextItem.Contents = GUICtrlRead($sVortext) & $i & GUICtrlRead($sNachtext)
    $sOutFileName = GUICtrlRead($sSpeicherpfad) & "\" & $i & ".jpg"
    $oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
    Next

    [/autoit]

    So sieht es derzeit aus, da ich dort GUICtrlRead eingesetzt habe musste ich dies auch bei consolewrite einsetzen.

    Die Werte die die Console auspuckt sind richtig.
    1 / 0 / 1 /
    Ebene 1 / Vortext 0 / $i = 1 / Kein Nachtext

    ~EDIT~
    Das mit den Globalen Variablen habe ich geändert, danke für den Hinweis.

    ~EDIT 2~
    Da man ja die Ebene angeben soll muss ich aus

    [autoit]

    $oDocref.ArtLayers(1).TextItem.Contents = GUICtrlRead($sVortext) & $i & GUICtrlRead($sNachtext)

    [/autoit][autoit]

    $oDocref.ArtLayers(GUICtrlRead($iTextebene)).TextItem.Contents = GUICtrlRead($sVortext) & $i & GUICtrlRead($sNachtext)

    [/autoit]


    machen, jedoch erscheint dann folgender Fehler:

    Code
    err.description is: 	No such element
    err.source is: 	Adobe Photoshop
    err.helpfile is: 	
    err.helpcontext is: 	0
    err.lastdllerror is: 	0
    err.scriptline is: 	104
    err.retcode is: 	-2147352565

    Zudem erhalte ich wenn ich aus

    [autoit]

    $oJpgSaveOptions.Quality = $iQualitaet

    [/autoit][autoit]

    $oJpgSaveOptions.Quality = GUICtrlRead($iQualitaet)

    [/autoit]


    mache diesen Fehler:

    Code
    err.description is: 	Numeric value expected
    err.source is: 	Adobe Photoshop
    err.helpfile is: 	
    err.helpcontext is: 	0
    err.lastdllerror is: 	0
    err.scriptline is: 	100
    err.retcode is: 	-2147220280

    Obwohl er ja den Wert, sprich eine Zahl erhält. In dem Fall 7.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 16:46

    Doch, diese beiden hier:

    Spoiler anzeigen
    Code
    err.number is: 	-2147352567
    err.windescription:	
    err.description is: 	Numeric value expected
    err.source is: 	Adobe Photoshop
    err.helpfile is: 	
    err.helpcontext is: 	0
    err.lastdllerror is: 	0
    err.scriptline is: 	92
    err.retcode is: 	-2147220280
    
    
    err.number is: 	-2147352567
    err.windescription:	Ungültiger Index.
    
    
    err.description is: 	No such element
    err.source is: 	Adobe Photoshop
    err.helpfile is: 	
    err.helpcontext is: 	0
    err.lastdllerror is: 	0
    err.scriptline is: 	96
    err.retcode is: 	-2147352565
    Alles anzeigen

    Ich habe nun den ersten Fehler beseitigt und zeitgleich meinen Quellcode aufgeräumt, für mich zumindest.

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ;-----GUI Elemente-----
    $GUI = GUICreate("Photoshop Thumbail Tool", 460, 183, 192, 148)
    $iStart = GUICtrlCreateInput("", 112, 15, 121, 21)
    $lStart = GUICtrlCreateLabel("Startnummer:", 13, 16, 85, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $iEnde = GUICtrlCreateInput("", 112, 39, 121, 21)
    $lEnde = GUICtrlCreateLabel("Endnummer:", 20, 40, 78, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $iTextebene = GUICtrlCreateInput("", 112, 63, 121, 21)
    $lTextebene = GUICtrlCreateLabel("Textebene:", 29, 64, 69, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $iQualitaet = GUICtrlCreateInput("", 112, 87, 121, 21)
    $lQualitaet = GUICtrlCreateLabel("Qualität:", 45, 88, 53, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $lSpeicherpfad = GUICtrlCreateLabel("Speicherpfad:", 14, 120, 84, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $sSpeicherpfad = GUICtrlCreateLabel("", 112, 120, 300, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $bSpeicherpfad = GUICtrlCreateButton("Durchsuchen", 112, 146, 75, 25)
    $sVortext = GUICtrlCreateInput("", 328, 15, 121, 21)
    $lVortext = GUICtrlCreateLabel("Vortext:", 264, 16, 50, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $sNachtext = GUICtrlCreateInput("", 328, 39, 121, 21)
    $lNachtext = GUICtrlCreateLabel("Nachtext:", 256, 40, 58, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $bSpeichern = GUICtrlCreateButton("Speichern", 288, 144, 81, 25)
    $bStarten = GUICtrlCreateButton("Starten", 376, 144, 75, 25)
    GUISetState(@SW_SHOW)

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

    ;-----Werte auslesen und ersetzen------
    $rStart = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "START", "")
    $rEnde = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", "")
    $rSpeicherpfad = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "SPEICHERPFAD", "")
    $rVortext = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", "")
    $rNachtext = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", "")
    $rTextebene = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", "")
    $rQualitaet = IniRead(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", "")
    GUICtrlSetData($iStart, $rStart)
    GUICtrlSetData($iEnde, $rEnde)
    GUICtrlSetData($sSpeicherpfad, $rSpeicherpfad)
    GUICtrlSetData($sVortext, $rVortext)
    GUICtrlSetData($sNachtext, $rNachtext)
    GUICtrlSetData($iTextebene, $rTextebene)
    GUICtrlSetData($iQualitaet, $rQualitaet)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $bSpeicherpfad
    Suche()
    Case $bSpeichern
    Speichern()
    Case $bStarten
    Starten()

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

    EndSwitch
    WEnd

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

    ;-----Funktionen-----
    Func Suche()
    $Pfadsuche = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
    GUICtrlSetData($sSpeicherpfad, $Pfadsuche)
    EndFunc ;==>Suche

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

    Func Speichern()
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "START", GUICtrlRead($iStart))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", GUICtrlRead($iEnde))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "SPEICHERPFAD", GUICtrlRead($sSpeicherpfad))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", GUICtrlRead($sVortext))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", GUICtrlRead($sNachtext))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", GUICtrlRead($iTextebene))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", GUICtrlRead($iQualitaet))
    EndFunc ;==>Speichern

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

    Func Starten()
    Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")

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

    Global $oAppref = ObjCreate("Photoshop.Application")
    If $oAppref.documents.count <> 0 Then
    Global $oDocref = $oAppref.ActiveDocument
    Else
    MsgBox(0, "", "Erst die Datei öffnen!")
    EndIf

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

    Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
    $oJpgSaveOptions.EmbedColorProfile = True
    $oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
    $oJpgSaveOptions.Matte = 1 ; psNoMatte
    $oJpgSaveOptions.Quality = GUICtrlRead($iQualitaet)

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

    Global $sOutFileName
    For $i = GUICtrlRead($iStart) To GUICtrlRead($iEnde)
    $oDocref.ArtLayers(1).TextItem.Contents = GUICtrlRead($sVortext) & $i & GUICtrlRead($sNachtext)
    $sOutFileName = GUICtrlRead($sSpeicherpfad) & "\" & $i & ".jpg"
    $oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
    Next
    EndFunc ;==>Starten

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

    Func _ErrFunc($oError)
    ; Do anything here.
    ConsoleWrite("err.number is: " & @TAB & $oError.number & @CRLF & _
    "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
    "err.description is: " & @TAB & $oError.description & @CRLF & _
    "err.source is: " & @TAB & $oError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
    "err.retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
    EndFunc ;==>_ErrFunc

    [/autoit]

    Nun ist nur noch der letztere Fehler enthalten.

    Code
    err.description is: 	No such element
    err.source is: 	Adobe Photoshop
    err.helpfile is: 	
    err.helpcontext is: 	0
    err.lastdllerror is: 	0
    err.scriptline is: 	102
    err.retcode is: 	-2147352565
  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 16:30

    Ich habe folgendes aus ObjEvent in meinen Code gepackt:

    Spoiler anzeigen
    [autoit]

    ; User's COM error function. Will be called if COM error occurs
    Func _ErrFunc($oError)
    ; Do anything here.
    ConsoleWrite("err.number is: " & @TAB & $oError.number & @CRLF & _
    "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
    "err.description is: " & @TAB & $oError.description & @CRLF & _
    "err.source is: " & @TAB & $oError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
    "err.retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
    EndFunc ;==>_ErrFunc

    [/autoit]

    Jedoch wird keine Konsole geöffnet. In den Beispiel bei ObjEvent sehe ich aber auch nicht wo diese Funktion aufgerufen werden soll.

    ~EDIT~
    Habe doch gefunden wo die Funktion aufgerufen wird.

    Folgendes wird in der Konsole ausgespuckt:

    Spoiler anzeigen

    err.number is: -2146959355
    err.windescription: Starten des Servers fehlgeschlagen

    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 80
    err.retcode is: 0

    err.number is: 169
    err.windescription: Variable must be of type 'Object'.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 82
    err.retcode is: 0

    err.number is: -2146959355
    err.windescription: Starten des Servers fehlgeschlagen

    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 88
    err.retcode is: 0

    err.number is: 169
    err.windescription: Variable must be of type 'Object'.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 89
    err.retcode is: 0

    err.number is: 169
    err.windescription: Variable must be of type 'Object'.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 90
    err.retcode is: 0

    err.number is: 169
    err.windescription: Variable must be of type 'Object'.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 91
    err.retcode is: 0

    err.number is: 169
    err.windescription: Variable must be of type 'Object'.
    err.description is:
    err.source is:
    err.helpfile is:
    err.helpcontext is: 0
    err.lastdllerror is: 0
    err.scriptline is: 92
    err.retcode is: 0

    So sieht derzeit der Code aus:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    Opt("TrayIconDebug", 1)

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

    Global $i

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

    ;-----GUI Elemente-----
    $GUI = GUICreate("Photoshop Thumbail Tool", 460, 183, 192, 148)
    $in_start = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "START", ""), 112, 13, 121, 21)
    $lbl_start = GUICtrlCreateLabel("Startnummer:", 13, 16, 85, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_end = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", ""), 112, 37, 121, 21)
    $lbl_end = GUICtrlCreateLabel("Endnummer:", 20, 40, 78, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $lbl_path = GUICtrlCreateLabel("Speicherpfad:", 14, 120, 84, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $lbl_path_2 = GUICtrlCreateLabel(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", ""), 112, 120, 300, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $btn_path = GUICtrlCreateButton("Durchsuchen", 112, 146, 75, 25)
    $in_vText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", ""), 328, 13, 121, 21)
    $lbl_vText = GUICtrlCreateLabel("Vortext:", 264, 16, 50, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_nText = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", ""), 328, 37, 121, 21)
    $lbl_nText = GUICtrlCreateLabel("Nachtext:", 256, 40, 58, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $in_layer = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", ""), 112, 61, 121, 21)
    $lbl_layer = GUICtrlCreateLabel("Textebene:", 29, 64, 69, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $cmb_quality = GUICtrlCreateInput(IniRead(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", ""), 112, 88, 121, 21)
    $lbl_quality = GUICtrlCreateLabel("Qualität:", 45, 88, 53, 20)
    GUICtrlSetFont(-1, 10, 400, 0, "Tahoma")
    $btn_save = GUICtrlCreateButton("Speichern", 288, 144, 81, 25)
    $btn_start = GUICtrlCreateButton("Starten", 376, 144, 75, 25)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $btn_path
    Search()
    Case $btn_save
    Save()
    Case $btn_start
    Start()

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

    EndSwitch
    WEnd

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

    ;-----Funktionen-----
    Func Search()
    $s_path = FileSelectFolder("Wähle bitte deinen Speicherort aus", "C:/")
    $in_path = GUICtrlSetData($lbl_path_2, $s_path)
    EndFunc ;==>Search

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

    Func Save()
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "START", GUICtrlRead($in_start))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "ENDE", GUICtrlRead($in_end))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "PFAD", GUICtrlRead($lbl_path_2))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "VORTEXT", GUICtrlRead($in_vText))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "NACHTEXT", GUICtrlRead($in_nText))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "EBENE", GUICtrlRead($in_layer))
    IniWrite(@ScriptDir & "/settings.ini", "CONFIG", "QUALITAET", GUICtrlRead($cmb_quality))
    EndFunc ;==>Save

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

    Func Start()
    Local $oErrorHandler = ObjEvent("AutoIt.Error", "_ErrFunc")
    Local $iStart = GUICtrlRead($in_start)
    Local $iEnde = GUICtrlRead($in_end)
    Local $sVortext = GUICtrlRead($in_vText)
    Local $sNachtext = GUICtrlRead($in_nText)
    Local $iTextebene = GUICtrlRead($in_layer)
    Local $sSpeicherpfad = GUICtrlRead($lbl_path_2)

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

    Global $oAppref = ObjCreate("Photoshop.Application")

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

    If $oAppref.documents.count <> 0 Then
    Global $oDocref = $oAppref.ActiveDocument
    Else
    MsgBox(0, "", "Erst die Datei öffnen!")
    EndIf

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

    Global $oJpgSaveOptions = ObjCreate("Photoshop.JPEGSaveOptions")
    $oJpgSaveOptions.EmbedColorProfile = True
    $oJpgSaveOptions.FormatOptions = 1 ; psStandardBaseline
    $oJpgSaveOptions.Matte = 1 ; psNoMatte
    $oJpgSaveOptions.Quality = GUICtrlRead($cmb_quality)

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

    Global $sOutFileName
    For $i = $iStart To $iEnde
    $oDocref.ArtLayers($iTextebene).TextItem.Contents = $sVortext & $i & $sNachtext
    $sOutFileName = $sSpeicherpfad & "\" & $i & ".jpg"
    $oDocref.SaveAs($sOutFileName, $oJpgSaveOptions, True)
    Next
    EndFunc ;==>Start

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

    Func _ErrFunc($oError)
    ; Do anything here.
    ConsoleWrite("err.number is: " & @TAB & $oError.number & @CRLF & _
    "err.windescription:" & @TAB & $oError.windescription & @CRLF & _
    "err.description is: " & @TAB & $oError.description & @CRLF & _
    "err.source is: " & @TAB & $oError.source & @CRLF & _
    "err.helpfile is: " & @TAB & $oError.helpfile & @CRLF & _
    "err.helpcontext is: " & @TAB & $oError.helpcontext & @CRLF & _
    "err.lastdllerror is: " & @TAB & $oError.lastdllerror & @CRLF & _
    "err.scriptline is: " & @TAB & $oError.scriptline & @CRLF & _
    "err.retcode is: " & @TAB & $oError.retcode & @CRLF & @CRLF)
    EndFunc

    [/autoit]

    ~EDIT 2~
    Ich weiß nun woran der Fehler liegt.
    Ich hatte die 64bit Version von Photoshop geöffnet, bei der 32bit Version funktioniert es.
    Zumindest wird das Fenster "Photoshop.JPEGSaveOptions" geöffnet. Danach passiert aber nichts.
    Er speichert die Bilder nicht automatisch, verändert hat er die Textebene auch nicht.

    Eher gesagt öffnet er das "Speichern als" Fenster.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 16:16

    Ja, Photoshop ist installiert, sonst würde es das Programm wohl kaum in den Vordergrund holen.
    Photoshop CS6 32bit und Photoshop CS6 64bit sind installiert.

    Folgender Inhalt wird in der MsgBox angezeigt:
    [Blockierte Grafik: http://puu.sh/2svPA]

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 16:09

    Das zeigt folgendes an sobald ich auf Start drücke:

    Code
    AutoIt v3 Script (neu).au3
    Line 41: $nMsg = GUIGetMsg()

    Mir ist aufgefallen dass sich das Programm nach einigen Sekunden selbst beendet.
    Die GUI ist regungslos sobald ich einmal auf Start gedrückt habe.

    Ah, jetzt wird mir ein Fehler angezeigt wenn sich das Programm selbst beendet:

    Code
    C:\Users\Kazuto\Desktop\Neuer Ordner\AutoIt v3 Script (neu).au3 (80) : ==> Variable must be of type "Object".:
    If $oAppref.documents.count <> 0 Then
    If $oAppref^ ERROR
  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 2. April 2013 um 02:23

    Nein, eine Fehlermeldung erhalte ich nicht.

    Das Programm hängt sich auf und lässt sich nur noch über den Task-Manager beenden.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 1. April 2013 um 14:26

    Ich habe vor gestern erst AutoIt neu heruntergeladen und installiert, daher denke ich mal dass es die aktuellste sein sollte.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 1. April 2013 um 14:11

    misterspeed, ja deinen Code habe ich ebenfalls getestet, wobei sich jedoch nichts veändert hat.
    Photoshop wird nach wie vor in den Vordergrund geholt, jedoch werden die Ebenen nicht bearbeitet und auch keine Bilder gespeichert.

  • Ist es möglich einen .vbs Script in AutoIt "umzuwandeln"?

    • Kazuto
    • 1. April 2013 um 01:08

    Vielen Dank für die Antworten.

    Okay, das wusste ich noch nicht misterspeed.

    autoBert, leider bleibt bei deinem Code die GUI hängen, jedoch passiert nichts in Photoshop.

    Anscheinend ist ein solches Programm noch zu komplex für mich.

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™