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

Beiträge von Andy

  • Debugger - Einzelschritte

    • Andy
    • 17. Februar 2011 um 14:13
    Zitat von Prickel

    um nochmal auf Excel als Beispiel zurück zu kommen,

    um nochmal auf meinen Post zurückzukommen

    Zitat von Andy

    die in Scite enthaltenen Debug-(Msgbox+Console) und Trace-Funktionen

    Was ist daran unverständlich?
    Damit "verfolgst" du Zeile für Zeile in deinem Script...

  • TCP Problem

    • Andy
    • 17. Februar 2011 um 13:38
    Zitat

    Das klappt nicht, zum testen brauchst du mindestens zwei verschiedene Rechner.

    wieso das denn? Schon mal was von loopback-Adapter gehört?
    Genau für diese Fälle wurde der nämlich implementiert!
    Oder hast du keinen 127.0.0.1 auf deinem Rechner aktiv?

  • Debugger - Einzelschritte

    • Andy
    • 17. Februar 2011 um 13:36

    Hi,
    mir persönlich reichen die in Scite enthaltenen Debug-(Msgbox+Console) und Trace-Funktionen völlig aus!
    Hier kannst du dir einen aufwendig aber nicht fehlerfrei laufenden Debugger anschauen/runterladen.

  • TCP Problem

    • Andy
    • 17. Februar 2011 um 11:10

    Hi,
    schau mal hier

  • Netzwerk Tunnel

    • Andy
    • 17. Februar 2011 um 10:26
    Zitat

    einen Netzwerk Tunnel ala Hamachi zu "erstellen"

    Wenn du dir klar wärest, wie Hamachi funktioniert, bräuchtest du die Frage nicht zu stellen!
    Hamachi betreibt einen Server, die Teilnehmer sind ALLE nur Clients.
    Jetzt stell dir deine Frage nochmal!
    Wenn du also alle Clients (somit kein Portforwarding usw) als Netz miteinander verbinden willst, dann kommst du um eine Server nicht drumrum. Ob der nun Hamachi heisst oder KarlNapp oder Sonstwie ist völlig schnurz und piepe.

  • UEZ hat Geburtstag

    • Andy
    • 17. Februar 2011 um 09:06

    Glücklichen Herzwunsch mei Gutster und vielen Dank für die immer schonen Beispiele und Scripte!
    Lass dirs gutgehen heute und denk immer dran: AAAAAAMMIIIIIGGGAAAAAAAAAAAAAA!!!!!!!! :thumbup:

  • Pixelsearch und pixelcheck und danach verschiedene ausführungen. Hilfe!

    • Andy
    • 16. Februar 2011 um 15:54

    Hi,
    "PushTheButton" sollte das machen, was du suchst. Abhängig von irgendwo auf dem bildschirm auftauchenden "Bildern" kannst du damit beliebige Aktionen (Klicks) durchführen

  • drop down files in array ( array wert nach unten verschieben)

    • Andy
    • 16. Februar 2011 um 15:30
    Zitat

    sorry aber ich kenn mich mit der Funktion net aus, wie soll das gehen?

    Ein guter Anfang ist die excellente Hilfefunktion! Entweder direkt aus Scite, oder auch online http://translation.autoit.de/onlinehilfe/li…_SwapString.htm

  • Tipps für mein Projekt...

    • Andy
    • 16. Februar 2011 um 13:32

    Hi,
    solange die zu blittenden Objekte klein sind, gibts keine grossartigen Probleme. Wenn allerdings komplette Hintergründe in einen Backbuffer geblittet werden müssen, und sich auch noch viele relativ grosse Objekte auf dem bild bewegen, DANN wirds schon bitter. Allerdings hängt das primär nicht an GDI, sondern an der Menge der Daten, die über den Systembus zur Grafikkarte transportiert werden müssen. Da es auch keine Beschleunigungsfunktionen für 2D gibt (idR), bleibt einem nur der mühsame bzw. langsame Weg "zu Fuss"!
    GDI ist also je nach Anforderung schnell oder langsam!

  • RegEx Problem beim verarbeiten einer Binären Datei

    • Andy
    • 15. Februar 2011 um 17:36

    Hi,
    regex durchsucht nur bis zum nul-byte!
    Abhilfe könnte sein, die nul-bytes im String durch chr(255) auszutauschen. Dann greift der regex auch...

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $sPath = @ScriptDir & "\index.dat"

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

    $sRegEx = "(?i)(?:\d+:\s%s@((?:http|https)(?:www)*:\/\/.+)\x0)+" ;Hier liegt der Knackpunkt
    ;Wenn der RegEx funzen würde dann sollte man mehr als eine Addresse rausbekommen

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

    $hFile = FileOpen($sPath, 16)
    $sData = FileRead($hFile)

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

    $bindata=BinaryToString($sData)
    stringreplace($bindata,chr(0),chr(255));chr(0) in chr(255) umwandeln

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

    $aRet = StringRegExp($bindata, StringFormat($sRegEx, @UserName), 3)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $bindata = ' & $bindata & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    ConsoleWrite(@error & @CRLF)
    _ArrayDisplay($aRet)

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

    FileClose($hFile)

    [/autoit]


    btw, in deiner Beispieldatei gibts keine auswertbaren Daten^^

  • Gleichungen lösen

    • Andy
    • 12. Februar 2011 um 15:26

    Hi,
    Newton mal sehr simpel umgesetzt:
    findet die nächste Nullstelle vom Startpunkt

    Spoiler anzeigen
    [autoit]

    ;funktion eintragen
    Func y($x)
    Return -4*$x*(5+2*$x)*(3*$x-9)
    EndFunc ;==>y

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

    $x1 = 11 ;irgendein startpunkt

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

    Do
    $x0 = $x1
    $x1 = tangentenschnitt($x0);ergibt nächsten punkt auf der x-achse
    ; ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $x1 = ' & $x1 & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Until Abs($x1 - $x0) < 1E-11

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

    ConsoleWrite("Lösung y (" & $x1 & ") = "&y($x1)&@crlf)

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

    Func tangentenschnitt($x, $delta = 1E-13);tangente ermitteln und schnittpunkt mit der x-achse
    $y1 = y($x)
    $y2 = y($x + $delta)
    $m = ($y2 - $y1) / $delta
    $b = $y1 - $m * $x
    Return -$b / $m
    EndFunc ;==>tangentenschnitt

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

    -1#INF muss noch abgefangen werden, ggf auch eine startposition gefunden anhand der Funktion usw, aber schonmal ein Anfang für die Nullstellensuche

  • Frage zu If...Then

    • Andy
    • 11. Februar 2011 um 21:27

    BigRox,
    das sieht so aus, als ob du noch "Müll" aus einer der frühen 10er Operaversionen rumschleppen würdest. Dort gab es das von dir im Bild geschilderte Problem, welches mittels AutoItscript "halbautomatisch" gelöst werden konnte. Allerdings hat das nichts mit dem aktuellen Build zu tun.
    Navigiere mal zu AutoIt.de.
    Drück dann F12 in Opera, ganz unten Seitenspezifische Einstellungen.
    Dann bei Scripte Javascript aktivieren und bei Cookies annehmen. Mit OK bestätigen.
    Danach ctrl+r um die aktuelle Seite neu zu laden.
    Wenn die seitenspezifischen Einstellungen nicht auf jeder Unterseite funktionieren, solltest du die Haken bei F12 setzen.

  • Mini UDF - 2-2 / 3-3 Gleichungsysteme lösen

    • Andy
    • 11. Februar 2011 um 20:13

    Hi,
    hatte sowas schon vor einiger Zeit benutzt:
    Löst n Gleichungen mit n Unbekannten nach dem Gaußschen Eliminationsverfahren

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>

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

    ;linearer gleichungslöser nach Gaußschem Eliminationsverfahren,
    ;$n = 3
    ;Dim $a[$n][$n] = [[1, 1, 0],[1, 0, 1],[0, 1, 1]] ;matrix
    ;Dim $b[$n] = [28, 30, 32] ;lösungen

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

    ;~ $n = 4
    ;~ Dim $a[$n][$n] = [[1, 3, -2, 1],[-2, 1, -4, -5],[1, -3, 1, 0],[-3, 4, -6, 2]] ;matrix
    ;~ Dim $b[$n] = [-7, -6, 6, -21] ;lösungen
    ;~ $s = _solve_linear_quad($a, $b)
    ;~ _ArrayDisplay($s)

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

    Global $num_unknowns = Number(InputBox("Lösung Lineare Gleichungssysteme", "Anzahl Unbekannte?", 3))
    Dim $coeff[$num_unknowns][$num_unknowns] ;matrix
    Dim $values[$num_unknowns + 1][$num_unknowns + 2] ;
    Dim $b[$num_unknowns] ;lösungen
    GUICreate("Enter Equations:", (48 * $num_unknowns) + 121, (26 * $num_unknowns) + 77)
    For $n = 1 To $num_unknowns
    For $r = 1 To $num_unknowns
    $values[$n][$r] = GUICtrlCreateInput("", 48 * $r, 26 * $n, 25, 21)
    GUICtrlCreateLabel(StringMid("abcdefghijklmnopqrstuvwxyz", $r, 1), (48 * $r) + 26, (26 * $n) + 5, 10, 17)
    If $r < $num_unknowns Then
    GUICtrlCreateLabel("+", (48 * $r) + 37, (26 * $n) + 5, 10, 17)
    Else
    GUICtrlCreateLabel("=", (48 * $r) + 37, (26 * $n) + 5, 10, 17)
    EndIf
    Next
    $values[$n][$r] = GUICtrlCreateInput("", 48 * $r, 26 * $n, 25, 21)
    Next
    $solve_button = GUICtrlCreateButton("Lösen", (48 * $num_unknowns) + 38, (26 * $num_unknowns) + 36, 50, 25)
    GUISetState()

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

    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $solve_button
    For $n = 0 To $num_unknowns - 1
    For $r = 0 To $num_unknowns - 1
    $coeff[$n][$r] = Number(GUICtrlRead($values[$n + 1][$r + 1]))
    Next
    $b[$n] = Number(GUICtrlRead($values[$n + 1][$num_unknowns + 1]))
    Next
    ;~ _arraydisplay($b)
    ;~ _arraydisplay($coeff)

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

    GUISetState(@SW_HIDE)
    $sols = _solve_linear_quad($coeff, $b)
    ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sols = ' & $sols & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console

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

    $solutWin = GUICreate("Lösungen:", 280, (21 * UBound($sols)) + 42)
    For $n = 0 To UBound($sols) - 1
    GUICtrlCreateLabel(StringMid("abcdefghijklmnopqrstuvwxyz", $n + 1, 1) & " = " & Round($sols[$n], 3) & " (Max. 3 Nachkommastellen)", 30, 21 * ($n + 1), 200, 20)
    Next
    GUISetState(@SW_SHOW, $solutWin)
    EndSwitch
    WEnd

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

    Func _solve_linear_quad($a, $b) ;matrix,lösung Gaußsches Eliminationsverfahren, löst x gleichungen mit x unbekannten
    ;by Andy http://www.autoit.de
    Local $n, $t
    Dim $Y[UBound($b)] ;ergebnisse
    $n = UBound($a) - 1 ;anzahl der zeilen/spalten
    ;falls erforderlich, zeilen und spalten tauschen
    If $a[0][0] = 0 Then ;wenn erster koeffizient = 0, dann kann das system nicht starten => spalten tauschen ggf zeilen tauschen
    For $k = 0 To $n ;jede zeile
    For $j = 0 To $n ;alle spalten in dieser Zeile testen
    If $a[$k][$j] <> 0 Then
    For $m = 0 To $n ;treffer, die erste spalte mit der j. tauschen
    $t = $a[$m][$j] ;sichern
    $a[$m][$j] = $a[$m][0] ;mit erster spalte tauschen
    $a[$m][0] = $t
    Next
    For $j = 0 To $n ;zeilen tauschen
    $t = $a[0][$j] ;sichern
    $a[0][$j] = $a[$k][$j] ;mit erster spalte tauschen
    $a[$k][$j] = $t
    Next
    $t = $b[0] ;ergebnisse auch tauschen
    $b[0] = $b[$k]
    $b[$k] = $t
    ExitLoop 2
    EndIf
    Next
    Next
    EndIf

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

    If $a[0][0] = 0 Then Return SetError(1, 0, 1)

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

    ;endlich rechnen :)
    For $I = 0 To $n ;alle zeilen
    If $a[$I][$I] <> 0 Then
    ;erstes element auf 1 bringen indem man gesamte zeile durch erstes Element teilt
    For $k = $I To $n
    $t = $a[$k][$I] ;erstes element merken
    If $t <> 0 Then ;nur, wenn das erste element ungleich null ist...
    For $j = $I To $n
    $a[$k][$j] /= $t ;alle zeilenmitglieder durch erstes element teilen
    Next
    ;b durch i teilen
    $b[$k] /= $t ;ergebnis natürlich auch
    EndIf
    Next
    ; _ArrayDisplay($a, "oben " & $I)
    ;zeile i von allen weiteren zeilen subtrahieren, erstes element wird zu 0
    For $k = $I + 1 To $n
    If $a[$k][$I] <> 0 Then ;wenn null, dann überspringen
    For $j = $I To $n
    $a[$k][$j] -= $a[$I][$j] ;die i.zeile von der aktuellen zeile subtrahieren
    Next
    $b[$k] -= $b[$I] ;ergebnisse natürlich auch
    EndIf
    Next
    ; _ArrayDisplay($a, "unten " & $I)
    Else ;null in aktueller spalte
    ;zeilen tauschen
    ; msgbox(0,$i,"null gefunden")
    For $k = $I + 1 To $n
    If $a[$k][$I] <> 0 Then ;zeile tauschen
    For $j = $I To $n ;zeilen tauschen
    $t = $a[$I][$j] ;sichern
    $a[$I][$j] = $a[$k][$j] ;mit erster spalte tauschen
    $a[$k][$j] = $t
    Next
    $t = $b[$I] ;ergebnisse auch tauschen
    $b[$I] = $b[$k]
    $b[$k] = $t
    EndIf
    ;erstes element auf 1 bringen indem man gesamte zeile durch erstes Element teilt
    For $k = $I To $n
    $t = $a[$k][$I] ;erstes element merken
    If $t <> 0 Then ;nur, wenn das erste element ungleich null ist...
    For $j = $I To $n
    $a[$k][$j] /= $t ;alle zeilenmitglieder durch erstes element teilen
    Next
    ;b durch i teilen
    $b[$k] /= $t ;ergebnis natürlich auch
    EndIf
    Next
    ; _ArrayDisplay($a, "oben1 " & $I)
    ;zeile i von allen weiteren zeilen subtrahieren, erstes element wird zu 0
    For $k = $I + 1 To $n
    If $a[$k][$I] <> 0 Then ;wenn null, dann überspringen
    For $j = $I To $n
    $a[$k][$j] -= $a[$I][$j] ;die i.zeile von der aktuellen zeile subtrahieren
    Next
    $b[$k] -= $b[$I] ;ergebnisse natürlich auch
    EndIf
    Next
    ;_ArrayDisplay($a, "unten1 " & $I)

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

    Next
    EndIf
    Next

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

    ;alle parameter bestimmen durch rückwärtseinsetzen

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

    $Y[$n] = $b[$n] ;letzter ist bereits bekannt
    For $I = $n - 1 To 0 Step -1
    For $j = $n To $I + 1 Step -1
    $b[$I] -= $a[$I][$j] * $Y[$j]
    Next
    $Y[$I] = $b[$I]
    Next
    Return $Y
    EndFunc ;==>_solve_linear_quad
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
  • Kleinster HD-Kurzfilm

    • Andy
    • 10. Februar 2011 um 17:00
    Zitat

    O.K. Ich hab es mal gemacht.

    dafür gibts nen grossen [Blockierte Grafik: http://extreme.pcgameshardware.de/attachments/301375d1294506421-noblorros-gold-book-go-gold-keks.jpg] :thumbup:
    Ich hab mich auch schon mal bissl fit gemacht und sehe da eigentlich Potenzial.
    Statt setpixel() kann man natürlich direkt in eine Bitmap schreiben und dann die komplette Seite blitten, das geht wesentlich schneller!
    Beim Debuggen/Disassemblen habe ich festgestellt, dass die trigonometrischen Funktionen innerhalb VC++ alle doppelt und dreifach gg Exceptions abgesichert sind

    Code
    float variable=sin(variable)

    , das kostet gegenüber einem einfachen inline

    Code
    __asm
    {
    fld variable
    fsin
    fstp variable
    }

    die 3-fache Zeit! Bei komplizierten Berechnungen mit einigen Millionen Schleifendurchgängen läppert sich das gewaltig!

    Aber schon sehr schön, Marthog, so kann man auch mal "langwierige" Berechnungen beschleunigen!

  • Kleinster HD-Kurzfilm

    • Andy
    • 10. Februar 2011 um 16:07

    hatte in der Beschreibung von phi die Quadranten nicht richtig nummeriert, sollte nun klarer sein

  • Kleinster HD-Kurzfilm

    • Andy
    • 10. Februar 2011 um 00:28

    Um an eine bestimmte "Form" zu kommen, überlagert man die Ergebnisse von Funktionen...

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


    Umsetzung mit hoffentlich verständlicher Erklärung^^

    Spoiler anzeigen
    [autoit]

    $user32 = DllOpen("user32.dll")
    $gdi32 = DllOpen("gdi32.dll")
    $w = 400
    $h = 400

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

    Global $pi = 4 * ATan(1)

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

    $hgui = GUICreate("Kleeblatt", $w, $h)
    $hdc_gui = getdc($hgui)
    GUISetState()

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

    For $y = 1 To $h Step 1
    For $x = 1 To $w Step 1
    $abstand = Sqrt((($w / 2) - $x) ^ 2 + (($h / 2) - $y) ^ 2) ;abstand vom mittelpunkt des bildes bis zum aktuellen pixel(x,y)
    $p = atan2(($w / 2) - $x, ($h / 2) - $y) ;phi
    ;winkel phi links rum von y-achse=0 grad:
    ;I.quadrant 0 - pi/2
    ;III.quadrant pi/2 bis pi
    ;IV.quadrant -pi bis -pi/2
    ;II. quadrant -pi/2 bis 0

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

    ; 0
    ; I | II
    ; |
    ;pi/2------- minus pi/2
    ; |
    ; III | IV
    ; pi und -pi

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

    $l = Abs($p) / $pi ;abs, sonst wird der radius negativ in den rechten quadranten!
    $r = Int((13 * $l - 22 * $l ^ 2 + 10 * $l ^ 3) / (6 - 5 * $l) * 150) ;radius, gleicher winkel => gleicher radius!

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

    If $abstand < $r Then ;wenn abstand vom mittelpunkt bis zum pixel kleiner ist als der Radius
    $col = 0xFF ;dann ist das pixel innerhalb des radius und somit rot
    Else
    $col = 0xF0F000
    EndIf

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

    pix($hdc_gui, $x, $y, $col)
    Next

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

    Next

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

    While GUIGetMsg() <> -3
    WEnd

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

    Func atan2($y, $x)
    Return (2 * ATan($y / ($x + Sqrt($x * $x + $y * $y))))
    EndFunc ;==>atan2

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

    Func pix($dc, $x, $y, $color) ;pixel mit farbe an koordinaten setzen
    DllCall($gdi32, "long", "SetPixel", "long", $dc, "long", $x, "long", $y, "long", $color)
    EndFunc ;==>pix

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

    Func GetDC($handle)
    $dc = DllCall($user32, "int", "GetDC", "hwnd", $handle)
    Return $dc[0]
    EndFunc ;==>GetDC

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

    Dateien

    mathjoke00.png 14,88 kB – 0 Downloads
  • Kleinster HD-Kurzfilm

    • Andy
    • 9. Februar 2011 um 22:36

    Hi,
    irgendwelche blödsinnigen Formeln eintragen und gucken was passiert macht echt Spass^^

    Spoiler anzeigen
    [autoit]

    $user32 = DllOpen("user32.dll")
    $gdi32 = DllOpen("gdi32.dll")
    $w = 400
    $h = 400

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

    Global $pi = 4 * ATan(1)

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

    $hgui = GUICreate("Kleeblatt",$w,$h)
    $hdc_gui = getdc($hgui)
    GUISetState()

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

    For $x = 1 To $w
    For $y = 1 To $h
    $ra = Sqrt((($w / 2) - $x) ^ 2 + (($h / 2) - $y) ^ 2) / 60
    $p = atan2(($w / 2) - $x, ($h / 2) - $y)
    $l = $ra / (((1 + Cos(4 * $p)) ^ 0.125) - (1 / 40 * (1 + Cos(8 * $p)) ^ 2))
    $R=int ((2+cos(5*$p)^0.155))*$y*$y/$x
    $g=Int(1 / 5 * (2 - $l) ^ 0.215 * 4 + $l ^ 14 * 1 + 3 * $ra * 256) * 256
    $b=int(sin($ra*3)^-0.4*256*cos(1+1.6*$p)*256)*256
    $col = $r+$g+$b
    pix($hdc_gui, $x, $y, $col)
    Next
    Next

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

    While GUIGetMsg() <> -3
    WEnd

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

    Func atan2($y, $x)
    return (2 * ATan($y / ($x + Sqrt($x * $x + $y * $y))))
    EndFunc ;==>atan2

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

    Func pix($dc, $x, $y, $color) ;pixel mit farbe an koordinaten setzen
    DllCall($gdi32, "long", "SetPixel", "long", $dc, "long", $x, "long", $y, "long", $color)
    EndFunc ;==>pix

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

    Func GetDC($handle)
    $dc = DllCall($user32, "int", "GetDC", "hwnd", $handle)
    Return $dc[0]
    EndFunc ;==>GetDC

    [/autoit]
  • RSA Verschlüsselung Zeichenlänge der Primzahlen

    • Andy
    • 9. Februar 2011 um 13:10

    Hi,
    RSA ist ein asymetrisches Verfahren, das mit Schlüsselpaaren arbeitet und nichts mit einer Zeichenlänge zu tun hat! Der Nutzer sollte nur darauf achten, dass der Schlüssel nicht faktorisiert werden kann....

    Empfehlungen der Bundesnetzagentur (oberstes PDF) sprechen von 2048 Bit als ausreichend sicher bis Ende 2015.....

    Ob da jemand Insider bei der NSA oder anderen gleichwertigen Organisationen weltweit sitzen hat, die das bestätigen (dass 2048Bit WIRKLICH SICHER ist) wage ich zu bezweifeln...
    Ich bezweifle nicht, dass die dort Insider sitzen haben, sondern dass diese auch die Wahrheit sagen^^. Bei Zugriff auf die weltweit besten Wissenschaftler und Spezialisten infolge unversiegbarer Geldquellen (Schätzungen sprechen von 10-100 Milliarden Jahresetat der NSA, wobei die mit Sicherheit nicht nur staatlich finanziert werden) würde es mich stark wundern, wenn deren Entwicklungen nicht schon Jahre Vorsprung hätten!

  • DeskStream 2 Release Candidate 1.8

    • Andy
    • 9. Februar 2011 um 12:32
    Zitat

    Der Client hatte die Server-IP eingetragen, der Server die Client-IP.

    Der Server die Client-IP? Wieso DAS denn?
    Starte den Server. Wähle im Server aus der Comboliste die Adresse, welche NICHT 127.0.0.1 ist. Das ist die Adresse des Serverrechners!
    Und genau diese Adresse trägst du nun in den Client ein!

    @Sprenger, wir sollten als Standardadresse im Server die erste NICHT-Localhost-Adresse angeben, vielleicht hifts^^

    Zitat von MatthiasG

    aber wie schickt der Server denn nun etwas an den Client zurück? Hat jemand freundlicherweise ein Snippet parat?

    Zunächst einmal ein LINK und noch ein Link! Das sollte einiges klären...

    Snippet brauchts nicht, wenn man kapiert hat, dass sobald der Server die Verbindungsanfrage des Clients angenommen hat, jeder der beiden als Sender per tcpsend() und Empfänger per tcprecv() arbeiten kann.

    Hast du schonmal ein Telefon benutzt? Wenn das Telefon eingeschaltet auf dem Tisch liegt und WARTET, entspricht es unserem Server.
    Wenn es klingelt, kannst du dir aussuchen, ob du das Telefongespräch annimmst oder nicht, genau wie der Server.
    Wenn du das Gespräch annimmst und telefonierst (sprechen=tcpsend(), hören=tcprecv() ), ist es für die Verbindung völlig egal, wer dich angerufen hat und welche Rufnummer derjenige besitzt! Um mit dem anderen zu sprechen brauchst du dessen Telefonnummer nicht! Auch wenn die Rufnummer des Anrufers unterdrückt ist, klingelt trotzdem dein Telefon.

  • Dll Aufruf von Delphi zu Autoit

    • Andy
    • 9. Februar 2011 um 09:14

    Hi,
    benutzt du Win32 oder eine 64Bit-Version?

    Der Call sollte also lauten

    [autoit]

    $ret = DllCall($hDLL, "int", "W2P", "str", $InFile, "str", $OutFile)

    [/autoit]


    oder aber

    [autoit]

    $ret = DllCall($hDLL, "int", "W2P", "str*", $InFile, "str*", $OutFile)

    [/autoit]
    Zitat von HobbyCoder

    wenn ich mit Opera hier Beiträge versuche zu schreiben, stürzt dieser ab

    Bei einer der frühen 10er Versionen gab es Probleme zwischen Opera und der Woltlab-Forensoftware. Das ist nun sowohl seitens Opera als auch durch ein Update von Woltlab gefixt. Welche Operaversion nutzt du?

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™