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

Beiträge von GegX

  • Javascript und Jquery im Firefox

    • GegX
    • 26. August 2015 um 14:32

    hab die Lösung endlich in einem russichen Forum gefunden

    __FFsend("content.location.url = '...'")
    __FFsend("repl.enter(content)")
    __FFsend("var s=document.createElement('script')")
    __FFsend("s.src='http://code.jquery.com/jquery-1.6.1.min.js'")

    __FFsend("jQuery('#f0-dep-location-').css('background-color', '#FF0000');")

    es gab folgende Problem

    mozrepl start im DOM bei window
    die query befehle sind aber im context von window.document.content

    duch das repl.enter ist man schonmal im richtigen content um die befehle auszuführen,
    danach nur noch mal jquery bekanntmachen und ab gehts.
    Puh war schon auf googelseite 20....

  • Javascript und Jquery im Firefox

    • GegX
    • 25. August 2015 um 15:30

    Hallo,

    bin gerad wieder mit der tollen FF.au3 unterweges.
    Mit dem Befehl _ffcmd() bzw __ffsend() kann man javascript direkt an den Browser senden.
    Aber anscheinend geht nicht alles.

    zur Zeit bekomme ich z.B. überhaupt keine jquerys hin.

    hier der Testcode

    Code
    #include <FF.au3>
    
    
    ;verbindung testen
    If _FFConnect(Default, Default, 3000) Then
    				; eine webseite öffnen
    				_FFOpenURL("http://fluege.de/")
    EndIf
    
    
    ;geht problemlos Hinweis anzeigen
    __FFsend("try{javascript:(function mimimi(){alert('Hello! box!!" & '"' & "');})()}catch(e){'_FFCmd_Err';};")
    
    
    ;geht garnicht
    ;soll abflughafen eingabefeld Rot färben
    __FFsend("$('#f0-dep-location-').css('background-color', '#FF0000');")
    Alles anzeigen


    auf der Konsole erhalte ich
    __FFSend: $('#f0-dep-location-').css('background-color', '#FF0000');

    wenn ich den Code in der Firefokonsole ausführe klappt er auch.
    es scheint so als ob allgemein kein jquery zu gehen scheint.

    Hat einer von euch noch eine Idee?

    Lg GegX

  • Blutiger anfänger

    • GegX
    • 22. Mai 2015 um 22:57

    hab eine kleine reihe an video tuts. sind eigentlich ganz ok geworden.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    haste paar stunden was zu tun denke ich

  • RPG mit Autoit

    • GegX
    • 1. April 2015 um 17:58

    download? nimmst du den patcher? den bitte mal noch nicht nehmen. ich erstelle zur zeit lieber ganze packete. hab gerad wieder 3 mobs hinzugefügt. ja es gibt eine größe die ich immer am ende des projekts berechne. es reich wenn du nur das zip nimmst und die beta exe startest ^^ wenn noch fragen sind sag bescheid

  • RPG mit Autoit

    • GegX
    • 29. März 2015 um 23:47

    ja stimmt chiller ist nicht drin will ich auch nicht reinpacken da chiller soweit ich weis unter ms Lizenzen steht. nicht das da doch noch jemand jammert ^^ aber danke fürs verlinken. chiller sollte bei MS Office per default mit dabei sein.

    edit: Grafikengine? was isn das? das ist alles mit GDI gemacht. ist historisch seit 2009 gewachsen deswegen alles noch altbacken

  • RPG mit Autoit

    • GegX
    • 29. März 2015 um 22:06

    Nach X Jahren habe ich endlich mal wieder die Zeit und den Mut gefunden mich an ein altes Spiel von mir zu setzen.
    Es ist ein kleines RPG geworden und bietet aktuell folgende Sachen:

    • Automatischer Updater
    • beliebig viele Spielstände
    • Karten- Editor

    Das ganze ist eine Mischung aus Diablo/Pokemon. Ihr könnte zwischen 8 Klassen wählen und eine quasi unendlich Map erkunden. Leider gibt es so gut wie noch keinen Content da erstmal die Logik funktionieren muss. Aber ihr könnt sehr einfach mit den Mapeditor neue Quests und Maps erstellen.

    • Zurzeit muss ich den online Modus nochmal überarbeiten damit PVP und PVE stabiler wird
      Wer lust hat sich das ganze mal anzusehen hier ein paar Bilder oder Video
      Spoiler anzeigen

      Externer Inhalt www.youtube.com
      Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
      Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Spoiler anzeigen


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

    • Nach dem ihr euren Helden ausgewählt habt könnt ihr die noch sehr kleine Welt erkunden Monster töten, Gold sammeln, Gegenstände kaufe,
      eure Attacken trainieren und Quest erledigen
    • Und wer das Spiel auch mal versuchen will kann es sich hier https://powerfolder.gwdg.de/getlink/fiWVS3…en_one_beta.zip herunterladen.
      Wenn einer Lust hat sich durch ca 20k Zeilen Kindergartencode durchzulesen könnt ihr auch gerne mitmachen.Bei Fragen einfach PN oder in den Thread

    Aktueller Status:

    • PVP funktioniert nun mit der neuen Version
    • PVE mit 2 Spielern geht nun
    • tränke sind nun verfügbar und aller 2 level wir eine neue itemklasse freigeschalten ( ab lvl 2 ringe ab level 4 kette etc)
    • übersichtsmap ist nun besser. und es gibt nicht erkundete karten die erst hell werden wenn man sie einmal erkundet hat
    • es gibt neues Quest

      • erreiche level
      • erkunde karte
      • sammle items
      • erreiche skill
    • Map und Questcreator zeigt nun auch die Nachbarmap

    Dateien

    0.png 925,48 kB – 0 Downloads Screenshot_1.png 917,81 kB – 0 Downloads Screenshot_2.png 929,35 kB – 0 Downloads Screenshot_3.png 925,46 kB – 0 Downloads Screenshot_4.png 925,49 kB – 0 Downloads Screenshot_6.png 913,99 kB – 0 Downloads Screenshot_9.png 933,21 kB – 0 Downloads
  • primzahlenrechner

    • GegX
    • 29. März 2015 um 21:35

    ja das sieb ist am anfang super langsam aber je länger es geht umso besser wird es. aber wieder mal sehr spannend und zu sehen wie andere Sprachen das Problem lösen.

  • primzahlenrechner

    • GegX
    • 23. März 2015 um 20:20

    ja das include kann weg. hatte erst mit addarray gearbeitet aber das ist viel zu langsam. c und c++ sind einfach beide super nach an der hardware dran aber wenn dus schnell willst dann assembler und fertig ^^

    edit: so bin jetzt am heim lappi und komme auf knapp 20 Sekunden ohne es zu kompilieren. liegt also an der vm. denke mit feinarbeit kommt man auf >10 aber das wird zu nachdenkintensiv ^^

  • primzahlenrechner

    • GegX
    • 23. März 2015 um 20:09

    ja stimmt ist nicht 100% der richtige Platz. Mit regex ist ja wirklich geil.
    Kannst du es auch erklären wie das funktioniert.

    edit ok habs gefunden wie mit regex geht geile sache.
    http://www.sjmp.de/java/primzahle…-the-nerdy-way/
    bzw mal http://regexper.com/#1%3F%7C(11%2B%3F)%5C1%2B

  • primzahlenrechner

    • GegX
    • 23. März 2015 um 17:33

    Morgen liebe autoitler,

    das Thema gab es sicher schon 200 mal und es gab sicher auch schon 10 wettbewerbe dazu aber ich hatte mal wieder lust an etwas logik.
    Deswegen hier ein kleiner Primzahlenrechner.
    Komme damit bei 1Mio Zahlen auf ca 25 sekunden auf einer Win VM mit dualcore. Mich würde interesieren wie verändert sich die Leistung auf anderen CPU und gibt es scripte die noch bedeutend schneller sind?
    Ja mit dem sieb geht es unter Anderem schneller aber ich wollte es mal ohne versuchen. Und ich weis das Autoit keine schnelle Sprache ist und wenn man Primzaheln berechnen will nimmt man c und eine GPU geht mir nur um den Spaß am probieren und coden :thumbup:

    C
    ;primzahlenrechner
    #include <array.au3>
    Local $array[100000]
    $array[0] = 2
    $array[1] = 3
    $counter_max = 1
    
    
    for $i = 3 to 79000 Step 2
        $root = Sqrt($i)
        for $counter=0 to $counter_max
            if $array[$counter]  > $root then ExitLoop
            If Mod($i,$array[$counter]) = 0 then ContinueLoop(2)
        Next
        ;ConsoleWrite($i & @CRLF)0
        $counter_max += 1
        $array[$counter_max] = $i
    Next
    ConsoleWrite($counter_max)
    Alles anzeigen
  • Local Variablen

    • GegX
    • 3. März 2015 um 17:39

    dumm dumm dumm omg. ist schon spät genau das habe ich gesucht mega danke an dich ging ja schnell ^^

  • Local Variablen

    • GegX
    • 3. März 2015 um 17:33

    Hy, ich bin gerad etwas verwirrt.
    wenn ich eine Funktion aufrufe und diese beendet ist werden damit auch alle locals gelöscht.
    Kann ich den destruktor der Funktion übergehen?

    Ich möchte das alle locals einer Funktion bis zum Ende des Programms erhalten bleiben

    um das mal etwas anschaulicher zu machen

    Code
    func test()
      if not(IsDeclared("anzahl")) Then
     ConsoleWrite(@crlf & "var initalisiert" & @CRLF)
          $anzahl = 0
       EndIf
         $anzahl =   $anzahl +1
         Return $anzahl
      EndFunc
    
    
      ConsoleWrite(test())
    
    
      ConsoleWrite(test())
    
    
      ConsoleWrite(test())
    Alles anzeigen


    Hier müsste nun 1 - 2 -3 rauskommen. Aber der Wert der Variable wird mit dem Endfunc wieder aufgehoben bzw die variable selber wird gelöscht.
    Wäre coole wenn da einer eine Lösung kennt.
    Und ja man kann das mit globals machen und nein das würde ich gern vermeiden

    Mfg

  • Buttons im Array.

    • GegX
    • 19. Januar 2015 um 11:27

    habs gelösst

    Code
    While 1
               $msg = GUIGetMsg(1)
    
    
               if $msg[0] > 0 Then
    
    
                   if StringInStr(GUICtrlRead($msg[0]),"....") then
                               GUICtrlSetData($msg[0],StringReplace(GUICtrlRead($msg[0]),".",""))
                         Else
                               GUICtrlSetData($msg[0],"....................................." & GUICtrlRead($msg[0]))
                         EndIf
                EndIf
    Alles anzeigen
  • Buttons im Array.

    • GegX
    • 19. Januar 2015 um 10:50

    Morgen,

    ich schriebe gerad einen ganz kleinen und primitiven Vokabeltrainer.
    Zur erklärung es geht um japanisch. Dafür brauche ich 3 spalten. kanji romaji und deutsch.
    Problem das ich gerade habe: jedes element sollte ein einzellner Button sein den man mit klick sichtbar bzw unsichtbar machen kann.
    Nun habe ich ein gigantische array von evtl 200 buttons und will mit klick auf diesen den text ändern. (nicht sichtbarkeit weil man den button sonst nicht mehr anklicken kann ^^)

    Gedacht war sowas

    dim $buttonKanji[40]

    While 1
    Switch GUIGetMsg()
    Case $buttonKanji
    ;ändere den Text des gedrückten button
    ;sprich guictrlsetdata($buttonKanji[self] , "sinlosser Text"

    hattes das schonmal gemacht finde aber die Codezeile nicht wieder. weis noch einer wie man einzelne Elemente aus dem array ansteuert?
    und nein ich will case $buttonKanji[$i] 200 mal schreiben das ist ja käse ^^


    C
    #include <MsgBoxConstants.au3>
    #include <GUIConstantsEx.au3>
    
    
    Example()
    
    
    Func Example()
        ; Create an INI section structure as a string.
        Local $sSection = "1=qw" & @CRLF & "2=qw" & @CRLF & "3=qw"
        Local $sSection = "1=neku" & @CRLF & "2=sara" & @CRLF & "3=hito"
        Local $sSection = "1=katze" & @CRLF & "2=teller" & @CRLF & "3=mensch"
    
    
        ; Write the string to the section labelled 'General'.
        IniWriteSection(@DesktopDir & "\Example.ini", "Kanji", $sSection)
    
    
        IniWriteSection(@DesktopDir & "\Example.ini", "romaji", $sSection)
        IniWriteSection(@DesktopDir & "\Example.ini", "deutsch", $sSection)
    
    
        ; Read the INI section labelled 'General'. This will return a 2 dimensional array.
        Local $kanji = IniReadSection(@DesktopDir & "\Example.ini", "Kanji")
        Local $romaji = IniReadSection(@DesktopDir & "\Example.ini", "romaji")
        Local $deutsch = IniReadSection(@DesktopDir & "\Example.ini", "deutsch")
        ;MsgBox(0,$kanji[0][0],"")
        Global $button1[$kanji[0][0]+1]
        Global $button2[$kanji[0][0]+1]
        Global $button3[$kanji[0][0]+1]
    
    
        Local $hGUI = GUICreate("Example", 400, 200)
        $bhide1=  GUICtrlCreateButton( "alle verstecken" , 20,30,100,20)
        $bhide2=  GUICtrlCreateButton( "alle verstecken" , 150,30,100,20)
        $bhide3=  GUICtrlCreateButton( "alle verstecken" , 280,30,100,20)
        ; Check if an error occurred.
        If Not @error Then
            ; Enumerate through the array displaying the keys and their respective values.
            For $i = 1 To $kanji[0][0]
               ; MsgBox($MB_SYSTEMMODAL, "", "Key: " & $aArray[$i][0] & @CRLF & "Value: " & $aArray[$i][1])
              $button1[$i] = GUICtrlCreateButton( $kanji[$i][1] , 20,50+(20*$i),100,20)
              $button2[$i] = GUICtrlCreateButton( $romaji[$i][1] , 150,50+(20*$i),100,20)
              $button3[$i] = GUICtrlCreateButton( $deutsch[$i][1] , 280,50+(20*$i),100,20)
    
    
            Next
        EndIf
    
    
          GUISetState(@SW_SHOW, $hGUI)
    
    
           While 1
            Switch GUIGetMsg()
                Case $GUI_EVENT_CLOSE
                    ExitLoop
    
    
                 Case $button1
                    MsgBox(0,"",GUIGetMsg())
    
    
                Case $bhide1
                         if GUICtrlRead($bhide1)="alle verstecken" then
                            for $i=1 to UBound($button1)-1
                               GUICtrlSetData($button1[$i],"....................................." & GUICtrlRead($button1[$i]))
                            Next
                            GUICtrlSetData($bhide1,"alle zeigen")
                         Else
                             for $i=1 to UBound($button1)-1
                               GUICtrlSetData($button1[$i],StringReplace( GUICtrlRead($button1[$i]),".",""))
                            Next
                            GUICtrlSetData($bhide1,"alle verstecken")
                         EndIf
                   ;++++++2
                Case $bhide2
                         if GUICtrlRead($bhide2)="alle verstecken" then
                            for $i=1 to UBound($button2)-1
                               GUICtrlSetData($button2[$i],"....................................." & GUICtrlRead($button2[$i]))
                            Next
                            GUICtrlSetData($bhide2,"alle zeigen")
                         Else
                             for $i=1 to UBound($button2)-1
                               GUICtrlSetData($button2[$i],StringReplace( GUICtrlRead($button2[$i]),".",""))
                            Next
                            GUICtrlSetData($bhide2,"alle verstecken")
                         EndIf
                         ;###
                Case $bhide3
                         if GUICtrlRead($bhide3)="alle verstecken" then
                            for $i=1 to UBound($button3)-1
                               GUICtrlSetData($button3[$i],"....................................." & GUICtrlRead($button3[$i]))
                            Next
                            GUICtrlSetData($bhide3,"alle zeigen")
                         Else
                             for $i=1 to UBound($button3)-1
                               GUICtrlSetData($button3[$i],StringReplace( GUICtrlRead($button3[$i]),".",""))
                            Next
                            GUICtrlSetData($bhide3,"alle verstecken")
                          EndIf
    
    
            EndSwitch
        WEnd
    
    
    EndFunc   ;==>Example
    
    
    func _pressed()
       MsgBox(0,"","")
    EndFunc
    Alles anzeigen
  • Problem beim senden von Tastenbefehlen

    • GegX
    • 11. Dezember 2014 um 17:14

    die class id brauchst du eigentlich nicht. der Name allein sollte ausreichen ^^
    wozu das send enter? der klick sollte eigentlich den button triggern oder brauchst du dann noch ein enter?
    aber da bist du ja als neueinsteiger weit gekommen bisher.
    Kleiner Tipp noch Codingstyle sprich ab und zu mal ein paar kommentare.
    Würde dazu mal heute ein Youtube Video machen bzw kleine Tutorial. ^^

    Ansonsten gute Anfang bisher viel Spaß noch beim lernen Autoit ist wirklich gut gemacht für den Einstieg

  • Problem beim senden von Tastenbefehlen

    • GegX
    • 11. Dezember 2014 um 15:43

    Herzlich wollkommen im Autoit FOrum:
    du kannst bei den Tab ruhig eine kleine pause danach einbauen.
    Versuch mal controllclick.
    Mit controlklick kannst du eigentlich auch direckt auf den enter button drücken.
    Bzw du kannst auch mit winsetstate einzelne Fenster minimieren oder in den Vordergrund holen.

    Wenn du noch weitere Fragen hast nur zu ^^

  • MouseMove Frage

    • GegX
    • 11. Dezember 2014 um 15:36

    Hi die Lösung ist einfach.
    Du musst die variablen erst auslesen bzw setzen wenn du auf den knopf drückst

    $anf_zeit = GUICtrlRead($inp_Startzeit)
    $end_zeit = GUICtrlRead($inp_Endzeit)
    sollte unter Case $Button1 stehen

    du setzt die Variablen einmal am anfang liest sie aber kein zweites mal aus

    Frag ruhig weiter. nur so lernt man es ^^

  • Dateiname beim Kopieren notfalls ändern?

    • GegX
    • 11. Dezember 2014 um 13:17

    mit der dateiendung das ist mir bewusst.^^ sollte schon eher wie im beispiel $dateiname & $anhang & $endung sein

    Ist das Problem mitlerweile durch oder soll nochmal jemand drübersehen?

  • Fenster maximieren

    • GegX
    • 11. Dezember 2014 um 10:29

    Hallo,

    wenn dir das mit [CLASS:MSPaintApp] zu schwer ist geht auch einfach den Namen des Fensters.
    z.B.

    Code
    Opt("WinTitleMatchMode", 1) ; option das der windowstitel am anfang gesucht wird. es geht auch in der mitte oder ein teil des titels
                            Local $aWinList = WinList("Paint") ; gibt mir alle fenster die Paint am Anfang haben
                            ;_ArrayDisplay($aWinList) ; hier kannst du dir die liste anzeigen wenn du #include <Array.au3> mit einbindest
                            if UBound($aWinList)-1 >=1 then ;wenn du ein fenster gefunden hast dann
    
    
                                for $i =1 to UBound($aWinList)-1
                                  WinSetState($aWinList[$i][0],"",@sw_ENABLE) ;disabled das fenster
                                  WinSetState($aWinList[$i][0],"",@SW_MAXIMIZE) ;maximaieren
                                  WinSetState($aWinList[$i][0],"",@SW_SHOW) ;anzeigen
                                  ;WinMove($aWinList[$i][0], "", @DesktopWidth / 2, 100 + ($i * 50), @DesktopWidth / 2,@DesktopHeight-200) ; auf dem desktop verschieben
                                  WinMove($aWinList[$i][0], "", 0, 0 , @DesktopWidth ,@DesktopHeight)
                                  WinSetOnTop($aWinList[$i][0],"",1) ; fenster über allen anderen anzeigen
                                  WinSetTitle(WinGetTitle($aWinList[$i][0]),"", " " & WinGetTitle($aWinList[$i][0])) ;fensternamen ändern
                               Next
    
    
                            EndIf
    Alles anzeigen

    was auch noch geht ist winactive

    Code
    ; Retrieve the window text of the active window.
        Local $sText = WinGetText("[ACTIVE]")


    bzw winwaitactive. wartet solange bis dein fenster das aktive fenster ist.
    WinWaitActive
    Pauses execution of the script until the requested window is active.

    WinWaitActive ( "title" [, "text" [, timeout = 0]] )

    wenn du Zum fensterhandling noch Fragen hast gerne raus damit.
    Ansonsten kann ich dazu auchmal ein videotutorial machen wenn das gewünscht ist

  • MouseMove Frage

    • GegX
    • 11. Dezember 2014 um 10:11

    Konkret zu deiner Frage.
    "Und zwar, wie kann ich nach der Eingabe der Zeiten und beim Druck auf den Button das Fenster schließen, aber die unterfunktionen weiter laufen lassen?"

    Dein Button sollte kein Exit enthalten ^^. Was du suchst ist entweder die GUI zu minimieren.
    Oder willst du das ganze Programm "verschwinden lassen und deinen Prozess als Deamon ohne oberfläche laufen lassen.
    Das kannst du mit GUIdestroy machen. dann läuft dein script weiter aber deine GUI ist weg

    was auch mal spannend währe ist die adlib Funktion
    siehe https://www.autoitscript.com/autoit3/docs/f…libRegister.htm
    Diese Funktionen triggert eine Funktion aller x Sekunden
    da mit könntest du zb soetwas hier machen

    Spoiler anzeigen

    "WIki adlib func
    Parameters function The name of the adlib function to be registered.
    time[optional] how often in milliseconds to call the function. Default is 250 ms."

    Code
    adlib("uhrzeittesten",36000000) ;ruft die Funktionen "uhrzeittesten" aller 3600000 millisekunden auf. 
    ;Soviel millisekunden einstellen das die funktion aller z.B. einer stunde aufgerufen wird
    
    
    while 1 ;endlosschleife damit dein programm nicht beendet wird
    sleep(200000) ;nichts machen
    ;unser Programm man nun in der hauptschleife nichts was keine cpu kostet. und aller zb 360000 ms wird die Uhrzeit geprüft
    wend
    func uhrzeittesten()
    
    
    if @HOUR > 12 then; wenn es nach 12 Uhr ist
       adliob("mausmove",20000) ;maus aller 20 Sekunden bewegen
    else 
     AdlibUnRegister("mausmove"); ansonsten mausbewegung wieder abschalten
    endif
    
    
    endfunc ; ende uhrzeittesten()
    
    
    func mausmove()
    
    
     mausmove hier einstellen
    
    
    endfunc
    Alles anzeigen

    Ich kann gerne mal zu dem Thema ein Videotutorial erstellen da die Funktion doch etwas tickreich ist bzw vielen noch unbekannt

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™