Beiträge von K4z

    Bei assign:
    "1 = Erzwungende Erstellung im lokalen Bereich
    2 = Erzwungende Erstellung im globalen Bereich"


    Sollte wohl eher "Erzwungene" heißen...


    EDIT: Ferner würde ich die Bemerkung vielleicht etwas "freier" übersetzten, z.B.:
    "Wenn es nötig ist eine Variable mit Assign() zu erstellen oder ihr einen Wert zuzuweisen, dann sollte in den meisten Situationen Eval() verwendet werden, um die Variable auszulesen und IsDeclared(), um zu prüfen ob die Variable existiert."
    Aber das ist völlig nebensächlich, der Inhalt verändert sich dadurch ja nicht wirklich.

    Naja im Grunde genommen ist es einfach eine Art komplexe Funktionen darzustellen. Eine reelle Funktion lässt sich ja in einem 2 dimensionalen kartesischen Koordinatensystem darstellen. Wenn man eine komplexe Zahl darstellen möchte, braucht man wiederum ein 2 dimensionales Koordinatensystem; eine Achse mit imaginären Anteil, eine mit reellem. Wenn man nun eine komplexe Funktion darstellen möchte, bräuchte man also ein 4 dimensionales Koordinatensystem. Da das nicht möglich ist bedient man sich beim Domain Coloring einer anderen Technik.
    Eine komplexe Zahl z=a+bi lässt sich auch in ihren Polarkoordinaten darstellen: z = re^iθ, wobei r die Länge des Vektors im komplexen Koordinatensystem und θ der Winkel zur positiven reellen Achse ist.
    Nun stellt man beim Domain Coloring den Winkel als Farbwert und r als Farbintensität dar.
    Mit dieser Technik lassen sich also nun komplexe Funktionen darstellen.


    Ich hoffe ich konnte mich verständlich genug ausdrücken und peitsch mich bitte aus, falls ich irgendeinen Schwachsinn verzapft hab:D
    mfg K4z

    Im Grunde genommen haben wir genau das selbe:)
    Gibt es eigentlich irgend einen Unterschied zwischen %i und %d bei StringFormat?

    Das wäre eine Möglichkeit:

    Da mir langweilig ist und ich mal wieder was mit AutoIt machen wollt, hier mal wie man das mit Scripting.Dictionary lösen könnte:


    Zitat

    Es gibt sicher Einsatzvarianten, wo das Sinn macht.


    Man könnte z.B. die Buchstabenhäufigkeit messen:


    Edit: Vielleicht meinte BugFix mit "Aber in der Regel ist man dort mit einem anderen Datentyp besser bedient. " so etwas.

    So müssts gehn, ich kanns grad nich testen:
    #include <Array.au3>


    $input = InputBox("Daten eingeben", "Daten eingeben :")
    $aStrreg = StringRegExp($input,'(?:<span title="(.+)"><a href=".+">.+</a></span>)|(?:<a href=".+">(.+)</a>)' , 3)
    _ArrayDisplay($aStrreg)

    Ich bin jetzt dieses Jahr mit meinem Abi fertig geworden und hatte davor eigentlich auch immer im Sinn Informatik zu studieren. Ich fang nun jedoch ein Studium in Elektor -und Informationstechnik an, für das sehr viele verschiedene Gründe gibt. Vielleicht ist es ja auch etwas für dich. Du kannst dich ja mal an diversen FHs und Unis informieren.


    mfg K4z

    Du könntest das ganze auch mit Hilfe eines Strings machen. Ich weiß jetzt nicht wie viel wert du auf Geschwindigkeit setzt, aber bei _ArrayDelete wird halt jedes mal das Array neu dimensioniert. Hier auf jeden Fall mal eine Version mit nem String:

    Ich hab jetzt mal sämtliche Varianten ausprobiert (String, Active Directroy, Dllstruct) und irgendwie ist meine Variante immernoch am schnellsten. Was man noch machen kann, ist einfach alle geraden Zahlen auszulassen. Das bringt bei 1000000 immerhin eine Sekunde.

    Ich denk das _ArrayAdd ist der größte Zeitfresser. Deutlich schneller ist das Array vorher zu groß anzulegen und am Schluss den Rest weg zuschneiden.
    Frisst bei größeren Zahlen aber deutlich mehr Speicher. Ich hab einfach mal den Pseudocode von Wikipedia übersetzt, ist vielleicht auch noch nicht optimal aber deutlich schneller. Du kannst ihn dir ja einfach mal anschaun.


    Edit: Ich brauch damit für 100000 ca. 360ms

    Anscheinend hat AutoIt ein Problem mit der Kurzschreibweise.
    ConsoleWrite($aArray[$i = $i+1] & @CRLF) geht, aber ist sinnlos, da eine Zuweisung in AutoIt immer False zurückgibt...

    Und wenn du es so machst:


    TCPSend("$Socket, Binary(0x560045005200530069004f004e003000))


    Gruss Shadowigor


    Es sollte aber eigentlich eher TCPSend($Socket, Binary("0x560045005200530069004f004e003000")) heißen, da man keine größere Zahl als 0xFFFFFFFF in AutoIt verwenden darf, sonst kommts zu nem parsing Problem.

    Gute Tag liebe AutoIt.de Gemeinde,
    da anscheinend viele Probleme mit dem UDP-Protokoll haben, hab ich mich dazu entschlossen ein kleines Tutorial zu schreiben.
    Ich werde hier nicht auf die Unterschiede zwischen UDP und TCP im Speziellen eingehen und wann was verwendet wird. Dafür ist Google dein Freund.
    Zuerst einmal die UDP-Befehle im Überblick und die entsprechenden TCPBefehle in Klammern:
    UDPStartup() ;startet den UDP-Service (TCPStartup())
    UDPBind() ; erzeugt einen Socket (TCPAccept())
    UDPOpen() ; verbindet sich mit einem Socket (TCPConnect())
    UDPRecv() ; empfängt Daten vom offenen Socket (TCPRecv())
    UDPSend() ; sendet Daten an einen offenen Socket (TCPSend())
    UDPCloseSocket() ; schließt einen Socket (TCPCloseSocket())
    UDPShutdown() ; stoppt den UDP-Service (TCPShutdown())
    Man sieht sehr schnell, dass das UDP-Protokoll sehr viele Ähnlichkeiten mit dem TCP-Protokoll hat, es hat aber auch seine Schwierigkeiten.
    Um mit den UDP-Befehlen etwas besser umgehen zu können, werden wir einen sehr einfachen Client und einen Server schreiben. Der Client sendet dem Server einen Befehl, worauf dieser etwas durch den gleichen (!!) Socket zurückschickt. Genau darin liegt nämlich die Schwierigkeit, da die UDP-Befehle doch etwas anders aufgebaut sind, als die TCP-Befehle, aber das werdet ihr gleich selber sehen.
    Zuersteinmal schreiben wir unseren Client. Zuerst einmal müssen wir immer UDPStartup() verwenden, bevor wir die anderen UDP-Befehle verwenden, der Rest sollte durch die Kommentare klar werden.
    Client:


    Aber bevor wir den Client starten können, müssen wir natürlich erst den Server starten, den wir im Folgenden schreiben werden.
    Server:


    Wie ihr seht, bringen die UDP-Befehle einige Schierigkeiten mit sich. Meine Hauptintension war es, zu zeigen, wie man mit dem Server über den gleichen Socket Daten zurück an den Client schicken kann, was mit TCP weitaus einfacher ist.
    Wenn ihr Fragen oder Kritik habt, postet es einfach hier drunter.


    mfg K4z