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

Beiträge von Cartan12

  • array vor dem schreiben in eine datei filtern.

    • Cartan12
    • 3. Juni 2010 um 22:29

    Aha...
    Kannst mal die .ini anhängen?

  • Frage an GDIPlus Users!

    • Cartan12
    • 3. Juni 2010 um 22:24

    Bin trotzdem dafür, das du die Tut's nochmal durcharbeitests, damit du es auch dauerhaft verstehst...
    Die Lösung kennste ja jetzt 8o

  • Frage an GDIPlus Users!

    • Cartan12
    • 3. Juni 2010 um 22:22

    Wenn ich dir einfach helfen würde, würdst dus glaube ich nicht kapieren...
    Schau dir am besten nochmal Ubuntus oder Seubo's Tut an.
    Nur so viel: Du musst herausfinden, wann das ganze neu gezeichnet werden soll (WM_PAINT) ;)

  • array vor dem schreiben in eine datei filtern.

    • Cartan12
    • 3. Juni 2010 um 22:20

    Komisch 8|
    Na ja, so funzts:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    _listchange()
    Func _listchange()
    Global $list123, $hfile, $array2[1], $searcharry, $y2, $z2, $i2, $buffer
    $list123 = Iniread("serverlist.ini" , "serverlist", "servers","")
    $list123 = StringRegExpReplace($list123, '\(.+?\)', '')
    $array2 = StringSplit($list123, '|')
    _ArrayDisplay($array2)
    Do
    for $y2=0 to $array2[0]
    $searcharry = _ArraySearch($array2,"")
    _ArrayDelete($array2,$searcharry)
    If $searcharry == -1 Then ExitLoop
    Next
    Until $searcharry==-1
    _ArrayDisplay($array2)

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

    ;das hier geht nicht:
    Do
    for $z2=0 to $array2[0]
    $searcharry2 = _ArraySearch($array2,"bra")
    _ArrayDelete($array2,$searcharry2)
    Next
    Until $searcharry2=-1

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

    _ArrayDisplay($array2)
    Local $buffer = ''
    for $i2 = 0 to UBound($array2)-1
    $buffer &= $array2[$i2] & @CRLF
    Next
    FileWrite(@ScriptDir & 'temp.txt', $buffer)
    EndFunc

    [/autoit]

    doch wieder mit der Do-Schleife ^^

  • array vor dem schreiben in eine datei filtern.

    • Cartan12
    • 3. Juni 2010 um 22:12

    So klappts:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    _listchange()
    Func _listchange()
    Global $list123, $hfile, $array2[1], $searcharry, $y2, $z2, $i2, $buffer
    $list123 = Iniread("serverlist.ini" , "serverlist", "servers","")
    $list123 = StringRegExpReplace($list123, '\(.+?\)', '')
    $array2 = StringSplit($list123, '|')
    _ArrayDisplay($array2)
    While 1
    for $y2=0 to $array2[0]
    $searcharry = _ArraySearch($array2,"")
    _ArrayDelete($array2,$searcharry)
    If $searcharry == -1 Then ExitLoop
    Next
    WEnd
    _ArrayDisplay($array2)

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

    ;das hier geht nicht:
    Do
    for $z2=0 to $array2[0]
    $searcharry2 = _ArraySearch($array2,"bra")
    _ArrayDelete($array2,$searcharry2)
    Next
    Until $searcharry2=-1

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

    _ArrayDisplay($array2)
    Local $buffer = ''
    for $i2 = 0 to UBound($array2)-1
    $buffer &= $array2[$i2] & @CRLF
    Next
    FileWrite(@ScriptDir & 'temp.txt', $buffer)
    EndFunc

    [/autoit]

    Der konnte die Do Schleife nicht verlassen
    Jetzt hab ich sie mal durch ne While-Schleife ersetzt ^^

    Edit: Oh, merk gerade, das ich ne'n Doppelpost gemacht hab :S
    Na ja, sorry :D

  • array vor dem schreiben in eine datei filtern.

    • Cartan12
    • 3. Juni 2010 um 22:10

    Ist ja auch klar...
    Also erstmal musst du alle $Array2[1] durch $Array[0] ersetzen
    Außerdem löscht

    [autoit]

    o
    for $y2=0 to $array2[0]
    $searcharry = _ArraySearch($array2,"")
    _ArrayDelete($array2,$searcharry)
    Next
    Until $searcharry==-1

    [/autoit]

    schleießlich den ganzen Inhalt des Array/den ganzen Array ^^

  • button in einer schleife abfragen.

    • Cartan12
    • 3. Juni 2010 um 21:46
    Zitat von WhiteLion
    [autoit]

    Global $Quit2read = -1
    While 1
    Sleep(10)
    $msg = GUIGetMsg()
    $sw_onoff = 0
    Switch $msg
    Case $button ;musste mit der ID des Buttons erstzen...
    $Quit2read = GUICtrlRead($Quit2)
    if $Quit2read <> -1 thrn _exit()
    EndSwitch

    [/autoit]
    Alles anzeigen

    Seh da keinen Unterschied zu meinem, aber was solls ^^
    (Man, am Schluss hab ich wieder nicht existierende Fehler gefunden...)
    Edit: hast zu spät eddiert :P

  • button in einer schleife abfragen.

    • Cartan12
    • 3. Juni 2010 um 21:36
    Zitat
    [autoit]

    ;geht nicht, springt immer rein
    Case $msg = $Quit2
    _exit()

    [/autoit]

    Das geht auch nicht in einer Switch-Schleife, sonder nur in einer Select-Schleife...
    Du musst einfach das $msg weglassen:

    [autoit]

    ;geht nicht, springt immer rein
    Case $Quit2
    _exit()

    [/autoit]

    Edit: Ach ne, das Problem ist was anderes ^^
    Versuchs mal so:

    [autoit]

    ;geht nicht, springt immer rein
    Case $msg == $Quit2
    _exit()

    [/autoit]
  • Ich schrubb hier nur :o

    • Cartan12
    • 3. Juni 2010 um 21:24

    Von mir auch ^^

  • button in einer schleife abfragen.

    • Cartan12
    • 3. Juni 2010 um 21:15

    Ich erkenne den Sinn dieses Scripts noch nicht...
    Kannst du bitte mal das GANZE Script posten ?
    Sonst evtl. so:

    [autoit]

    Global $Quit2read = -1
    While 1
    Sleep(10)
    $msg = GUIGetMsg()
    $sw_onoff = 0
    Switch $msg
    Case $button ;musste mit der ID des Buttons erstzen...
    $Quit2read = GUICtrlRead($Quit2)
    if $Quit2read <> -1 Then
    _exit()
    EndIf
    EndSwitch

    [/autoit]
  • Gdi+ Tutorial [Part 5]

    • Cartan12
    • 3. Juni 2010 um 19:18

    Bei einigen AutoIt-Codes ist die Formatierung sehr schlecht...
    Ich hab sie mal verbessert:

    Beispiel bewegliches Viereck(ohne Buffer)
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>;das include
    #include <Misc.au3>

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

    OnAutoItExitRegister("_end") ; die Funktion _end am Ende des Scriptes ausführen

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

    $x = 0;x und y deklarieren
    $y = 0

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

    $Gui = GUICreate("Beispiel", 179, 163, 100,100)
    GUISetState(@SW_SHOW)

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

    _GDIPlus_Startup() ;Gdi starten

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

    $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\figur.gif")
    $height = _GDIPlus_ImageGetHeight($figur)
    $width = _GDIPlus_ImageGetWidth($figur)
    $verhaelnis = $height / $width
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25)
    $x -= 1
    Case _IsPressed(26)
    $y -= 1
    Case _IsPressed(27)
    $x += 1
    Case _IsPressed(28)
    $y += 1
    EndSelect

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

    _GDIPlus_GraphicsDrawImageRect($graphic,$figur,$x,$y,20,20 * $verhaelnis) ;die Figur wird an der neuen Position gezeichnet
    WEnd

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

    Func _end();die Exit funktion
    _GDIPlus_GraphicsDispose($graphic);Grafik Objekt freigeben
    _GDIPlus_ImageDispose($figur);Bild Objekt freigeben
    _GDIPlus_Shutdown();Ressourcen freigeben
    EndFunc

    [/autoit]
    Beispiel bewegliches Viereck mit Buffer
    [autoit]

    #include <GuiConstants.au3>
    #include <GdiPlus.au3>;das include
    #include <Misc.au3>

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

    OnAutoItExitRegister("_end") ; die Funktion _end am Ende des Scriptes ausführen

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

    $x = 0;x und y deklarieren
    $y = 0

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

    $Gui = GUICreate("Beispiel", 179, 163, 100,100)
    GUISetState(@SW_SHOW)

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

    _GDIPlus_Startup() ;Gdi starten

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

    $figur = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\figur.gif")
    $bk = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\bk.jpg")
    $height = _GDIPlus_ImageGetHeight($figur)
    $width = _GDIPlus_ImageGetWidth($figur)
    $verhaelnis = $height / $width
    $graphic = _GDIPlus_GraphicsCreateFromHWND($Gui)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics(179, 163, $graphic)
    $buffer = _GDIPlus_ImageGetGraphicsContext($bitmap)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    Select
    Case _IsPressed(25) and not $x <= 0; ------------- geändert -------------
    $x -= 3
    Case _IsPressed(26) and not $y <= 0; ------------- geändert -------------
    $y -= 3
    Case _IsPressed(27) and $x <= 160; ------------- geändert -------------
    $x += 3
    Case _IsPressed(28) and $y <= 125; ------------- geändert -------------
    $y += 3
    EndSelect

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

    _GDIPlus_GraphicsDrawImageRect($buffer,$bk,0,0,179, 163)
    _GDIPlus_GraphicsDrawImageRect($buffer,$figur,$x,$y,20,20 * $verhaelnis)
    _GDIPlus_GraphicsDrawImage($graphic, $bitmap, 0, 0)
    Sleep(30)

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

    WEnd

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

    Func _end();die Exit funktion
    _GDIPlus_GraphicsDispose($graphic);Grafik Objekt freigeben
    _GDIPlus_GraphicsDispose($buffer)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_ImageDispose($figur);Bild Objekt 1 freigeben
    _GDIPlus_ImageDispose($bk);Bild Objekt 2 freigeben
    _GDIPlus_Shutdown();Ressourcen freigeben
    EndFunc

    [/autoit]
    Code kommentiert
    [autoit]

    #include <GUIConstants.au3>
    #include <GDIPlus.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $iX = 50
    $iY = 50
    $vX = 2
    $vY = 1

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

    $iSleep = 10
    $bBuffering = True

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

    $hWnd = GUICreate("Buffer", 400, 440)
    $cBuffering = GUICtrlCreateCheckbox("Buffering", 5, 355)
    $cLabel = GUICtrlCreateLabel("Wartezeit zwischen den Frames: " & $iSleep, 5, 390)
    $cFramerate = GUICtrlCreateSlider(5, 410, 200, 20)
    $cApply = GUICtrlCreateButton("OK", 220, 400)
    $cSmooth = GUICtrlCreateButton("Smooth", 220, 400)
    GUICtrlSetLimit($cFramerate, 100, 10)
    GUICtrlSetState($cBuffering, $GUI_CHECKED)
    GUISetState()

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

    _GDIPlus_Startup()
    $kreis = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\kreis.png")
    $weiss = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\weiss.jpg")
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd);noramle Grafik erstellen
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic);Buffer erstellen Schritt 1...
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap);...und 2

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    OnAutoItExitRegister("_Exit")

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

    GUICtrlSetOnEvent($cBuffering, "_Buffering")
    GUICtrlSetOnEvent($cApply, "_ApplySettings")

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

    While Sleep($iSleep)
    $iX += $vX
    $iY += $vY
    If $iX >= 380 Or $iX <= 0 Then $vX *= -1
    If $iY >= 325 Or $iY <= 0 Then $vY *= -1

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

    Switch $bBuffering
    Case True
    _GDIPlus_GraphicsDrawImageRect($hBuffer,$weiss, 0, 0, 400,350);mit Buffer
    _GDIPlus_GraphicsDrawImageRect($hBuffer,$kreis,$iX,$iY,20,20)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
    Case False
    _GDIPlus_GraphicsDrawImageRect($hGraphic,$weiss, 0, 0, 400,350);ohne Buffer
    _GDIPlus_GraphicsDrawImageRect($hGraphic,$kreis,$iX,$iY,20,20)
    EndSwitch
    WEnd

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

    Func _Buffering()
    $bBuffering = not $bBuffering ;wenn der hacken angeklickt wurde kehrt dieser Befehl die Variable ins Gegenteil
    EndFunc

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

    Func _ApplySettings()
    $iSleep = GUICtrlRead($cFramerate)
    GUICtrlSetData($cLabel, "Wartezeit zwischen den Frames: " & $iSleep)
    EndFunc

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]
    Code unkommentiert
    [autoit]

    #include <GUIConstants.au3>
    #include <GDIPlus.au3>

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

    Opt("GUIOnEventMode", 1)

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

    $iX = 50
    $iY = 50
    $vX = 2
    $vY = 1

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

    $iSleep = 10
    $bBuffering = True

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

    $hWnd = GUICreate("Buffer", 400, 440)
    $cBuffering = GUICtrlCreateCheckbox("Buffering", 5, 355)
    $cLabel = GUICtrlCreateLabel("Wartezeit zwischen den Frames: " & $iSleep, 5, 390)
    $cFramerate = GUICtrlCreateSlider(5, 410, 200, 20)
    $cApply = GUICtrlCreateButton("OK", 220, 400)
    $cSmooth = GUICtrlCreateButton("Smooth", 220, 400)
    GUICtrlSetLimit($cFramerate, 100, 10)
    GUICtrlSetState($cBuffering, $GUI_CHECKED)
    GUISetState()

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

    _GDIPlus_Startup()
    $kreis = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\kreis.png")
    $weiss = _GDIPlus_ImageLoadFromFile(@ScriptDir & "\weiss.jpg")
    $hGraphic = _GDIPlus_GraphicsCreateFromHWND($hWnd)
    $hBitmap = _GDIPlus_BitmapCreateFromGraphics(400, 400, $hGraphic)
    $hBuffer = _GDIPlus_ImageGetGraphicsContext($hBitmap)

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit")
    OnAutoItExitRegister("_Exit")

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

    GUICtrlSetOnEvent($cBuffering, "_Buffering")
    GUICtrlSetOnEvent($cApply, "_ApplySettings")

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

    While Sleep($iSleep)
    $iX += $vX
    $iY += $vY
    If $iX >= 380 Or $iX <= 0 Then $vX *= -1
    If $iY >= 325 Or $iY <= 0 Then $vY *= -1

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

    Switch $bBuffering
    Case True
    _GDIPlus_GraphicsDrawImageRect($hBuffer,$weiss, 0, 0, 400,350)
    _GDIPlus_GraphicsDrawImageRect($hBuffer,$kreis,$iX,$iY,20,20)
    _GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap, 0, 0, 400, 400)
    Case False
    _GDIPlus_GraphicsDrawImageRect($hGraphic,$weiss, 0, 0, 400,350)
    _GDIPlus_GraphicsDrawImageRect($hGraphic,$kreis,$iX,$iY,20,20)
    EndSwitch
    WEnd

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

    Func _Buffering()
    $bBuffering = not $bBuffering
    EndFunc

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

    Func _ApplySettings()
    $iSleep = GUICtrlRead($cFramerate)
    GUICtrlSetData($cLabel, "Wartezeit zwischen den Frames: " & $iSleep)
    EndFunc

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

    Func _Exit()
    _GDIPlus_GraphicsDispose($hGraphic)
    _GDIPlus_GraphicsDispose($hBuffer)
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    Exit
    EndFunc

    [/autoit]


    Na ja, spart dir ne Arbeit von 1,5 min ^^

  • Herzlichen Glückwunsch Ahnungslos & XovoxKingdom

    • Cartan12
    • 3. Juni 2010 um 19:02

    Jo, von mir auch :party: (Ach, ich liebe diesen Smiley für solche Sachen ^^)

  • Neuer PC!!!!

    • Cartan12
    • 3. Juni 2010 um 18:18

    Mit ganzen PCs kenn ich mich nicht aus...
    Ich hatte ganze 4 Jahre einen Computer mit Pentium 4 Prozessor (Komisch, dass der nicht kaput gegangen ist, meine PSP brickt mindestens 1 mal pro Monat ^^)
    Na ja, irgenwann hats mir dann gereicht und ich hab ein bisschen investiert (bin immer noch nicht fertig...) ^^

  • Neuer PC!!!!

    • Cartan12
    • 3. Juni 2010 um 18:01

    Dann investier mal ^^
    Ich hab: http://www.sysprofile.de/id132999

  • Spybot - Search & Destroy Komplett-Abarbeitung über Autoit3

    • Cartan12
    • 3. Juni 2010 um 17:26

    Hmm, ich glaub ich werd mich deiner annehmen...
    Schick mir bitte ne PN ^^

  • Neuer PC!!!!

    • Cartan12
    • 3. Juni 2010 um 17:20

    Ich hab mir meinen selber zusammengebaut...
    Wenn du dich damit auskennst und du Lust/Zeit dafür hast, würd ich dir das auch empfehlen, dann das ist auf jeden Fall (viel) billiger ^^

  • Kompilieren geht nicht wegen #include

    • Cartan12
    • 3. Juni 2010 um 17:15
    Zitat von Mahagon

    Woher weiß der Compiler denn wo die Includes liegen?
    Bzw. wenn du das an nem PC ohne AutoIt machst musste dir da sowieso was einfallen lassen ;)

    Deswegen mein ich ja, dass er die Includes in den Ordner packen soll...
    Dann aber am besten

    [autoit]

    #include "Array.au3"

    [/autoit]

    benutzen.
    P.S. Ach ja, wenn du deinen FTP Zugang in dein Script schreibst, fergiss es nicht zu obfuzieren ^^

  • Probleme mit meinem ersten Script;)

    • Cartan12
    • 3. Juni 2010 um 14:01
    Zitat

    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif")

    Ne, wenn dann so:

    [autoit]

    _FFImageClick("http://p.ebaystatic.com/aw/pics/de/logos/logoEbay_x45.gif", "name")

    [/autoit]

    Steht aber auch in der Doc: http://german.documentation.ff-au3.thorsten-willert.de/

  • Kompilieren geht nicht wegen #include

    • Cartan12
    • 3. Juni 2010 um 14:00

    Oder du kopierst einfach alle Includes in deinen Ordner (Sorry, aber das hättest du dir aber auch selber denken können...)

  • Fenstername ändern

    • Cartan12
    • 3. Juni 2010 um 13:59

    ??? Das ergibt keinen Sinn...
    Wenn dann so:

    [autoit]

    Case $Rename
    $inputb =InputBox("Rename your Client","Type your window name here")
    WinSetTitle(GuiCtrlRead($List1),"",$inputb)

    [/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™