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

Beiträge von eukalyptus

  • Forum funktioniert nicht mehr richtig bei mir...

    • eukalyptus
    • 12. Februar 2010 um 18:26

    Kann es sein, daß du Javascript deaktiviert hast?

  • Another AutoIt PreProcessor

    • eukalyptus
    • 9. Februar 2010 um 17:24

    Ja, und zwar alle Funktionen (wie auch Variablen), die als "stringcall" vorkommen wie zb.:

    [autoit]

    GUICtrlSetOnEvent(-1, "Check_Status")

    [/autoit]

    Das werd ich aber irgendwann mal einbauen...

    thxE

    Edit:
    Das hatte ich schon eingebaut, jedoch vorerst wieder rausgenommen, weil das dann schon zu kompliziert wurde.
    Ich habe mich zu sehr auf die Erkennung "nicht eindeutiger" Funktionsaufrufe konzentriert, z.B.:

    [autoit]

    GUICtrlSetOnEvent(-1 $sPre & "Function")
    ;Oder
    GUICtrlSetOnEvent(-1 "Function" & $sPost)

    [/autoit]


    obwohl sowas eher ganz selten vorkommt...

    btw.: gibt es noch weitere Möglichkeiten um Funtionen und Variablen als String aufzurufen, als diese hier?:

    Code
    GUISetOnEvent,GUICtrlSetOnEvent,GUIRegisterMsg,HotKeySet,Execute,Eval,Assign,IsDeclared,Call,TraySetOnEvent,
    TrayItemSetOnEvent,DllCallbackRegister,AdlibRegister,AdlibUnRegister,GUICtrlRegisterListViewSort,OnAutoItExitRegister,
    OnAutoItExitUnRegister,_FTP_ProgressDownload,_FTP_ProgressUpload,_FTP_SetStatusCallback,_SQLite_Exec,ObjEvent

    thx

  • Another AutoIt PreProcessor

    • eukalyptus
    • 7. Februar 2010 um 19:10

    UEZ: Jo, das war ein Bug :whistling:
    Der Funktionsname Turn wurde mit einem Leerzeichen in das Scripting.Dictionary eingetragen...

    geänderte Version im ersten Post


    @progandy: geteilte Zeilen werden immer zusammengefügt, ist das schlecht?
    mit Strings zusammenfügen meine ich sowas:

    [autoit]

    "String1" & "String2"

    [/autoit]


    sowas kommt häufig bei Konstanten in Includes vor:

    [autoit]

    Global Const $tagNMHDR = "hwnd hWndFrom;uint_ptr IDFrom;INT Code"
    Global Const $tagNMCBEDRAGBEGIN = $tagNMHDR & ";int ItemID;ptr szText"

    [/autoit]


    $tagNMHDR wird durch seinen Wert ersetzt und schon hab ich einen geteilten String


    @nof@ker2: kannst du mir das entsprechende Script bitte zukommen lassen bzw. es reicht ein kurzes Testscript, bei dem der selbe Fehler auftritt...
    Edit: Probier doch bitte die geänderte Version aus dem ersten Post nochmal

    ---

    btw.: Die Variable $CmdLine darf natürlich nicht umbenannt werden!
    gibt es noch weitere solche Variablen, die von Autoit reserviert sind?

    lgE

  • Another AutoIt PreProcessor

    • eukalyptus
    • 7. Februar 2010 um 11:43

    Ich habe mich mal an einer Art Preprocessor für Autoit versucht.

    Neue Version

    Diese Version läuft etwas langsamer als die alte, dafür ist die Statusanzeige vielfach schneller (GDI+ statt RichEdit)
    Zusätzlich wird auch noch ein LogFile erstellt.

    Aufruf via CMD-Line und Run_Before ist auch möglich.
    #AutoIt3Wrapper_Run_Before=""%autoitdir%\aapp.exe" "%in%""
    (es wird auch ein Backup erstellt)

    Der PreProcessor
    .) fügt alle Includes ein
    .) entfernt alle überflüssigen Funktionen
    .) ersetzt Global Const durch ihren Wert
    .) entfernt überflüssige Global Const
    .) benennt Funktionen und Variablen in ganz kurze Namen um
    .) berechnet einfache mathematische Ausdrücke
    .) kombiniert & _ geteilte Zeilen (außer die Zeilenlänge würde 4095 Zeichen übersteigen)
    .) kombiniert & geteilte Strings
    .) optimiert IF und CASE
    .) wandelt Zahlen in Hex um

    Einige Probleme hatte ich mit den Stringcalls, also Funktionen bzw. Variablen die via String aufgerufen werden.
    Wenn ein String erwartet wird, jedoch nur eine Variable gefunden wird:

    [autoit]

    $Str='_Func'
    Call($Str)

    [/autoit]


    dann wird in diesem Fall keine Funktion entfernt oder umbenannt, denn $Str könnte den Namen jeder Funktion enthalten!

    oft verwendet man Execute nur um 2 Strings zusammenzufügen oder sonst was, jedoch nicht um eine Funktion oder Variable aufzurufen.
    deshalb gibt es die Funktion Execute is used to call functions/variables
    z.B.: bei Unicalc Grafik von Ludwig kann man diese Optionen deaktivieren, da sonst keine Funktionen entfernt bzw. umbenannt werden würden...
    jedoch beim Hilfebeispiel _FTP_SetStatusCallback muß man diese Optionen aktiviert lassen, ansonsten ist das fertige Script nicht lauffähig


    ---

    Kann mir jemand helfen die englischen Sätze richtig und gut zu formulieren?!
    mein Englisch ist leider sehr bescheiden ;)
    thx

    lgE

    Dateien

    AAPP.au3 125,97 kB – 828 Downloads
  • gdi plus

    • eukalyptus
    • 27. Januar 2010 um 18:34

    Das sollte so in etwa gehen:

    [autoit]

    $fftstruct = DllStructCreate("float[128]")
    _BASS_ChannelGetData($hMusicHandle, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
    For $i = 0 To 127
    $fft = Round(DllStructGetData($fftstruct, 1, $i + 1) * 100)
    Next

    [/autoit]


    Nicht getestet!

  • eq

    • eukalyptus
    • 24. Januar 2010 um 22:44

    Hi

    bei meinem Audio-Recorder hab ich sowas eingebaut:
    http://www.autoitscript.com/forum/index.php?showtopic=86639&view=findpost&p=621195

    du mußt halt nur dir grafische Darstellung etwas "optimieren" :D

  • Oscar hat Geburtstag.

    • eukalyptus
    • 18. Januar 2010 um 00:57

    Herzlichen Glückwunsch! :thumbup:

  • GDI - Png drehen und auf Hintergrund zeichen

    • eukalyptus
    • 10. Januar 2010 um 21:10

    Du mußst bei _GDIPlus_GraphicsSetTransform als ersten Parameter ein Grafikhandle angeben und kein Bildhandle

    probiers mal so:

    [autoit]

    _GDIPlus_GraphicsSetTransform($hBack_Buffer, $hMatrix)

    [/autoit]

    mfg
    E

  • StringRegExpReplace Nummerierung

    • eukalyptus
    • 10. Januar 2010 um 04:26

    Danke

    So ähnlich mach ich das eh schon.

    Das Problem ist, daß es sich dabei um tausende Stellen handelt und es sehr auf die Geschwindigkeit ankommt!
    Ein Stringregexp würde das in wenigen Sekunden schaffen, während meine momentane Lösung schon im Minutenbereich liegen kann...
    Da ja sehr oft Stringreplace aufgerufen wird!

    Edit
    Du hast mich trotzdem auf eine Idee gebracht und die ist viel schneller!
    das reicht für meine Zwecke erstmal:

    [autoit]

    $string = '"Test1" Blablabla "Test55" Blablabla "Test23"'
    $string = StringRegExpReplace($string, '(".+?")', Chr(1))
    $temp = StringSplit($string, Chr(1))
    $string = ""
    For $i = 1 To $temp[0] - 1
    $string &= $temp[$i] & '#' & $i & '#'
    Next
    $string &= $temp[$temp[0]]
    MsgBox(0, 0, $string)

    [/autoit]

    thx
    E

  • StringRegExpReplace Nummerierung

    • eukalyptus
    • 9. Januar 2010 um 20:39

    Hi

    Ich möchte alle ".."-Stellen eines Strings mit einer fortlaufenden Nummer ersetzen

    aus:
     "Test1" Blablabla "Test55" Blablabla "Test23"
    soll das werden:
     #1# Blablabla #2# Blablabla #3#

    gibts da einen Parameter, den ich beim StringRegExpReplace - Replacestring verwenden kann?
    so ähnlich, wie back-references...

    thx
    E

  • Organize Includes

    • eukalyptus
    • 3. Januar 2010 um 10:55

    Oh, wie peinlich :D

  • Organize Includes

    • eukalyptus
    • 3. Januar 2010 um 09:58

    bei mir sind die Buttons "organize includes", "open ini", "renew ini" und "exit" unten.

    Und sie sind zur Hälfte von der Statusleiste verdeckt; Wenn ich den Style $WS_SIZEBOX einfüge (damit ich OI verwenden kann) dann sind die Buttons komplett von der Statusleiste verdeckt, kommen jedoch zum Vorschein, wenn man die Fenstergröße leicht verändert...

    Ich hab Win 7 auf dem Netbook

  • DllCall Fragen

    • eukalyptus
    • 3. Januar 2010 um 09:46

    so sollte es gehn:

    [autoit]

    $Open = DllOpen ("C:\Test.dll")
    $Result = DllCall ($Open, "int", "Rechnen", "int", 50, "int", 50)
    MsgBox (64, "Test", $Result[0])

    [/autoit]
  • Organize Includes

    • eukalyptus
    • 3. Januar 2010 um 04:00

    Hi

    Das Fenster ist leider etwas zu groß für die typische Netbookauflösung von 1024x600px und läßt sich auch nicht verkleinern, sodaß man nicht an die Buttons kommt.
    Vielleicht kannst du ja da auch noch was machen...

    mfgE

  • Monochromzeichnen eines Bildes

    • eukalyptus
    • 15. Dezember 2009 um 23:05

    Ein ganz simles Graustufen-Beispiel hätte ich noch hier:
    Deutsche Hilfe - Funktionen ohne Beispiel

    mfgE

  • Doppelgeburtstag

    • eukalyptus
    • 28. November 2009 um 05:52

    Happy birthday euch beiden!

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Dateien

    Happy-Birthday-Peanuts-Gang.jpg 33,17 kB – 0 Downloads
  • µit - Dezember

    • eukalyptus
    • 24. November 2009 um 13:17

    Ich hab jetzt mal etwas herumprobiert und muß sagen, daß diese Aufgabe ziemlich heftig ist!

    Wenn man nur die Global Const durch ihre Werte ersetzen will oder die Namen der Funktionen kürzen, dann muß man bereits unzählige Möglichkeiten berücksichtigen!

    Folgendes Script zeigt ein paar dieser Probleme:

    Spoiler anzeigen
    [autoit]

    #include "Winapi.au3"
    ;#include 'Winapi.au3'
    ;#include <Winapi.au3>
    $Test = '#include "Winapi.au3"'
    $Test = "#include 'Winapi.au3'"
    Global Const $Const1 = 0x01
    Global Const $Const2 = $Const1 + 0x01
    Global Const $Const3 = (0x01 + 0x02), $Const4 = "0x04" & '0x40'
    Global Const $Const5[2][2] = [[0x05, 0x05],[0x05, 0x05]], $Const6[2][2] = [["Global Const $Const1 = 0x01", $Const1],[$Const1, BitOR(BitAND(1, 2), 3)]], $Const8 = BitOR(0, 1, 2)
    Global Const $Const7 = "Global Const $Const1 = 0x01"
    Global Const $Const1Neu = "Run('Notepad.exe')"
    Global Const $Const9 = 0x01, _
    $Const10 = 0x02

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

    ConsoleWrite($Const1 & @LF)
    ConsoleWrite($Const2 & @LF)
    ConsoleWrite($Const4 & @LF)
    ConsoleWrite($Const6[0][0] & @LF)
    ConsoleWrite($Const7 & @LF)
    ConsoleWrite($Const1Neu & @LF)
    ConsoleWrite(Eval("Const3") & @LF)

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

    ConsoleWrite(Eval("Con" & "st3") & @LF)

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

    $Test="3"
    ConsoleWrite(Eval("Const" & $Test) & @LF)

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

    ConsoleWrite(Execute("$Const5[0][0]") & @LF)
    ConsoleWrite("Vorher " & _
    " Nachher")

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

    Opt("GuiOnEventMode", 1)

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

    $hGui = GUICreate("")
    GUISetOnEvent(-3, "_EXIT")
    For $i = 1 To 3
    GUICtrlCreateButton($i, 10, $i * 30, 100, 20)
    GUICtrlSetOnEvent(-1, "_Func" & $i)
    Next
    GUISetState()

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

    Call("_Function1")

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

    Call("_Fun" & "cti" & "on1")

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

    $Test="1"
    Call("_Function" & $Test)

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

    For $i = 1 To 3
    Call("_Func" & $i)
    Next

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

    While 1
    Sleep(1000)
    WEnd

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

    Func _Func1()
    ConsoleWrite("Func1" & @LF)
    EndFunc

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

    Func _Func2()
    ConsoleWrite("Func2" & @LF)
    EndFunc

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

    Func _Func3()
    ConsoleWrite("Func3" & @LF)
    EndFunc

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

    Func _Function1()
    ConsoleWrite("Function1" & @LF)
    _Function2()
    EndFunc

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

    Func _Function2()
    ConsoleWrite("Function2" & @LF)
    _Function3()
    EndFunc

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

    Func _Function3()
    ConsoleWrite("Function3" & @LF)
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]

    Sollte dieser µIt tatsächlich zustandekommen, dann wird 1 Monat wohl nicht ausreichen ;)

    mfgE

  • _Au3Optim (Inline-Funktionen und Code-Optimierung)

    • eukalyptus
    • 21. November 2009 um 22:47

    Einzeilige If-Then sind bei weitem am schnellsten!

  • Google öffnet die Quellen von Chrome OS

    • eukalyptus
    • 20. November 2009 um 08:23

    goldene Zukunft oder Horrorvision?

    http://futurezone.orf.at/stories/1632214

    mfgE

  • Fenster in GUI einbinden

    • eukalyptus
    • 15. November 2009 um 21:52

    Hilft dir das weiter?

    [ offen ] Programm.exe in einem AutoIt fenster ausführen

    mfgE

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™