email versenden mi optionen und absatz

  • Hallo leute,

    versuche gerade eine "Fehler melden" Funktion in eins meiner Programme einzubauen.
    Hab den Code auch soweit fertig das er mir das Standard Mailprogramm startet und meine eMail Adresse, das Subject und den Body mit angibt.
    Jetzt versuche ich schon seit ner halben Stunde einen Absatz mit in den Body zu bekommen aber nix geht.
    Weder @CRLF noch Send("{ENTER}") funktioniert.

    Hier mal der Code, vll. kann mir ja einer helfen. Achja Standardmail Programm ist Lotus Notes!

    [autoit]


    Case $Bug
    $body = @UserName&@CRLF&@ComputerName&@CRLF&@CRLF&"Hier bitte den Fehler beschreiben!"&@CRLF&@CRLF
    If MsgBox(4+16+262144,"Fehler Melden", "Haben Sie einen Fehler bemerkt und möchten Sie mich darüber informieren?") == 6 Then
    Run(@SystemDir & "\rundll32.exe url.dll,FileProtocolHandler mailto:" & $email & "?Subject=Fehler in SCS endeckt!" & "&body=" & $body)
    EndIf

    [/autoit]

    Er schreibt den Body dann leider so:

    Code
    @UserName@ComputerNameHier bitte den Fehler beschreiben!


    €dit:

    Ok schon gelöst!
    Man muss Hexadezimal Syntax verwenden.
    Sieht dann so aus!

    [autoit]


    Case $Bug
    $body = "User: " & @UserName & "%0A" & "PC: " & @ComputerName & "%0A" & "%0A" & "Hier bitte den Fehler beschreiben!" & "%0A" & "%0A"
    If MsgBox(4+16+262144,"Fehler Melden", "Haben Sie einen Fehler bemerkt und möchten Sie mich darüber informieren?") == 6 Then
    Run(@SystemDir & "\rundll32.exe url.dll,FileProtocolHandler mailto:" & $email & "?Subject=Fehler in SCS endeckt!" & "&body=" & $body)
    EndIf

    [/autoit]

    Einmal editiert, zuletzt von L0c4lh0sT (28. Mai 2009 um 10:00)

  • :rofl: Alles gute zum "Geburtstag" ^^

    010001110110111101101111011001110110110001100101001000000110100001101001011011000110011001110100001000000101111001011110 :thumbup:

  • Wie kommst Du darauf, was
    "010001110110111101101111011001110110110001100101001000000110100001101001011011000110011001110100001000000101111001011110"
    bedeutet?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    k3mrwmIBHejryPvylQSFieDF5f3VOnk6iLAVBGVhKQegrFuWr3iraNIblLweSW4WgqI0SrRbS7U5jI3sn50R4a15Cthu1bEr

    • Offizieller Beitrag

    Das ist Binärcode! Ein Zeichen im ASCII-Zeichensatz kann einen Wert von 0-255 annehmen, das entspricht 8 Stellen pro Zeichen im Binärcode (2^8=256).
    Wenn man den String nun in jeweils 8stellige Strings aufteilt und jeden für sich ins Dezimalsystem umwandelt, danach das Zeichen mit diesem Wert aus der ASCII-Tabelle einsetzt, erhält man ein oder mehrere Worte.
    Script zum umwandeln:

    [autoit]


    #include <Array.au3>
    $string = '010001110110111101101111011001110110110001100101001000000110100001101001011011000110011001110100001000000101111001011110'
    $array = StringRegExp($string, '.{8}', 3)
    $out = ''
    For $i = 0 To UBound($array) - 1
    $out &= Chr(_BinToDec($array[$i]))
    Next
    MsgBox(0,0,$out)

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

    Func _BinToDec($bin)
    Local $dec = 0
    For $i = 8 To 1 Step -1
    $dec += 2^(8-$i) * StringMid($bin, $i, 1)
    Next
    Return $dec
    EndFunc

    [/autoit]
  • 010001010110001101101000011101000010000001101110011010010110001101100101001000000100111101110011011000110110000101110010

    Achja, PS:

    [autoit]

    01001101011100110110011101000010011011110111100000100000001010000011011000110100001011000010000000100010010010000110000101101100011011000110111100100010001011000010000000100010010010000110000101101100011011000110111100100000010101110110010101101100011101000010001000101001

    [/autoit]
    • Offizieller Beitrag

    010001000110000101101110011010110110010100100000011001101111110001110010001000000110010001101001011001010010000001000010011011000111010101101101011001010110111000100000001110100010110100101001

    Hier die erweiterte Version:

    Spoiler anzeigen
    [autoit]


    ConsoleWrite(_BinToString('01010100011001010111001101110100') & @CRLF)
    ConsoleWrite(_StringToBin('Test') & @CRLF)

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

    Func _BinToString($bin)
    Local $aChr = StringRegExp($bin, '.{8}', 3), $dec, $string = ''
    For $k = 0 To UBound($aChr) - 1
    $dec = 0
    For $i = 8 To 1 Step -1
    $dec += 2 ^ (8 - $i) * StringMid($aChr[$k], $i, 1)
    Next
    $string &= Chr($dec)
    Next
    Return $string
    EndFunc ;==>_BinToString

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

    Func _StringToBin($string)
    Local $aChr = StringSplit($string, ''), $bin = ''
    For $k = 1 To $aChr[0]
    For $i = 7 To 0 Step -1
    $bin &= (BitAND(Asc($aChr[$k]), 2 ^ $i) = 2 ^ $i) * 1
    Next
    Next
    Return $bin
    EndFunc ;==>_StringToBin

    [/autoit]