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

Beiträge von Mars

  • Wir dulden KEINEN Danke-Button!

    • Mars
    • 27. Dezember 2013 um 18:13

    Likegeilheit: Prostitution einer oder mehrerer Personen jeglicher Art um virtuelle Anerkennung zu erlangen. Diese Virtuelle Anerkennung wird benötigt um das minderstarke Ego der betroffenen Individuen zu stärken.

    Auf Sozialen Netzwerken artet das zurzeit dermaßen aus, dass jede Wurst schreibt wie ihr Brötchen geschmeckt hat. Es werden anstößige Bilder, sinnlose Informationen und weiterer Unfug zugänglich gemacht, nur um ein paar Witzfiguren zum Liken zu bewegen. (Das dient in Bezug auf dieses Forum als Analogie)

    Wenn ich also hier alle 2 Tage ein mehr oder minder sinnloses Skripte poste, nur um von den geistig Schwachen (zitat: Obi Wan) ein paar Klicks zu gekommen, oder sonstige Themen diskutiere um berühmt zu werden, so habe ich hier nichts verloren.

    Das Obige ist selbstverstänlich etwas übertrieben dargestellt.
    Wenn ich jemandem persönlich danken will (was 105x mehr Wert ist als ein "Like"), dann schreibe ich ihm in der SB, im Thread oder in einer PN warum ich seine Arbeit gut finde.

    lg
    M

  • Neuer Syntax in Version 3.3.10.0

    • Mars
    • 27. Dezember 2013 um 17:11

    Was leider immernoch nicht geht ist Return [1, 2, 3]

    [autoit]

    Func GetArray($a, $b, $c)
    Local $x[] = [$a, $b, $c]
    Return $x
    EndFunc

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

    Func GetArray2($a, $b, $c) ; Geht nicht
    Return [$a, $b, $c]
    EndFunc

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

    Func MyFunc($a, $b, $c)
    Return GetArray($a, $b, $c)
    EndFunc

    [/autoit]

    Kann man selbstnatürlich per Hilfsfunktion ohne weiteres lösen.
    lg
    M

  • Umfrage - (Pseudo-)Datentypen in AutoIt

    • Mars
    • 26. Dezember 2013 um 12:36

    Ich finde es immer schön, wenn etwas komplexer wird :D
    Meistens sind solche Sachen Optional.

    Durch die Structansprache via .Element sind in Autoit feste Datentypen sehr leicht nutzbar.

    [autoit]

    Local $int = DllStructCreate('int i;int Square'), $float = DllStructCreate('float Root')
    For $i = 0 To 9 Step 1
    $int.i = $i
    $int.Square = $int.i^2
    $float.Root = $int.i^0.5
    ConsoleWrite($int.Square + $float.Root & @CRLF)
    Next

    [/autoit]

    Die Schreibweise ist zwar unschön (und man kann For auch kein $int.i als Zähler zuweisen) aber absolut Typensicher.
    Von daher ist Typensicherheit optional schon integriert und meiner Meinung nach eine externe überprüfung überflüssig.

    lg
    M

  • AutoIt Versions-Archiv und Diskussionsthread (3.3.8.1 bis 3.3.10.2, Stand 30.12.13)

    • Mars
    • 25. Dezember 2013 um 20:09

    Geschwindigkeit kann ich bestätigen. Habe zwar nur kurz getestet, aber es waren in jedem Fall zwischen 5% und 20% mehr Tempo. (im Schnitt habe ich (17±2)% raus)

    lg
    M

  • Neuer Syntax in Version 3.3.10.0

    • Mars
    • 24. Dezember 2013 um 12:20

    Das Problem mit dem Index in Structs kann auch ohne Eval sehr einfach gelöst werden.

    [autoit]

    For $i = 1 To 4
    ;~ $tStruct.x($i) = $i; Das funktioniert nicht, fehler vom Compiler, wird wohl noch ausgebessert. Stattdessen z.B. die untere Zeile verwenden
    $tStruct.x(($i)) = $i; Mit Klammern funktioniert es
    Next

    [/autoit]

    Durch die Klammern wird $i in einen Ausdruck dessen Ergebnis $i ist umgewandelt. Und mit Ausdrücken hat der Index kein Problem ;)

    lg
    M

  • Nutzt ihr die Deutsche Hilfe von AutoIt?

    • Mars
    • 15. Dezember 2013 um 15:39

    Für die Beta muss man ggf die englische Hilfe zur Rate ziehen, sonst nutze ich immer die Deutsche.
    Ich kann relativ gut englisch, von daher könnte es mir egal sein, aber als Deutscher lese ich lieber Deutsch ! :D
    M

  • Hackit

    • Mars
    • 13. Dezember 2013 um 12:59

    Vielen Dank :)
    Ich war schon am Verzweifeln, weil ich alles mit
    "Admin", "admin", "Administrator", "administrator"
    durchtesten wollte :D

    vllt schreibst du was derzeit der höchste erreichbare Level ist...

  • Hackit

    • Mars
    • 13. Dezember 2013 um 12:45

    Der Tipp ist die Frage ob du dir sicher bist auf der richtigen Seite gelandet zu sein.

    PS: Wenn du alles siehst was ich als PW und Name getestet habe rastest du noch aus :D

  • Hackit

    • Mars
    • 13. Dezember 2013 um 12:22
    Zitat

    Vergessen sie nicht, dass sie Administrator sind...

    ?(
    Habs bis lv4 geschafft, dann kam der Router :D

  • Hackit

    • Mars
    • 13. Dezember 2013 um 02:13

    Ok, jetzt steige ich aus^^
    Ein Eingabefenster mit PW Abfrage, ohne weitere Infos. Das hat nichts mehr mit einem "Rätsel", oder einer ohne regelwidrige Handlungen durchführbaren Aufgabe zu tun.

    Wenn ihr weiter lösbare Rätsel erstellen/bearbeiten wollt, kein Problem. (gute Beispiele sind die Grafikrätsel, das 2D Rätsel oder meines ;) ).
    Einen allgemeinen "Rätselthread" fände ich sowieso nicht schlecht :D
    Jeder der will denkt sich ein Rätsel, welches tunlichst programmiertechnisch/logisch lösbar ist, aus und schaut wer es zuerst entziffert.

    Wenn ich damit auf dem falschen Dampfer bin (das ist ja auch nicht 100%ig die intention des Threaderstellers, die dort vertretenen Probleme waren lösbar) erinnere ich hiermit an die Regeln. Es wird auch nicht "zum Spaß" trainiert Passwortabfragen zu umgehen oder zu Decompilen. (ich weiß, dass einige von euch durchaus dazu in der Lage sind, das ist nicht schlimm, solange man es hier nicht praktiziert)

    lg
    M

  • Hackit

    • Mars
    • 12. Dezember 2013 um 23:12

    Das Einzige was mich interessiert ist: Wofür braucht das gepatchte Programm Admin Rechte ?
    Ich hab jetzt nicht daran herumgebastelt (irgendwie spinnt mein Editor grade^^), aber rein nach Gefühl würde ich behaupten, dass im Passwortvergleich ein == zu einem != geändert wurde. Da ich das richtige PW nicht kenne kann ich es leider nicht testen^^

  • Hackit

    • Mars
    • 12. Dezember 2013 um 22:17

    Ich konnte die Bilder garnicht laden und abspeichern. (nur das thumbnail, und das bringt wahrscheinlich relativ wenig^^)
    Also hab ich überlegt was diese Zahlen bedeuten könnten, kam aber zu keinem Schluss :D

  • Hackit

    • Mars
    • 12. Dezember 2013 um 19:37

    Meine Funktion war eigentlich ganz klein und einfach :)

    [autoit]

    ConsoleWrite(B(A('autoit')) & @CRLF)
    ConsoleWrite(B(A('blubbersaft')) & @CRLF)
    ConsoleWrite(B(A('Hier könnte Ihr Text stehen ;)')) & @CRLF)
    ConsoleWrite(B(A('abcdefghijklmnopqrstuvwxyz')) & @CRLF)
    ConsoleWrite(B(A('ABCDEFGHIJKLMNOPQRSTUVWXYZ')) & @CRLF)

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

    Func A($1,$2=0,$3='',$4=0,$5=StringLeft)
    Return (Not $1)?$3:(Asc($5($1,1))-97= _
    $4)?A(StringTrimLeft($1,1),$2,$3&'+', _
    $4):(Asc($5($1,1))-97>$4)?A($1,$2,$3& _
    '>',$4+1):A($1,$2,$3&'<',$4-1)
    EndFunc ; String to "<+>"

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

    Func B($1,$2=0,$3='',$4='',$5=StringTrimLeft)
    Return (Not $1)?$3:Assign('4',$5($1,1 _
    ))?(StringLeft($1,1)='+')?B( $4,$2,$3 _
    &Chr($2+97)):(StringLeft($1,1)='<')?B _
    ($4,$2-1,$3):B($4,$2+1,$3):''
    EndFunc ; "<+>" to String

    [/autoit]

    Argh, ich hätte in der Uni kein Info als Nebenfach nehmen sollen, das versaut den Programmierstil. Auf ein Mal beherrscht man die Rekursion (besser als vorher) und andere Schleifenumgehungstricks, und wer so einen Müll wie Racket programmieren können muss, der kann das obige fast problemlos lesen und Schreiben^^ (Da besitzt eine Funktion prinzipiell nur ein (imaginäres) Return hinter welches man die komplette Berechnung setzen muss...)

    Edit: Viel schöner als 2 Funktionen ist doch bestimmt eine :D

    [autoit]

    Func A($1,$2=0,$3=0,$4='',$5=0,$6=StringLeft,$7=StringTrimLeft)
    Return $2?(Not $1)?$4:(Asc($6($1,1))-97=$5)?A($7($1,1) _
    ,$2,$3,$4&'+',$5):(Asc($6($1,1))-97>$5)?A($1,$2,$3,$4& _
    '>',$5+ 1):A($1,$2,$3,$4&'<',$5-1):(Not $1)?$4:Assign( _
    '5',$7($1,1))?($6($1,1)='+')?A($5,$2,$3,$4&Chr($3+97)) _
    :($6($1,1)='<')?A($5,$2,$3-1,$4):A($5,$2,$3+1,$4):''
    EndFunc ; Param0 = String, Param1: 1->Encode, 0->Decode

    [/autoit]
  • Hackit

    • Mars
    • 12. Dezember 2013 um 15:24
    Code
    >++++++++++[>+++>++++>+++++>++++++>+++++++>+++++++++>++++++++++>+++++++++++>++++++++++++<<<<<<<<<-]>>>>>--.>>---.<<<<<<++.>>>>>>+++++++.-------.>>-----.+.<<<<<<<<.>>>>>>+++.>>+.<<<<<<<<.>>>>>>---.+.+++.>++++.<<<<<<<.>>>>>----.>.>.>--.<---------.++++++.-.<<<<<<<.>>-.<<.>>>>>>-.+.>-----.+++++.<.>++++.<<<<<<<.>>>>--.++++.<<<<.>>>>.>>>>++.<----.---.>-.<--.++++++.-.<<<<<<<.>>>>>>++.--.>.>+.-.++++++.------.<<<<<<<<.>>>--.<<+.
    >++++++++++[>+++>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++>+++++++++++>++++++++++++<<<<<<<<<<-]>>>>>-.>>>>>-----.<<<<<<<<<++.>>>>>>>++++.-------.>.<+++.+.>--.>+.<<<<<<<<<.>>>>>>>>>-.<---.<--.+++++.<<<<<<<.>>>>>>>>+++++.-----.<-----.+++++.>>+.<<<<<<<<<.>>>>>>>>>+.<++++.<<<<<<<<.>>>>---.++++.<<<++++.<.>>>>>++++.>>>----.+++++++..<<<<<--.<<<.++.>-.<.--.>>>>>>>------.+++.-.+.>>.-.<<.>>.<<<<<<<<<.>>>>>>.>.>-------.<--.+++++.---.>+++++.<<<<<<<<.>>>>>>>----.>>+.--.<<++++++.--.---.+++.>.<<<<<<----.

    Ist aber eine Interessante Idee den Speicherinhalt zu verändern ohne ihn auszugeben...

  • Hackit

    • Mars
    • 12. Dezember 2013 um 00:59

    Ist das jetzt ein Rätselthread geworden ?
    Da hab ich nix dagegen :)

    Code
    >+[>>]>>+[>>]>+[[<]]<<<++>>>+[>>>]>+>+[[<]]<<+[>]>+[>>>]>>+
  • komplexe Zahlen (UDF)

    • Mars
    • 11. Dezember 2013 um 22:08

    Nach einer anständigen Analyse der ToString Funktion konnte ich sie mal vernünftig verkürzen :D
    Die alte (aus meinem ersten Post) hat 249 Byte, die neue noch 132 ;)

    &quot;Zauberei&quot;
    [autoit]

    Func cToStr($c)
    Return (cTest($c)?'':(($c[0])?$c[0]:(($c[1])?'' _
    :0))&(($c[1])?(($c[0])?(($c[1]>0)?' + ':' - '): _
    '')&((Abs($c[1])=1)?'i':Abs($c[1])&'*i'):''))
    EndFunc

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

    Func cToStr($c)
    Return (cTest($c)?'':(($c.re)?$c.re:(($c.im)?'' _
    :0))&(($c.im)?(($c.re)?(($c.im>0)?' + ':' - '): _
    '')&((Abs($c.im)=1)?'i':Abs($c.im)&'*i'):''))
    EndFunc

    [/autoit]

    Man sieht: nahezu keinerlei Redundanzen, eine viel kürzere Version ist also nicht möglich :)

    &quot;Test&quot;
    [autoit]


    Local $a[9] = [c(0, 0), c(1, 1), c(2, 2), c(-1, -1), c(-2, -2), c(1, -1), c(-1, 1), c(0, 2), c(1, 0)]

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

    For $i = 0 To UBound($a) - 1 Step 1
    ConsoleWrite(cToString($a[$i]) & @CRLF)
    ConsoleWrite(cToStr($a[$i]) & @CRLF)
    Next

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

    Func cToStr($c)
    Return (cTest($c)?'':(($c.re)?$c.re:(($c.im)?'' _
    :0))&(($c.im)?(($c.re)?(($c.im>0)?' + ':' - '): _
    '')&((Abs($c.im)=1)?'i':Abs($c.im)&'*i'):''))
    EndFunc

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

    Func cToString($c)
    cTest($c)
    If ($c.im = 0) Then Return $c.re
    If ($c.re = 0) Then
    If ($c.im = 1) Then Return "i"
    If ($c.im = -1) Then Return "-i"
    Return $c.im & "*i"
    EndIf
    If ($c.im < 0) Then
    If ($c.im = -1) Then Return $c.re & " - i"
    Return $c.re & " - " & Abs($c.im) & "*i"
    EndIf
    If ($c.im = 1) Then Return $c.re & " + i"
    If ($c.im = -1) Then Return $c.re & " - i"
    Return $c.re & " + " & $c.im & "*i"
    EndFunc ;==>cToString

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

    Func c($a = 0, $b = 1)
    Local $c = DllStructCreate('double re;double im')
    $c.re = $a
    $c.im = $b
    Return $c
    EndFunc ;==>c

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

    Func cTest(ByRef $c)
    If (Not IsDllStruct($c)) Then $c = c(Number($c, 3), 0)
    EndFunc ;==>cTest

    [/autoit]


    Sinnlose Optimierungen FTW !
    lg
    M

  • Forumstatistiken

    • Mars
    • 8. Dezember 2013 um 14:50

    Da war vor ca. 3 Monaten jemand am Werk (kann auch länger her sein) der innerhalb einiger Minuten tausende Aufrufe generiert hat.
    Dabei wurden die Profile wohl willkürlich ausgewählt...

    Edit: Hab auch 5000+ Aufrufe und der viertletzte ist vom 30 Nov.

  • komplexe Zahlen (UDF)

    • Mars
    • 8. Dezember 2013 um 13:32

    Moin,

    Ich finde die Sache sehr schön, auch wenn ich selbst noch nach einer Verwendung suchen muss :D

    Spoiler anzeigen

    konnte mich nicht bremsen als die Funktion mit den vielen Returns aufgetaucht ist^^

    [autoit]

    Func cToStr($c) ; Beta mit exp ? #t : #f
    Return IsArray($c)?$c[1]=0?$c[0]:$c[0]=0 _
    ?Abs($c[1])&'*i'='1*i'?StringLeft($c[1], _
    1*($c[1]<0))&'i':$c[1]&'i':$c[1]<0?$c[1] _
    =-1?$c[0]&' - i':$c[0]&' - '&Abs($c[1])& _
    '*i':$c[1]=1?$c[0]&' + i':$c[1]=-1?$c[0] _
    &' - i':$c[0]&' + '&$c[1]&'*i':cToStr(c( _
    Number($c,3),0))
    EndFunc

    [/autoit]

    lg
    M

  • AutoIt X-Mas/Silvester Screensaver-Challenge

    • Mars
    • 6. Dezember 2013 um 15:53

    Die .scr Sache würde ich entfallen lassen.
    Für einen "echten" Screensaver braucht man nämlich eine UDF die kein Standard ist.
    Ansonsten gute Idee, ich schaue mal ob ich Zeit habe um bei der Silvesterprozedur mitzumachen.

    Und wie immer gilt: Suche nicht die Lücke in den Regeln, sondern halte dich an deren Geist. Sonst sieht das Regelwerk für jede Challenge wie unsere (deutsche) Verfassung mit 5000 Seiten aus.

    lg
    M

  • FASM UDF (X86 u X64)

    • Mars
    • 6. Dezember 2013 um 14:27

    Wenn man in AutoIt versucht per Kernel32 Threads zu basteln und diese kontrolliert wieder zu schließen stellt man fest, dass es dort viele Probleme gibt.
    Mir war damals folgendes aufgefallen:
    - enormer Overhead (je flinker der ASM, desto größer der Overhead)
    - Threads terminieren (scheinbar) nicht immer ordnungsgemäß (der Thread lief wie gewünscht zum Ende, hat aber kein Freizeichen ausgespruckt)
    - Auf Threads warten dauert "ewig" (bsp: 4 Threads. Allein die 4 DllCalls in AutoIt dauern länger als die komplette Laufzeit des OP)

    lg
    M

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™