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

Beiträge von alpines

  • Bluetooth UDF!!!

    • alpines
    • 28. August 2013 um 23:07

    Nicht zu vergessen! Ist das Script lang genug um sich die Finger wund zu scrollen pack es in einen Spoiler bzw. nutz Pastebin.

  • Latenzzeiten Telecolumbus (Internetanbieter)

    • alpines
    • 28. August 2013 um 14:34

    Du solltest dir auch im klaren sein wenn du beispielsweise schlechtes Wetter hast.
    Den Effekt kennen viele die versuchen Satellitenfernsehen bei einem Ungewitter schauen.

    -> Du musst die Schüssel wieder richten.
    -> Dein Ping / Connection ist bei Ungewittern grausam bis gar nicht vorhanden.

  • webcam bild automatisch speichern

    • alpines
    • 23. August 2013 um 12:15

    Ich hatte vor einer Weile ein Script gespeichert welches ich noch aufgehoben hab. Damals funktionierte es auf meiner Laptop-Webcam.

    Webcam
    [autoit]

    $WM_CAP_START = 0x400
    $WM_CAP_UNICODE_START = $WM_CAP_START +100
    $WM_CAP_PAL_SAVEA = $WM_CAP_START + 81
    $WM_CAP_PAL_SAVEW = $WM_CAP_UNICODE_START + 81
    $WM_CAP_UNICODE_END = $WM_CAP_PAL_SAVEW
    $WM_CAP_ABORT = $WM_CAP_START + 69
    $WM_CAP_DLG_VIDEOCOMPRESSION = $WM_CAP_START + 46
    $WM_CAP_DLG_VIDEODISPLAY = $WM_CAP_START + 43
    $WM_CAP_DLG_VIDEOFORMAT = $WM_CAP_START + 41
    $WM_CAP_DLG_VIDEOSOURCE = $WM_CAP_START + 42
    $WM_CAP_DRIVER_CONNECT = $WM_CAP_START + 10
    $WM_CAP_DRIVER_DISCONNECT = $WM_CAP_START + 11
    $WM_CAP_DRIVER_GET_CAPS = $WM_CAP_START + 14
    $WM_CAP_DRIVER_GET_NAMEA = $WM_CAP_START + 12
    $WM_CAP_DRIVER_GET_NAMEW = $WM_CAP_UNICODE_START + 12
    $WM_CAP_DRIVER_GET_VERSIONA = $WM_CAP_START + 13
    $WM_CAP_DRIVER_GET_VERSIONW = $WM_CAP_UNICODE_START + 13
    $WM_CAP_EDIT_COPY = $WM_CAP_START + 30
    $WM_CAP_END = $WM_CAP_UNICODE_END
    $WM_CAP_FILE_ALLOCATE = $WM_CAP_START + 22
    $WM_CAP_FILE_GET_CAPTURE_FILEA = $WM_CAP_START + 21
    $WM_CAP_FILE_GET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 21
    $WM_CAP_FILE_SAVEASA = $WM_CAP_START + 23
    $WM_CAP_FILE_SAVEASW = $WM_CAP_UNICODE_START + 23
    $WM_CAP_FILE_SAVEDIBA = $WM_CAP_START + 25
    $WM_CAP_FILE_SAVEDIBW = $WM_CAP_UNICODE_START + 25
    $WM_CAP_FILE_SET_CAPTURE_FILEA = $WM_CAP_START + 20
    $WM_CAP_FILE_SET_CAPTURE_FILEW = $WM_CAP_UNICODE_START + 20
    $WM_CAP_FILE_SET_INFOCHUNK = $WM_CAP_START + 24
    $WM_CAP_GET_AUDIOFORMAT = $WM_CAP_START + 36
    $WM_CAP_GET_CAPSTREAMPTR = $WM_CAP_START + 1
    $WM_CAP_GET_MCI_DEVICEA = $WM_CAP_START + 67
    $WM_CAP_GET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 67
    $WM_CAP_GET_SEQUENCE_SETUP = $WM_CAP_START + 65
    $WM_CAP_GET_STATUS = $WM_CAP_START + 54
    $WM_CAP_GET_USER_DATA = $WM_CAP_START + 8
    $WM_CAP_GET_VIDEOFORMAT = $WM_CAP_START + 44
    $WM_CAP_GRAB_FRAME = $WM_CAP_START + 60
    $WM_CAP_GRAB_FRAME_NOSTOP = $WM_CAP_START + 61
    $WM_CAP_PAL_AUTOCREATE = $WM_CAP_START + 83
    $WM_CAP_PAL_MANUALCREATE = $WM_CAP_START + 84
    $WM_CAP_PAL_OPENA = $WM_CAP_START + 80
    $WM_CAP_PAL_OPENW = $WM_CAP_UNICODE_START + 80
    $WM_CAP_PAL_PASTE = $WM_CAP_START + 82
    $WM_CAP_SEQUENCE = $WM_CAP_START + 62
    $WM_CAP_SEQUENCE_NOFILE = $WM_CAP_START + 63
    $WM_CAP_SET_AUDIOFORMAT = $WM_CAP_START + 35
    $WM_CAP_SET_CALLBACK_CAPCONTROL = $WM_CAP_START + 85
    $WM_CAP_SET_CALLBACK_ERRORA = $WM_CAP_START + 2
    $WM_CAP_SET_CALLBACK_ERRORW = $WM_CAP_UNICODE_START + 2
    $WM_CAP_SET_CALLBACK_FRAME = $WM_CAP_START + 5
    $WM_CAP_SET_CALLBACK_STATUSA = $WM_CAP_START + 3
    $WM_CAP_SET_CALLBACK_STATUSW = $WM_CAP_UNICODE_START + 3
    $WM_CAP_SET_CALLBACK_VIDEOSTREAM = $WM_CAP_START + 6
    $WM_CAP_SET_CALLBACK_WAVESTREAM = $WM_CAP_START + 7
    $WM_CAP_SET_CALLBACK_YIELD = $WM_CAP_START + 4
    $WM_CAP_SET_MCI_DEVICEA = $WM_CAP_START + 66
    $WM_CAP_SET_MCI_DEVICEW = $WM_CAP_UNICODE_START + 66
    $WM_CAP_SET_OVERLAY = $WM_CAP_START + 51
    $WM_CAP_SET_PREVIEW = $WM_CAP_START + 50
    $WM_CAP_SET_PREVIEWRATE = $WM_CAP_START + 52
    $WM_CAP_SET_SCALE = $WM_CAP_START + 53
    $WM_CAP_SET_SCROLL = $WM_CAP_START + 55
    $WM_CAP_SET_SEQUENCE_SETUP = $WM_CAP_START + 64
    $WM_CAP_SET_USER_DATA = $WM_CAP_START + 9
    $WM_CAP_SET_VIDEOFORMAT = $WM_CAP_START + 45
    $WM_CAP_SINGLE_FRAME = $WM_CAP_START + 72
    $WM_CAP_SINGLE_FRAME_CLOSE = $WM_CAP_START + 71
    $WM_CAP_SINGLE_FRAME_OPEN = $WM_CAP_START + 70
    $WM_CAP_STOP = $WM_CAP_START + 68

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

    #include <GUIConstants.au3>
    #include <WindowsConstants.au3>

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

    $avi = DllOpen("avicap32.dll")
    $user = DllOpen("user32.dll")
    $snapfile = @ScriptDir & "\scrshot.bmp"

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

    $Main = GUICreate("Camera",1250,600)
    $cap = DllCall($avi, "int", "capCreateCaptureWindow", "str", "cap", "int", BitOR($WS_CHILD,$WS_VISIBLE), "int", 15, "int", 15, "int", 1200, "int", 550, "hwnd", $Main, "int", 1)

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

    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_CONNECT, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_SCALE, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_OVERLAY, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEW, "int", 1, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_PREVIEWRATE, "int", 1, "int", 0)

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

    GUISetState(@SW_SHOW)
    HotKeySet("{INSERT}", "SnapShot"); Press 'Insert' to make a SnapShot !

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
    ;DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_SET_CALLBACK_FRAME, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_END, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_DRIVER_DISCONNECT, "int", 0, "int", 0)
    ;DllClose($avi)
    DllClose($user)
    Exit
    EndIf
    Sleep(1)
    Wend

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

    Func SnapShot()
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_GRAB_FRAME_NOSTOP, "int", 0, "int", 0)
    DllCall($user, "int", "SendMessage", "hWnd", $cap[0], "int", $WM_CAP_FILE_SAVEDIBA, "int", 0, "str", $snapfile)
    EndFunc

    [/autoit]


    Du kannst die GUI auf

    [autoit]

    @DesktopWidth
    @DesktopHeight

    [/autoit]

    maximieren und dann ein Screenshot vom Bildschirm machen und das dann abspeichern.
    Ich seh grad im Skript, die Taste Insert (Einfügen) drücken um einen Snapshot zu machen!

  • NumberConvert.au3 - Jedes System in jedes andere konvertierbar!

    • alpines
    • 23. August 2013 um 11:58

    Erstmal danke ich euch für das tolle Feedback und PainTain das schon erwähnt hat steht im Script das StringSplit mit dem Flag 2, welches im 1. Arrayeintrag [0] keine Arraygröße hinterlässt.
    Bei dem Errorhandling hab ich ein bisschen gepennt, aber ich hab es sofort natürlich ergänzt.

    Die Funktion bietet kein korrektes Error-Handling und ich denke das ist auch nicht nötig, weil ja jeder weiß wie das funktioniert, bzw. kurz in die UDF schauen kann!

    Desweiteren hab ich die Arraygröße von 10000 auf die Größe von $A_VALUE angepasst. D.h. wenn das eingegebene 50 Zeichen lang ist, dann ist der Array auch nur 50 Einträge groß!

  • Passwort aus .ini lesen

    • alpines
    • 22. August 2013 um 20:12
    [autoit]

    _StringEncrypt()

    [/autoit]

    eignet sich auch hervorragend dazu.

  • NumberConvert.au3 - Jedes System in jedes andere konvertierbar!

    • alpines
    • 22. August 2013 um 16:24

    Hi,

    wie sicher ein paar von euch mitbekommen haben hatte ich vor einer kleinen Weile einen Dezimal- zu Binärumrechner der das Horner-Schema benutzt vorgestellt.
    Dann fiel mir ein, das man so ziemlich alles mit dem Horner-Schema von Dezimalzahlen zu dem Zahlensystem umwandeln kann, wenn man das System geordnet in einem Array anspricht (Source-Code!)
    Nach kurzer Überlegung hab ich mich auch an die Arbeit gemacht und das Script endlich fertig geschrieben!

    Mit NumberConvert.au3 ist es nun möglich:
    Jedes Zahlensystem in jedes andere zu konvertieren und somit nicht mehr auf die einzelnen Funktionen wie z.B. Dec / Hex nutzen zu müssen (auch wenn sie natürlich noch andere Sachen machen.)

    Ich hab zu der UDF noch paar globale und konstante Variablen hinzugefügt die folgendermaßen heißen:

    [autoit]

    Global Const $NS_DEC = "0-1-2-3-4-5-6-7-8-9", _
    $NS_HEX = "0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F", _
    $NS_BIN = "0-1", _
    $NS_OCT = "0-1-2-3-4-5-6-7", _
    $NS_ABC = "A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z"

    [/autoit]

    Diese dienen dazu um nicht für jedes System ständig die Ziffern / Buchstaben schreiben zu müssen.

    Wenn ihr die Funktion

    [autoit]

    _NumberConvert($sValue, $sNSystemFrom, $sNSystemTo)

    [/autoit]

    aufruft, dann funktioniert das so:

    [autoit]

    _NumberConvert($sValue, $sNSystem1, $sNSystem2)
    ; $sValue ist der Wert / Zahl / Buchstabe den ihr konvertieren möchtet.
    ; $sNSystemFrom ist das Zahlensystem von dem ihr "weg"-konvertieren möchtet.
    ; $sNSystemTo ist das Zahlensystem in das ihr $sValue konvertieren wollt.

    [/autoit]


    Natürlich ist die Funktion langsamer als z.B. Dec / Hex aber sie bietet viele und vorallem individuelle Konvertierungsmöglichkeiten.
    Die Langsamheit der Funktion setzt sich daraus zusammen, das erst von $sNSystemFrom zum Dezimalsystem konvertiert wird und danach vom Dezimalsystem zum $sNSystemTo konvertiert wird.

    Es wird ein Array mit 10.000 Plätzen erstellt, d.h. die maximale Grenze des von und hin Konvertierens liegt bei 10.000.
    Grenze aufgehoben, das Array mit den Plätzen ist jetzt so groß wie die Eingabe wenn ihr die 2. Version ohne Errorhandling nutzt!

    So, kommen wir endlich zur UDF, besser zu den Variablen und der Funktion

    NumberConvert.au3 - Jedes Zahlensystem in jedes andere Konvertieren
    [autoit]

    Global Const $NS_DEC = "0-1-2-3-4-5-6-7-8-9", _
    $NS_HEX = "0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F", _
    $NS_BIN = "0-1", _
    $NS_OCT = "0-1-2-3-4-5-6-7", _
    $NS_ABC = "A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z"

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

    Func _NumberConvert($sValue, $sNSystemFrom, $sNSystemTo)
    If $sNSystemFrom = $sNSystemTo Then
    Return $sValue
    ElseIf StringInStr($sNSystemFrom, $sValue) = False Then
    Return 0
    EndIf

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

    Local $sReturn, $bSign, $iDec, $iToCap, $iExponent = -1, $fTmp

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

    If StringLeft($sValue, 1) = "-" Then
    $bSign = True
    $sValue = StringTrimLeft($sValue, 1)
    EndIf

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

    Local Const $S_NS_FROM = StringReplace($sNSystemFrom, "-", ""), _
    $A_NS_FROM = StringSplit($sNSystemFrom, "-", 2), _
    $A_NS_TO = StringSplit($sNSystemTo, "-", 2), _
    $A_VALUE = StringSplit($sValue, "", 2)

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

    Local $A_NS_DEC[10000]

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

    For $i = 0 To 9999
    $A_NS_DEC[$i] = $i
    Next

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

    For $i = 0 To UBound($A_VALUE) - 1
    $iDec += $A_NS_DEC[StringInStr($S_NS_FROM, $A_VALUE[$i])-1] * UBound($A_NS_FROM) ^ (UBound($A_VALUE) - 1 - $i)
    Next

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

    Do
    $sReturn = $A_NS_TO[Mod($iDec, UBound($A_NS_TO))] & $sReturn
    If $iDec / UBound($A_NS_TO) <> Int($iDec / UBound($A_NS_TO)) Then
    $iDec = Int($iDec / UBound($A_NS_TO))
    Else
    $iDec /= UBound($A_NS_TO)
    EndIf
    Until $iDec = 0

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

    If $bSign = True Then $sReturn = "-" & $sReturn

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

    Return $sReturn
    EndFunc

    [/autoit]
    NumberConvert.au3 - Jedes Zahlensystem in jedes andere Konvertieren - ohne Errorhandling aber funktionierend
    [autoit]

    Global Const $NS_DEC = "0-1-2-3-4-5-6-7-8-9", _
    $NS_HEX = "0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F", _
    $NS_BIN = "0-1", _
    $NS_OCT = "0-1-2-3-4-5-6-7", _
    $NS_ABC = "A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z"

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

    Func _NumberConvert($sValue, $sNSystemFrom, $sNSystemTo)
    If $sNSystemFrom = $sNSystemTo Then
    Return $sValue
    EndIf

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

    Local $sReturn, $bSign, $iDec, $iToCap, $iExponent = -1, $fTmp

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

    If StringLeft($sValue, 1) = "-" Then
    $bSign = True
    $sValue = StringTrimLeft($sValue, 1)
    EndIf

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

    Local Const $S_NS_FROM = StringReplace($sNSystemFrom, "-", ""), _
    $A_NS_FROM = StringSplit($sNSystemFrom, "-", 2), _
    $A_NS_TO = StringSplit($sNSystemTo, "-", 2), _
    $A_VALUE = StringSplit($sValue, "", 2)

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

    Local $A_NS_DEC[UBound($A_NS_FROM)]

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

    For $i = 0 To UBound($A_NS_FROM) - 1
    $A_NS_DEC[$i] = $i
    Next

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

    For $i = 0 To UBound($A_VALUE) - 1
    $iDec += $A_NS_DEC[StringInStr($S_NS_FROM, $A_VALUE[$i])-1] * UBound($A_NS_FROM) ^ (UBound($A_VALUE) - 1 - $i)
    Next

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

    Do
    $sReturn = $A_NS_TO[Mod($iDec, UBound($A_NS_TO))] & $sReturn
    If $iDec / UBound($A_NS_TO) <> Int($iDec / UBound($A_NS_TO)) Then
    $iDec = Int($iDec / UBound($A_NS_TO))
    Else
    $iDec /= UBound($A_NS_TO)
    EndIf
    Until $iDec = 0

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

    If $bSign = True Then $sReturn = "-" & $sReturn

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

    Return $sReturn
    EndFunc

    [/autoit]


    Mache werden sicherlich sagen, ja das gibts doch schon! Ich hab das im Forum xy gesehen oder das hab ich schon lange selbstgemacht!
    Da kann ich nur zustimmen, aber ich möchte es anderen die daran interessiert sind nicht vorenthalten!

    Lob und Kritik sind sehr willkommen und freu mich schon auf euer Feedback! :D

    Die UDF könnt ihr beliebig umbenennen, weil sich #include <NumberConvert ohne Errorhandling.au3> wahrscheinlich nicht so toll ist wie #include <NumberConvert.au3>!

    Wichtig, bitte benutzt die Version ohne Errorhandling ("NumberConvert ohne Errorhandling.au3"), da man dort mehr als nur ein Zeichen konvertieren kann.
    Important, please download the version (2nd) ("NumberConvert ohne Errorhandling.au3") without error handling because it allows you to convert more than one character.

    Dateien

    NumberConvert.au3 1,39 kB – 856 Downloads NumberConvert ohne Errorhandling.au3 1,35 kB – 685 Downloads
  • Passwort aus .ini lesen

    • alpines
    • 22. August 2013 um 14:36

    Zu Testzwecken solltest du jede Anweisung in eine separate Zeile schreiben, damit du die returns besser auswerten kannst.
    Hast du ein Konstrukt was so bleibt und nicht verändert wird, dann kannst du alles in eine Zeile hauen.

  • Bildschirm vorübergehend einfrieren

    • alpines
    • 22. August 2013 um 11:01

    Schnitzel, Wolf möchte den "Schönheitsfehler" vertuschen den Windows 7 automatisch macht.
    Wenn du ein Fenster maximierst dann siehst du ja wie es sich maximiert bzw. erscheint und er will das es sofort da ist, soweit ich verstanden hab.

  • Bildschirm vorübergehend einfrieren

    • alpines
    • 22. August 2013 um 09:58

    Oder mit

    [autoit]

    WinSetTrans()

    [/autoit]
  • Win 7 zeigt grundlos konsolenfenster im hintergrund an

    • alpines
    • 21. August 2013 um 20:02

    Nur als Tipp nebenbei:

    [autoit]

    Local $1
    Local $2
    Local 3

    [/autoit]

    könne um Zeilen zu sparen und den Code schöner zu gestalten zu

    [autoit]

    Local $1, $2, $3
    ;oder
    Local $1, _
    $2, _
    $3

    [/autoit]

    werden.

  • Problem mit if Abfrage (denkfehler meinerseits ?)

    • alpines
    • 21. August 2013 um 19:41
    [autoit]

    If $1 = "5" Or "15" Or "21" Or "27" Or "29" Or "48" Then

    [/autoit]

    bedeutet:

    [autoit]

    ;Wenn $1 = 5 ist oder,
    15 (automatisch True) ist oder,
    21, .....

    [/autoit]

    Du musst für jedes einzelne $1 = ... schreiben.

  • Einzelne Werte im Array nacheinander im Seitenquelltext einer Webseite suchen

    • alpines
    • 20. August 2013 um 21:16

    Um Variablen zu kombinieren verwendet man nicht + sondern ein

    [autoit]

    &

    [/autoit]


    Sonst addierst du diese Werte was bei einem String nicht möglich ist, der würde "1" + "2" = 3 machen und nicht "12".

  • Dec2Binary Rechner

    • alpines
    • 19. August 2013 um 21:57

    So, ich bedanke mich für euer Feedback!

    Ich hab jetzt das letzte Script hochgeladen, hab vergessen bei dem einen noch das eine StringTrim wegzumachen.
    Alles sollte jetzt ein bisschen schneller laufen und hoffentlich zuversichtlicher und schöner!

  • Dec2Binary Rechner

    • alpines
    • 19. August 2013 um 18:47

    Danke, hab ich sofort ergänzt.

  • Dec2Binary Rechner

    • alpines
    • 19. August 2013 um 18:28

    Freut mich :)
    Naja, die Ganzzahldivision hab ich mir halt selber geschrieben und die passt ja jetzt auch so :D

  • Dec2Binary Rechner

    • alpines
    • 19. August 2013 um 17:26

    Hi,

    ich hab mich mal an einen Dezimal- zu Binärzahlenrechner gesetzt ohne die entsprechenden Funktionen wie z.B. Binary / Dec zu verwenden.
    Das Script arbeitet mit dem Horner-Schema, wer das nicht kennt der liest in dem Spoiler hier drunter weiter.

    Horner-Schema - Erklärung

    Stell dir die Zahl 15 vor, die wäre im Binärsystem 1111.
    Die Binärrechnung möchte ich jetzt nicht erklären, weil es dazu viel bessere Beiträge gibt als ich schreiben kann :D

    Also, man hat die Zahl 15. Die 15 teilt man durch 2 und erhält (wir nutzen die Ganzzahldivision - keine Dließkommazahldivision) den Rest 1.
    Dann nimmt man das Ergebnis (7) und teilt es wieder durch 2 bis man bei 0 ist.
    Ich werde Ganzzahldivision durch ein \ kennzeichnen.

    15 \ 2 = 7 Rest 1.
    7 \ 2 = 3 Rest 1.
    3 \ 2 = 1 Rest 1.
    1 \ 2 = 0 Rest 1.

    Nun nehmen wir die Reste von unten nach oben und hängen sie an den anderen dran: 1111.
    1111 und wie wir vorhin festgestellt haben ist 1111 in binär 15 in dezimal.


    Da ich keine Funktion für eine Ganzzahldivision in AutoIt fand, oder ich bin einfach zu blind, hab ich es anders umformuliert.
    Hoffentlich ist alles verständlich genug!

    Hab die Stringfunctions jetzt mit Int ersetzt, läuft schneller und sauberer!

    Horner-Schema - Dezimal zu Binär - die Umrechnung
    [autoit]

    $iDecimal = InputBox("Dezimal", "Geben Sie eine ganzstellige Dezimalzahl ein:")
    If $iDecimal <> Int($iDecimal) Then $iDecimal = Int($iDecimal)

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

    $bNumber = _DecToBinary($iDecimal)

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

    MsgBox(64, "Binär", "Die Dezimalzahl " & $iDecimal & " ist als binäre Zahl: " & $bNumber & ".")

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

    Func _DecToBinary($iDecimal)
    Local $bReturn, $bSign = False

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

    If $iDecimal < 0 Then
    $iDecimal *= -1
    $bSign = True
    EndIf

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

    Do
    $bReturn = Mod($iDecimal, 2) & $bReturn
    If $iDecimal / 2 <> Int($iDecimal / 2) Then
    $iDecimal = Int($iDecimal / 2)
    Else
    $iDecimal /= 2
    EndIf

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

    Until $iDecimal = 0

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

    If $bSign = True Then $bReturn = "-" & $bReturn

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

    Return $bReturn
    EndFunc

    [/autoit]


    Ich freu mich wenns euch gefällt, und ich freu mich wenns euch nicht gefällt und ihr mir Kritik da lässt, also haut in die Tasten!

    Vielen Dank für euer Feedback!

    Dateien

    Dec2Binary.au3 732 Byte – 813 Downloads Dec2Binary mit Int.au3 465 Byte – 786 Downloads
  • Bash Zitate

    • alpines
    • 8. August 2013 um 22:38

    Du könntest einen eingeschränkten Http Server basteln, der die Homepage / Datenbank aktualisiert, das geht schnell und dauert nicht lang.

  • Carmods in SA:MP für alle spieler sichtbar machen.

    • alpines
    • 30. Juli 2013 um 12:15

    Dann erstellst du einen Launcher, den man freiwillig benutzen kann auf deinem Webspace, den man runterladen kann. Der Backupt und Downloaded dann das ganze, das Script zum downloaden und uploaden ist sehr sehr einfach und AutoIt bietet dafür auch Standardfunktionen wie bereits erwähnt.

  • Carmods in SA:MP für alle spieler sichtbar machen.

    • alpines
    • 29. Juli 2013 um 14:25

    Den Launcher zu programmieren ist wirklich ein Kinderspiel, solange man einen Webspace mit den Modelnamen und Files hat.
    Wenn du möchtest und es kein aufwendiger Launcher werden soll und es nur eine Datei ist die gebackupt und heruntergeladen werden soll und nicht einzelne Models in einem Auto das sie nur teilweise geändert werden, obwohl das mit der einen Datei natürlich auch geht :D Dann mach ich dir das gerne. Mich würde der Source mal interessieren und vielleicht kann man daraus ja weitergehen.

  • Carmods in SA:MP für alle spieler sichtbar machen.

    • alpines
    • 29. Juli 2013 um 01:34

    Wie kann man einen Source-Code editieren wenn man nicht weiß was AutoIt ist, oder ist der Source nicht in AutoIt geschrieben?
    Die Basics sind echt einfach und AutoIt bietet für BackUp und Download Standardfunktionen an.

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™