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

Beiträge von XovoxKingdom

  • Warum wird & in [] dargestelle?

    • XovoxKingdom
    • 1. April 2010 um 17:41

    Nehmen wir an du gibst "a" ein..., dann hast du innerhalb der Cryptfunktion den String:
    "$50765&"
    (Da du "a" damit ja ersetzt hast)
    Nun ersetzt deine Funktion weiterhin die (beiden) Zahl(en) "5" mit : "$73835&"
    dann hast du schon den String:
    "$$73835&076$73835&&"
    dann wird er als nächstes die "6", dann die "7" etc. ersetzen.
    Am Ende wird er sogar noch ALLE "&" ersetzen und die kommen bei deiner
    Funktion in jeder Substitution vor!

    Du musst also die Replace Funktionen anders anordnen und vorher den bereits verschlüsselten Teil isolieren!
    \\Edit: Natoll da bin ich wieder der Letzte ^^

  • Warum wird & in [] dargestelle?

    • XovoxKingdom
    • 1. April 2010 um 17:00

    Obwohl das Problem ja eigentlich schon durch das entfernen der Zeile geklärt seien müsste,
    würde ich doch gerne die Ursache nennen:
    Es liegt an der Funktion:

    [autoit]

    Func _CleanUp($sString)
    Return StringRegExpReplace($sString, "\[(\w+?)\]", "\1"); einfach mal das \w durch ein . ersetzen
    EndFunc ;==>_CleanUp

    [/autoit]


    Das \w+ sucht Buchstaben und Zahlen, aber nicht Sonderzeichen wie "&" und deshalb wird [&] nicht zu &!
    PS: "123" wird nicht zu "a" zurückverwandelt!

  • StringRegExp Problem

    • XovoxKingdom
    • 1. April 2010 um 16:20
    Zitat

    Das Pattern jetzt is doch genau das selbe.

    :wacko: ich weiss leider nicht was du meinst...
    Mein Pattern gibt bei string 1 (ohne "test") das folgende aus:

    Code
    [0]|anfang##123##ende
    [1]|anfang##456##ende
    [2]|anfang##789##ende


    (jeweils ohne den index "[0]|" - das kommt aus dem Arrayview)

    und bei string2 (mit "test zwischen "anfang##" und "##ende"):

    Code
    [0]|anfang##123test##ende
    [1]|anfang##456test##ende
    [2]|anfang##789test##ende

    soll er "anfang##ende" auch ausgeben?
    oder nur "anfang####ende"
    oder wie es mir so schien auf diese Art und Weise:
    "anfang##" HIER ALLES MITNEHMEN "##ende"

  • StringRegExp Problem

    • XovoxKingdom
    • 1. April 2010 um 16:11

    Probier mal diesen hier:

    [autoit]

    StringRegExp($string,"anfang[^A-z0-9]{2}[A-z0-9]+[^A-z0-9]{2}ende",3)

    [/autoit]


    Bei mir hats geklappt!
    (Ob es das ist, was du willst weiss ich jedoch nicht^^)
    \\Edit: Sofern es nach dem string zwischen JEDEM "anfang##" und "##ende" gesucht werden muss,
    dann kannst du "[^A-z0-9]{2}" mit "##" ersetzen!

  • Mouse Icon

    • XovoxKingdom
    • 31. März 2010 um 14:17
    Zitat

    aus der hilfe zu winapiloadimage:

    "Lädt ein Icon, Cursor oder Bitmap"


    icon hat .ico
    cursor hat .cur
    bitmap hat .bmp
    (Es gibt HIER einige Tools mit denen du aus Bildern (PNG, JPG etc.) icons machen kannst!

  • Absturtz

    • XovoxKingdom
    • 29. März 2010 um 13:07

    Stürzt es ab oder hängt es sich nur auf?
    Das aufhängen liegt dadran, dass er in der Funktion TEST()
    ist und auf ein Schließen-Event wartet. Da zu dem Zeitpunkt jedoch die GUI
    gelöscht ist, aber die Schleife NICHT verlassen wurde, reagiert das GUIGETMSG
    aus der GUI1 nicht.
    D.h. du musst erst die Schleife/Funktion TEST() verlassen, damit du Eventnachrichten
    von GUI1 emfangen kannst.
    Überarbeiteter Code (Achtung: Ich habe die Breite der GUIS um 100pxl erweitert):

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("1", 216, 26, 192, 124)
    $Button1 = GUICtrlCreateButton("1", 0, 0, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    Test()
    EndSwitch
    WEnd

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

    Func Test()
    #Region ### START Koda GUI section ### Form=
    $Form2 = GUICreate("2", 216, 26, 192, 124)
    $Button2 = GUICtrlCreateButton("2", 0, 0, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete($Form2)
    ExitLoop

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

    EndSwitch
    WEnd
    Endfunc

    [/autoit]
  • Iniread von Variable

    • XovoxKingdom
    • 28. März 2010 um 12:42

    Ich kann mir kaum vorstellen, dass DAS die Lösung zu deiner Frage war...
    (da ich den Zweck nicht ganz durchschaue - außer vielleicht für einen Obfuscator oder sowas ähnliches ^^)
    Wie dem auch sei, vielleicht hilft es dir trotzdem:

    [autoit]

    IniWrite("Test.ini","Stifte","Buntstift","Rot")

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

    $Read=IniReadSectionNames("Test.ini")
    If @error Then
    MsgBox(4096,"ERROR!","Datei konnte nicht gelesen werden!")
    Else
    $Sektion1 = $read[1]
    $Read=IniReadSection("Test.ini",$Sektion1)
    If @error Then
    MsgBox(4096,"ERROR!","Sektion wurde nicht gefunden!")
    Else
    $Schluessel1 = $read[1][0]
    $Wert1 = $read[1][1]
    Assign($Schluessel1,$Wert1)
    $Erg=Eval($Schluessel1)
    MsgBox(0,0,"Ergebnis: "&@TAB&@TAB&@TAB&$Erg&@CRLF&"gelesen aus der Variable: "&@TAB&$Schluessel1)
    EndIf
    EndIf

    [/autoit]
  • Browser

    • XovoxKingdom
    • 27. März 2010 um 19:20

    Stilgar hatte dafür mal eine "Testversion" gemacht. Vielleicht hilft sie dir ja:
    LINK

  • Erkennen das Schliessen eines Fensters

    • XovoxKingdom
    • 27. März 2010 um 15:50

    Also die "Lösung" von button421 funktioniert leider nicht...
    Beispiel:

    [autoit]

    Run("notepad.exe")
    WinWait("[CLASS:Notepad]")
    WinWaitClose("[CLASS:Notepad]")
    MsgBox(0,"Sind Sie sich sicher?","Tja.. ist wohl doch schon zu spät!")

    [/autoit]
  • FF.au3 include funktioniert nicht

    • XovoxKingdom
    • 27. März 2010 um 15:39

    Du musst vorher noch feststellen, ob du auch wirklich MOZREPL installiert hast!
    Anschließend musst du vielleicht das Script mit #RequireAdmin ausführen.

  • MouseClick funktioniert nicht

    • XovoxKingdom
    • 27. März 2010 um 15:36

    Manchmal ist es einfacher die SUFU zu benutzen, als sich den Kopf zu zerbrechen :whistling: !
    Dieser Fall ist sogar besonders, da die Aufklärung des SELBEN "Problems" vor weniger
    als 2 STD bereits geklärt wurde :P !
    Er steht sogar noch in der Übersicht der AutoIt.de Startseite!
    Falls du sie nicht findest: HIER ist die Lösung bereits ;) !

  • GetPixelColor GDI?

    • XovoxKingdom
    • 27. März 2010 um 15:28

    Das hier ist ein kleines Beispiel (muss natürlich noch angepasst werden):

    Spoiler anzeigen
    [autoit]

    #include <GDIPlus.au3>
    #include <Color.au3>

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

    _GDIPlus_Startup()

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

    $Bitmap = _GDIPlus_ImageLoadFromFile("Bild.jpg")
    $CLSID = _GDIPlus_EncodersGetCLSID("JPG")
    $x = 0
    $y = 0
    $Color = _GDIPlus_GetPixel($Bitmap, $x, $y)
    $HexColor = "0x"&Hex($color)
    $R=_ColorGetRed($HexColor)
    $G=_ColorGetGreen($HexColor)
    $B=_ColorGetBlue($HexColor)

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

    MsgBox(0,"Farbe:","Rot: "&@TAB&@TAB&$R&@CRLF&"Grün: "&@TAB&@TAB&$G&@CRLF&"Blau: "&@TAB&@TAB&$B&@CRLF&"Hex-Gesamtfarbe: "&@TAB&"0x"&Hex($R,2)&Hex($G,2)&Hex($B,2))

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

    Func _GDIPlus_GetPixel($hBitmap,$X,$Y)
    ; Prog@ndy
    Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapGetPixel", "ptr", $hBitmap, "int", $X, "int", $Y, "dword*", 0)
    If @error Then Return SetError(1,0,0)
    Return SetError($result[0],1,$result[4])
    EndFunc
    Func _GDIPlus_SetPixel($hBitmap,$X,$Y, $ARGB)
    ; Prog@ndy
    Local $result = DllCall($ghGDIPDLL, "int", "GdipBitmapSetPixel", "ptr", $hBitmap, "int", $X, "int", $Y, "dword", $ARGB)
    If @error Then Return SetError(1,0,0)
    Return SetError($result[0],1,$result[0]=0)
    EndFunc

    [/autoit]
  • Mouseclick wird nicht ausgeführt

    • XovoxKingdom
    • 27. März 2010 um 13:51

    Obwohl es schon "gelöst" ist, ist die Lösung wohl noch nicht gefunden.
    Ich würde mal behaupten, dass ein #RequireAdmin zu Beginn des Scripts fehlt!

  • Kann man bei Koda ein Special disign haben??

    • XovoxKingdom
    • 27. März 2010 um 12:26

    Ich war mal so frei und habe ein Screenshot von der (wahrscheinlich noch unbekannten) Hilfedatei gemacht X( :
    Die Hilfedatei gibt es HIER in Deutsch!
    Sonst kannst du auch die Englisch nehmen (Achtung: Englischkenntnisse sollte man dafür haben :whistling: )
    In Scite (dein Scripteditor) F1 drücken und den Funktionsnamen suchen.
    Am besten das Beispiel angucken und die Beschreibung!!
    Screenshot: DIREKTLINK
    PS: Versuche dich erstmal an kleinen grundlegenden sachen und mach am besten erstmal ein paar Tutorials (guck z.b. mal bei Youtube)

    Zu den Desktopkoordinaten:
    Frisch aus der HILFEDATEI:
    @DesktopWidth
    @DesktopHeight

    Nun als kleine Tüftelaufgabe:
    1.Besorge dir die deutsche Hilfe
    2.Gib die beiden Makros ein (@DesktopWidth und @DesktopHeight)
    3.Finde heraus was sie machen und teste das Beispielscript
    Viel glück!!
    //EDIT: Da war ich wohl etwas zu fix ^^ (Ich habe beim Screenshot ein "i" unterschlagen :S )
    Ich hoffe doch trotzdem, dass die Nachricht (recht) verständlich ist :D !

    Dateien

    Unbenannt-1.jpg 372,12 kB – 0 Downloads
  • Kann man bei Koda ein Special disign haben??

    • XovoxKingdom
    • 26. März 2010 um 15:48

    3fach post... Was soll das? :thumbdown:
    Ich denke, dass es notwendig sich die Scripte mal anzugucken z.b. in der Hilfedatei
    für den Anfang ist das Zeichnen auf eine GUI möglicherweise interessant:
    (Zitat aus der deuschen Hilfedatei Stichwort _GDIPlus_GraphicsCreateFromHWND):

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GDIPlus.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()
    Local $hGUI, $hGraphic, $hBrush, $hFormat, $hFamily, $hFont, $tLayout

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

    ; Erstellt eine GUI
    $hGUI = GUICreate("GDI+", 400, 300)
    GUISetState()

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

    ; Zeichnet einen String
    _GDIPlus_Startup()
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND ($hGUI)
    $hBrush = _GDIPlus_BrushCreateSolid(0x7F00007F)
    $hFormat = _GDIPlus_StringFormatCreate()
    $hFamily = _GDIPlus_FontFamilyCreate("Arial")
    $hFont = _GDIPlus_FontCreate($hFamily, 12, 2)
    $tLayout = _GDIPlus_RectFCreate(140, 110, 100, 20)
    _GDIPlus_GraphicsDrawStringEx($hGraphic, "Hallo Welt", $hFont, $tLayout, $hFormat, $hBrush)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE

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

    ; Ressourcen freigeben
    _GDIPlus_FontDispose($hFont)
    _GDIPlus_FontFamilyDispose($hFamily)
    _GDIPlus_StringFormatDispose($hFormat)
    _GDIPlus_BrushDispose($hBrush)
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_Shutdown()

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

    EndFunc ;==>_Main

    [/autoit]


    Anschließend kannst du dich mit den einzelnen Formen auseinandersetzen:
    _GDIPlus_GraphicsDrawRect
    _GDIPlus_GraphicsDrawPie
    etc.
    dann mit Brushes, Pens (um Farbe ins Spiel zu bringen) und danach Doublebuffer etc.

  • ProcessClose beim IE

    • XovoxKingdom
    • 26. März 2010 um 15:38

    Bei der "normalen" Threadansicht fehlt bei deinem Script ein Anführungszeichen VOR und NACH iexplore.exe
    Jetzt ist es sichtbar .. O.o

    [autoit]

    #RequireAdmin;Vielleicht lags auch mit dadran, dass du kein admin bist
    While 1
    $prozess = ProcessExists("iexplore.exe")
    If $prozess > 0 Then
    ProcessClose("iexplore.exe")
    EndIf
    WEnd

    [/autoit]

    (Bei der Antworterstellung sind sie jedoch vorhanden! .. komisch)

  • Öffnen mit... Frage

    • XovoxKingdom
    • 26. März 2010 um 15:30

    Du kannst vorher überprüfen, ob bereits dein Script läuft (also eine andere Instanz).
    Wenn dies der fall ist, dann musst du nurnoch das Listview erweitern (mit dem Eintrag der via
    Parameter übertragen wurde) und das Hauptscript (das ja bereits lief) updaten, sodass es auch
    auf die neuen Elemente zugreifen kann.

  • Kombinatorik Problem

    • XovoxKingdom
    • 26. März 2010 um 15:14

    Nimm das folgende Script als Ausgansmaterial, das du natürlich noch erweitern kannst:

    [autoit]

    #include <array.au3>
    $Zahl = InputBox("Zahl eingeben","Zahlen nur von 1 bis 9")
    If IsInt(Execute($Zahl)) And Execute($Zahl) < 10 And Execute($Zahl) > 0 Then
    Dim $aArray[$Zahl]
    For $i=1 To $Zahl
    $aArray[$i-1] = $i
    Next
    $New=_ArrayPermute($aArray)
    _ArrayDisplay($New)
    EndIf

    [/autoit]
  • Kalenderwoche

    • XovoxKingdom
    • 26. März 2010 um 12:57

    Das Beispiel aus der Hilfe mal als Grundgerüst genommen und (nach deinen Wünschen) erweitert:

    [autoit]

    #include <Date.au3>
    $Day=22
    $Mon=3
    $Year=2010
    Func _MY_WeekNumberISO($iYear = @YEAR, $iMonth = @MON, $iDay = @MDAY)
    Local $iWeek
    $iWeek=_WeekNumberISO($iYear, $iMonth, $iDay)
    If _DateToDayOfWeekISO($iYear,$iMonth,$Day) = 7 Then $iWeek+=1
    Return $iWeek
    EndFunc
    MsgBox(0,"Todays weeknumber","Todays weeknumber is " & _MY_WeekNumberISO($Year,$Mon,$Day))

    [/autoit]
  • Kombinatorik Problem

    • XovoxKingdom
    • 26. März 2010 um 12:46

    Es gibt dazu bereits eine Formel:

    [autoit]

    #include <Array.au3>

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

    Dim $aArray[3] = [1, 2, 3]
    $aNewArray = _ArrayPermute($aArray, ",")
    _ArrayDisplay($aNewArray, "Permutationen von 3")

    [/autoit]

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™