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

Beiträge von James

  • AutoIt Script Info

    • James
    • 6. Januar 2012 um 20:36

    BugFix :
    Danke, das mach ich demnächst mal, mittlerweile läuft das Ganze ja (wenn auch recht umständlich).

    Falls noch irgendwer Verbesserungsvorschläge oder sonstiges hat, nur her damit.
    Ich werde zwar in Zukunft um einiges weniger Zeit haben, werde aber versuchen das Skript weiter zu verbessern.

  • AutoIt Script Info

    • James
    • 5. Januar 2012 um 09:09
    Zitat von Death

    Allerdings Bug gefunden:
    wenn ich eine globale Variable in einer Funktion nutze, wird diese Variable unter der Funktion aufgeführt und nicht also globale Variable
    Weiß jetzt nichts obs daran(^^) liegt, aber ich hab ungefähr 50 global variablen, allerdings werden nur 7 aufgeführt


    Jetzt nicht mehr... ;)

  • Datumsformat wird nicht richtig übernommen

    • James
    • 4. Januar 2012 um 14:40

    Bei Excel ist ein Datum doch die Anzahl an Sekunden seit dem 01.01.1900, oder lieg ich da falsch?
    Vielleicht hat es was damit zu tun?

  • Zahlensystem Umrechner

    • James
    • 4. Januar 2012 um 10:12

    Sehr gut, nur eine Anmerkung:
    "Bereit" schreibt man mit einem "r"
    Ansonsten, wäre es möglich, dass die anderen Basen (über 36) auch noch funktionieren?

  • AutoIt Script Info

    • James
    • 4. Januar 2012 um 09:33

    Stimmt, das ist aber weniger ein Bug, als einfach nur ein Fehler in meinem doch sehr einfach gehaltenen Skript.
    Wenn jemand einen Vorschlag hat, wie man das am einfachsten lösen kann, nur her damit...

    Edit:
    Lösung gefunden, ich baus demnächst mal ein.

  • AutoIt Script Info

    • James
    • 3. Januar 2012 um 10:29

    Version 1.2 ist jetzt auch fertig.
    - es werden immernoch keine Includes verwendet
    - man sieht sofort wie viele Includes, Funktionen und Variablen verwendet werden
    - die Variablen werden den Funktionen zugeordnet
    - die Variablen, die bei den Funktionen stehen, stehen *nicht* am Ende

    Spoiler anzeigen
    Diff
    ---------------------------------------
    - AutoIt Script Info 1.2 by James1337 -
    ---------------------------------------
    
    
    ++++++++++++++++++++++++++++++++++++++++
    - Functions (7):
    + _AutoIt3ScriptGetFunctions
    Variables (2):
    	Code
    	Functions
    
    
    + _AutoIt3ScriptGetIncludes
    Variables (2):
    	Code
    	Includes
    
    
    + _AutoIt3ScriptGetVariables
    Variables (2):
    	Code
    	Variables
    
    
    + _AutoIt3ScriptGetVariablesInFunction
    Variables (5):
    	a
    	b
    	Code
    	Function
    	Variables
    
    
    + _Delete
    Variables (7):
    	Array
    	Array1
    	Array2
    	c
    	f
    	i
    	j
    
    
    + _Join
    Variables (5):
    	Array1
    	Array2
    	i
    	u1
    	u2
    
    
    + _Sort
    Variables (8):
    	1
    	2
    	a2
    	Array
    	Cleanup
    	i
    	j
    	u
    ++++++++++++++++++++++++++++++++++++++++
    
    
    ++++++++++++++++++++++++++++++++++++++++
    - Variables (6):
    + 1
    + a
    + CmdLine
    + File
    + Script
    + VariablesInFunction
    ++++++++++++++++++++++++++++++++++++++++
    Alles anzeigen
  • AutoIt Script Info

    • James
    • 2. Januar 2012 um 22:21
    Zitat von Death

    Wäre es vielleicht möglich das man die Variablen innerhalb der Funktionen/Global anzeigt?


    So, die erste Hälfte hab ich jetzt schon mal gemacht:

    Spoiler anzeigen
    Diff
    ---------------------------------------
    - AutoIt Script Info 1.1 by James1337 -
    ---------------------------------------
    
    
    ++++++++++++++++++++++++++++++++++++++++
    - Functions:
    + _AutoIt3ScriptGetFunctions
    	Code
    	Functions
    + _AutoIt3ScriptGetIncludes
    	Code
    	Includes
    + _AutoIt3ScriptGetVariables
    	Code
    	Variables
    + _AutoIt3ScriptGetVariablesInFunction
    	a
    	b
    	Code
    	Function
    	Variables
    + _Sort
    	1
    	2
    	a2
    	Array
    	Cleanup
    	i
    	j
    	u
    ++++++++++++++++++++++++++++++++++++++++
    
    
    ++++++++++++++++++++++++++++++++++++++++
    - Variables:
    + 1
    + 2
    + a
    + a2
    + Array
    + b
    + Cleanup
    + CmdLine
    + Code
    + File
    + Function
    + Functions
    + i
    + Includes
    + j
    + Script
    + u
    + Variables
    + VariablesInFunction
    ++++++++++++++++++++++++++++++++++++++++
    Alles anzeigen
  • AutoIt Script Info

    • James
    • 2. Januar 2012 um 21:41

    Möglich ist grundsätzlich ersteinmal alles.
    Wenn bei Variablen immer Global/Local steht wäre das sogar (fast) einfach, und innerhalb der Funktionen... mal sehen... ich versuchs morgen mal.

  • XML-Datei auslesen

    • James
    • 2. Januar 2012 um 20:22

    Oder dann doch eher

    [autoit]

    StringRegExp

    [/autoit]


    MfG, James

  • AutoIt Script Info

    • James
    • 2. Januar 2012 um 19:56

    So... Version 1.1 ist fertig, und ich bin endlich _ArrayUnique losgeworden.

    Und morgen mach ich wirklich mal einen billigen Obfuscator und bau das selbst mal in einen GUI.

  • MsgBox statt abbruch bei Error in Function

    • James
    • 2. Januar 2012 um 19:17

    Die Array immer mit

    [autoit]

    IsArray

    [/autoit]

    und

    [autoit]

    UBound

    [/autoit]

    überprüfen, dann kommen auch keine Fehler.
    MfG, James

  • AutoIt Script Info

    • James
    • 2. Januar 2012 um 16:09

    Auf Anfrage von darius83 hier mal ein kleines Skript, das einem die in einem Skript verwendeten Includes, definierten Funktionen und Variablen (ordentlich) formatiert in die Konsole ausgibt:

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon

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

    Local $File, $Script, $i, $j
    If $CmdLine[0] = 1 Then
    $Script = FileRead($CmdLine[1])
    Else
    $File = FileOpenDialog('', @WorkingDir, 'AutoIt v3 Script (*.au3)')
    If @error Then
    Exit
    EndIf
    $Script = FileRead($File)
    EndIf

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

    ConsoleWrite('---------------------------------------' & @CRLF)
    ConsoleWrite('- AutoIt Script Info 1.2 by James1337 -' & @CRLF)
    ConsoleWrite('---------------------------------------' & @CRLF & @CRLF)

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

    Local $Includes = _AutoIt3ScriptGetIncludes($Script)
    If Not @error Then
    _Sort($Includes)
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF)
    ConsoleWrite('- Includes (' & UBound($Includes, 1) & '):' & @CRLF)
    For $i = 0 To UBound($Includes)-1 Step 1
    ConsoleWrite('+ ' & $Includes[$i] & @CRLF)
    Next
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF & @CRLF)
    EndIf

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

    Local $Functions = _AutoIt3ScriptGetFunctions($Script), $VariablesInFunction
    If Not @error Then
    _Sort($Functions)
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF)
    ConsoleWrite('- Functions (' & UBound($Functions, 1) & '):' & @CRLF)
    For $i = 0 To UBound($Functions)-1 Step 1
    ConsoleWrite('+ ' & $Functions[$i] & @CRLF)
    $VariablesInFunction = _AutoIt3ScriptGetVariablesInFunction($Script, $Functions[$i])
    If Not @error Then
    _Sort($VariablesInFunction, True)
    ConsoleWrite('Variables (' & UBound($VariablesInFunction, 1) & '):' & @CRLF)
    For $j = 0 To UBound($VariablesInFunction)-1 Step 1
    ConsoleWrite(@TAB & $VariablesInFunction[$j] & @CRLF)
    Next
    If ($i < UBound($Functions)-1) Then
    ConsoleWrite(@CRLF)
    EndIf
    EndIf
    Next
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF & @CRLF)
    EndIf

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

    Local $Variables = _AutoIt3ScriptGetVariablesOutsideFunction($Script)
    If Not @error Then
    _Sort($Variables, True)
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF)
    ConsoleWrite('- Variables (' & UBound($Variables, 1) & '):' & @CRLF)
    For $i = 0 To UBound($Variables)-1 Step 1
    ConsoleWrite('+ ' & $Variables[$i] & @CRLF)
    Next
    ConsoleWrite('++++++++++++++++++++++++++++++++++++++++' & @CRLF & @CRLF)
    EndIf

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

    Func _Sort(ByRef $Array, $Cleanup=False)
    Local $i, $j, $1, $2
    For $i = 1 To UBound($Array, 1)-1 Step 1
    If $Array[$i] < $Array[$i-1] Then
    For $j = $i To 1 Step -1
    $1 = $Array[$j]
    $2 = $Array[$j-1]
    If $1 < $2 Then
    $Array[$j] = $2
    $Array[$j-1] = $1
    Else
    ExitLoop
    EndIf
    Next
    EndIf
    Next
    If $Cleanup Then
    Local $a2[1] = [$Array[0]], $u
    For $i = 1 To UBound($Array, 1)-1 Step 1
    If ($Array[$i] <> $Array[$i-1]) And ($Array[$i] <> '') Then
    $u = UBound($a2, 1)
    ReDim $a2[$u+1]
    $a2[$u] = $Array[$i]
    EndIf
    Next
    $Array = $a2
    EndIf
    EndFunc

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

    ; by James1337
    Func _AutoIt3ScriptGetIncludes($Code)
    Local $Includes = StringRegExp($Code, '(?i)(?:\#include [\<"\''])([\w\. ]{1,})(?:[\>"\''])', 3)
    If @error Then
    SetError(@error)
    Return 0
    EndIf
    Return $Includes
    EndFunc
    Func _AutoIt3ScriptGetFunctions($Code)
    Local $Functions = StringRegExp($Code, '(?i)(?:Func[\s]+)([\w]{1,})(?:[\s]*\()', 3)
    If @error Then
    SetError(@error)
    Return 0
    EndIf
    Return $Functions
    EndFunc
    Func _AutoIt3ScriptGetVariables($Code)
    Local $Variables = StringRegExp($Code, '(?:\$)([\w]{1,})(?:[\s\[\.\=\+\-\*\/\^\,\)])', 3)
    If @error Then
    SetError(@error)
    Return 0
    EndIf
    Return $Variables
    EndFunc

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

    Func _AutoIt3ScriptGetVariablesInFunction($Code, $Function)
    $Code = StringRegExpReplace($Code, '(?i)\n[\s]*Func[\s]+' & $Function & '[\s]*\(', BinaryToString('0x0101010101'), 0)
    $Code = StringRegExpReplace($Code, '(?i)\n[\s]*EndFunc', BinaryToString('0x1010101010'), 0)
    Local $a = StringInStr($Code, BinaryToString('0x0101010101'), 2, 1)
    Local $b = StringInStr($Code, BinaryToString('0x1010101010'), 2, 1, $a)
    If Not(($a > 0) And ($b > $a)) Then
    SetError(1337)
    Return 0
    EndIf
    $Function = StringMid($Code, $a, $b-$a+5)
    Local $Variables = _AutoIt3ScriptGetVariables($Function)
    SetError(@error)
    Return $Variables
    EndFunc

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

    Func _AutoIt3ScriptGetVariablesOutsideFunction($Code)
    Local $Functions = _AutoIt3ScriptGetFunctions($Code), $i, $a, $b
    If Not @error Then
    For $i = 0 To UBound($Functions)-1 Step 1
    $Code = StringRegExpReplace($Code, '(?i)\n[\s]*Func[\s]+' & $Functions[$i] & '[\s]*\(', BinaryToString('0x0101010101'), 0)
    $Code = StringRegExpReplace($Code, '(?i)\n[\s]*EndFunc', BinaryToString('0x1010101010'), 0)
    $a = StringInStr($Code, BinaryToString('0x0101010101'), 2, 1)
    $b = StringInStr($Code, BinaryToString('0x1010101010'), 2, 1, $a)
    If (($a > 0) And ($b > $a)) Then
    $Code = StringReplace($Code, StringMid($Code, $a, $b-$a+5), '', 0, 1)
    EndIf
    Next
    EndIf
    Local $Variables = _AutoIt3ScriptGetVariables($Code)
    SetError(@error)
    Return $Variables
    EndFunc

    [/autoit]

    MfG James

  • $ wird nicht gesendet

    • James
    • 2. Januar 2012 um 10:55
    Zitat von Adamkaller

    könnte mir einer sagen warum er in zeile 375 das value B nicht schreibt?

    Gute Frage, dein Skript wird nur bis Zeile 331 angezeigt.

    MfG, James

    Edit: zu langsam

  • Zeilennummern in kompilierten Scripts auch mit Obfuscator nicht nachvollziehbar

    • James
    • 2. Januar 2012 um 10:37

    Dürfte meiner Meinung nach kein Problem darstellen:
    Ich habs zwar nicht getestet, aber versuch mal folgendes:
    Bau nach allen Includes in dem Obfuscatorscript mal folgendes ein:

    [autoit]

    Global Const $LineNumberDifference = echte Zeilennummer - @ScriptLineNumber

    [/autoit]

    Und statt echte Zeilennummer nimmst du die, die in SciTE steht.
    Diesen Wert kannst du dann weiterverwenden, und solltest du dir auch in die Console oder so ausgeben lassen (oder in eine Datei in @TempDir). Wenn dann wieder eine Fehlermeldung kommt, addierst du zu der Zeilennummer den Wert aus $LineNumberDifference und dann müsstest du eigentlich die Zeile erhalten, in der der Fehler wirklich ist.

    MfG, James C.

  • Java-Objekte in GUI darstellen?

    • James
    • 31. Dezember 2011 um 19:02

    Hab mal schnell die Registry durchsucht und nur

    Code
    HKEY_CLASSES_ROOT\JavaPlugin

    gefunden, das ist aber leider kein COM-Objekt.

  • Java-Objekte in GUI darstellen?

    • James
    • 31. Dezember 2011 um 18:53

    Du könntest das Java-Applet in HTML einbetten und dann mit dem IE in dem GUI darstellen.
    MfG, James C.

  • Jahreswechsel

    • James
    • 31. Dezember 2011 um 13:36

    Auch von mir einen guten Rutsch. Auf dass die Welt nicht untergeht!

  • Löschen einer .dll bei Scriptende funktioniert nicht...

    • James
    • 29. Dezember 2011 um 17:32

    Versuchs mal mit

    [autoit]

    FileSetAttrib($Dll, "-RASHNOT")

    [/autoit]


    Vielleicht liegt das Problem ja an irgendeinem Zugriffsrecht.

    MfG, James

  • Pipette

    • James
    • 29. Dezember 2011 um 17:15

    Nettes Skript, erinnert mich an frühere Versionen von Paint...

    Spoiler anzeigen
    [autoit]

    $Show = False
    HotKeySet('{F1}', '_Toggle')
    HotKeySet('{ESC}', '_Exit')
    Do
    If $Show Then
    ToolTip(Hex(PixelGetColor(MouseGetPos(0), MouseGetPos(1))))
    EndIf
    Until False
    Func _Toggle()
    $Show = Not $Show
    If Not $Show Then
    ToolTip('')
    EndIf
    EndFunc
    Func _Exit()
    Exit
    EndFunc

    [/autoit]
  • Batch datei in Autoit Skript implementieren

    • James
    • 29. Dezember 2011 um 13:51

    Oder schau dir mal den Befehl

    [autoit]

    _RunDOS

    [/autoit]

    an.

    MfG, James

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™