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

Beiträge von Tigger1975

  • Datum Auslesen

    • Tigger1975
    • 12. Juni 2009 um 18:25
    Zitat von Ph1b

    Hey, ich bekomm mit den _IEFunktionen, und ein Paar Stringfunktionen ein Datum in einem String gespeichert.

    Ohne die "".

    Wie kann ich das jetzt in ein Brauchbares Datum umwandeln, und checken, ob der Beitrag schon mehr als 24 Stunden zurück liegt?
    Denk da an irgentwas mit @Hour, etc, aber ich hab keine Ahnung, wie ich den Oberen String in Variablen zerlegen kann.

    Hallo,

    hier mal ein Beispiel ... damit hast du das Datum und die Uhrzeit so das du mit mitgelieferten UDFs von Autoit "Date.au3" weiter rechnen kannst.

    Spoiler anzeigen
    [autoit]

    $IEDateTime = "12.05.2009 11:17"

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

    ;in Datum und Uhrzeit Zerlegen
    $temp1 = StringSplit($IEDateTime," ")

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

    ;Datum in 3 Teile zuerlegen
    $temp2 = StringSplit($temp1[1],".")
    ;Zeit in 2 Teile zuerlegen ist eigenlich nicht nötig dient nur der Ilustration
    $temp3 = StringSplit($temp1[2],":")

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

    msgbox(0,"Augabe im NowCalc() Format", $temp2[3] & "/" & __Pad($temp2[2]) & "/" & __Pad($temp2[1]) & " " & __Pad($temp3[1]) & ":" & __Pad($temp3[2]) & ":00")

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

    Func __Pad($Val)
    If StringLen($Val) = 2 Then
    Return $Val
    Else
    Return "0" & $Val
    EndIf
    EndFunc ;==>__Pad

    [/autoit]
  • COM Recordset Anschauen für die wietere bearbeitung

    • Tigger1975
    • 12. Juni 2009 um 17:39

    Hallo,<br><br>ich suche nach einer möglichkeit ein Comopjekt anzuschauen im besoneren ein Recordset welches uber Execute auf einer Datenbank entstanden ist ich brauche den Rückgabe wert dieses Executes <br><br>ich Verwende dies UDF für die DB Connects <br><br>

    Spoiler anzeigen
    [autoit]

    #include-once<br>;===============================================================================<br>;<br>; Function Name: _SQLConnect<br>; Description: Initiate a connection to a SQL database<br>; Syntax: $oConn = _SQLConnect($sServer, $sDatabase, $fAuthMode = 0, $sUsername = "", $sPassword = "", _<br>; $sDriver = "{SQL Server}")<br>; Parameter(s): $sServer - The server your database is on<br>; $sDatabase - Database to connect to<br>; $fAuthMode - Authorization mode (0 = Windows Logon, 1 = SQL) (default = 0)<br>; $sUsername - The username to connect to the database with (default = "")<br>; $sPassword - The password to connect to the database with (default = "")<br>; $sDriver (optional) the ODBC driver to use (default = "{SQL Server}")<br>; Requirement(s): Autoit 3 with COM support<br>; Return Value(s): On success - returns the connection object for subsequent SQL calls<br>; On failure - returns 0 and sets @error:<br>; @error=1 - Error opening database connection<br>; @error=2 - ODBC driver not installed<br>; @error=3 - ODBC connection failed<br>; Author(s): SEO and unknown<br>; Note(s): None<br>;<br>;===============================================================================<br>Func _SQLConnect($sServer, $sDatabase, $fAuthMode = 0, $sUsername = "", $sPassword = "", $sDriver = "{SQL Server}")<br> Local $sTemp = StringMid($sDriver, 2, StringLen($sDriver) - 2)<br> Local $sKey = "HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers", $sVal = RegRead($sKey, $sTemp)<br> If @error or $sVal = "" Then Return SetError(2, 0, 0)<br> $oConn = ObjCreate("ADODB.Connection")<br> If NOT IsObj($oConn) Then Return SetError(3, 0, 0)<br> If $fAuthMode Then $oConn.Open ("DRIVER=" &amp; $sDriver &amp; ";SERVER=" &amp; $sServer &amp; ";DATABASE=" &amp; $sDatabase &amp; ";UID=" &amp; $sUsername &amp; ";PWD=" &amp; $sPassword &amp; ";")<br> If NOT $fAuthMode Then $oConn.Open("DRIVER=" &amp; $sDriver &amp; ";SERVER=" &amp; $sServer &amp; ";DATABASE=" &amp; $sDatabase)<br> If @error Then Return SetError(1, 0, 0)<br> Return $oConn<br>EndFunc ;==&gt;_SQLConnect<br><br>;===============================================================================<br>; Function Name: _SQLExecute<br>; Description: Send a query to a SQL database and return the results as an object<br>; Syntax: $oQuery = _SQLQuery($oConn, $sQuery)<br>; Parameter(s): $oConn - A database connection object created by a previous call to _SQLConnect<br>; $sQuery - The SQL query string to be executed by the SQL server<br>; Requirement(s): Autoit 3 with COM support<br>; Return Value(s): On success - returns the query result as an object<br>; On failure - returns 0 and sets @error:<br>; @error=1 - Unable to process the query<br>; Author(s): SEO and unknown<br>; Note(s): None<br>;<br>;===============================================================================<br>Func _SQLExecute($oConn, $sQuery)<br> If IsObj($oConn) Then<br> $oCom = ObjCreate("ADODB.Command")<br> If IsObj($oCom) Then<br> $oCom.ActiveConnection = $oConn<br> $oCom.CommandText = $sQuery<br> Return $oCom.Execute<br> Else<br> Return SetError(1, 0, 0)<br> EndIf<br> Return 0<br> EndIf<br> Return SetError(1, 0, 0)<br>EndFunc ;==&gt;_SQLExecute<br><br>;===============================================================================<br>;<br>; Function Name: _SQLConnect<br>; Description: Send a query to a SQL database and return the results as an object<br>; Syntax: $oQuery = _SQLQuery($oConn, $sQuery)<br>; Parameter(s): $oConn - A database connection object created by a previous call to _SQLConnect<br>; $sQuery - The SQL query string to be executed by the SQL server<br>; Requirement(s): Autoit 3 with COM support<br>; Return Value(s): On success - returns the query result as an object<br>; On failure - returns 0 and sets @error:<br>; @error=1 - Unable to process the query<br>; Author(s): SEO and unknown<br>; Note(s): None<br>;<br>;===============================================================================<br>Func _SQLQuery($oConn, $sQuery)<br> If IsObj($oConn) Then Return $oConn.Execute($sQuery)<br> Return SetError(1, 0, 0)<br>EndFunc ;==&gt;_SQLQuery<br><br>;===============================================================================<br>;<br>;~ ; Function Name: _SQLDisconnect<br>; Description: Disconnect and close an existing connection to a SQL database<br>; Syntax: _SQLDisconnect($oConn)<br>; Parameter(s): $oConn - A database connection object created by a previous call to _SQLConnect<br>; Requirement(s): Autoit 3 with COM support<br>; Return Value(s): On success - returns 1 and closes the ODBC connection<br>; On failure - returns 0 and sets @error:<br>; @error=1 - Database connection object doesn't exist<br>; Author(s): SEO and unknown<br>; Note(s): None<br>;<br>;===============================================================================<br>Func _SQLDisconnect($oConn)<br> If NOT IsObj($oConn) Then Return SetError(1, 0, 0)<br> $oConn.Close<br> Return 1<br>EndFunc ;==&gt;_SQLDisconnect<br>

    [/autoit]

    <br><br>Kann mir einer Helfen?<br><br>EDIT: hab das mal eben schnell in VB nach Programiert um mit dem Debugger das zu Testen und hab nun meine Lösung wobei ich gene Irgent eine Möglichkeit hätte das in autoit zu machen.<br>-- im Übrigen hat die SQL abfrage den von mir erwarteten Rückgabe wert eben als solchen zurück gegeben und das com Obejkt kann damit wol nichts anfangen. Habe die Abfrage geändert so das ein Select am ende gemacht wird und hab dem Wert darüber einen Namen gegeben... Sihe da es Funktioniert.

  • StringRegExp

    • Tigger1975
    • 19. Mai 2009 um 16:06

    Hi das wäre dann das passende Pattern

    ("CN=)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(\\,\s*)([a-zA-ZäöüÄÖÜß0-9_\-.]+)(.*)
    .^... ist das was gefehlt hat.

    ansonnsten es gibt ein Super tool für regex.

    http://www.weitz.de/regex-coach/</a>

    damit kannst du Super dein regex gegen den Text testen, und das wärend du den regex aufbaust.

  • TCP Pakete abfangen bzw. kontrollieren

    • Tigger1975
    • 18. Mai 2009 um 19:08

    Dann Versuch doch mal im IE den Proxy einzustellen auf localhost:80 und prüfe mal wie sich das ganze verhält ... ansonsten könnte man mal überlegen die Netzwerkkarte in den Promiscuous Mode
    zu schalten ... vielleich mit der Software wincap dann die Pakete zu Filtern und wirklich jedes paket mitlesen dann können Sie aber nicht Manipuliert werden.

  • TCP Pakete abfangen bzw. kontrollieren

    • Tigger1975
    • 18. Mai 2009 um 14:08

    Hallo,

    also entweder ich habe nicht Verstanden was du machen willst oder das was du vor hast kann so nicht gehen.
    Wenn du überwachen willst was so an den Browser zurückgeschikt wird könntest du sowas wie einen Proxy bauen ... (wobei es davon ja schon genug gibt)
    So könntest du im IE einen Localhost Port 80 als Proxy einstellen ... allserding müsstest du dich dann im Script um alles kümmern was zwischen webserver und Client hin und herläuft.
    Keine leichte aufgabe wie ich finde.

    Nochmal zu dem Thema du öffnest local einen Port 80 und möchtes, dass wenn du im Browser Google aufrufst das dein Localer Port was davon mitbekommt, das ist nicht möglich der Port 80 gehört zu dem Webserver mit dem ein Browser sprechen will und der Browser deffiniert den Antwort Port irgentwo über 1024 und teilt diesen dem Webserver mit.
    Der webserver antwortet auf dem Port der ihm vom Client zugewiesen wurde.

    Also wenn dein Browser den Webserver google.de (216.239.59.104) auf port 80 Anspricht ist die natürlich nicht 127.0.0.1 Port 80 und somit kommt das Paket nie dort an.

  • TCPListen Verbindungen Parallel verarbeiten nicht Sequentiell

    • Tigger1975
    • 14. Mai 2009 um 17:18

    Na ja mit dem Timer hat das eigentlich Wunderbar Fuktioniert. Ich denke wenn es möglich wäre wie bei TESTTEST.au3 Script in der hilfe Autoit Selbst als Objekt zu laden und Events zu feuern würde das gehen. Ich habe mal ein Projekt realisiert welches den Explorer überwacht und die Zeiten Mitprotokoliert. das leuft auch asyncron. Auf die selbe weise könnte das hier auch gehen.

  • TCPListen Verbindungen Parallel verarbeiten nicht Sequentiell

    • Tigger1975
    • 14. Mai 2009 um 16:07

    Hat denn wirklich niemand eine Idee?

  • TCPListen Verbindungen Parallel verarbeiten nicht Sequentiell

    • Tigger1975
    • 13. Mai 2009 um 16:01

    Hallo,

    ich habe ein Script geschrienen in dem ich mit TCP Verbindungen Arbeite,

    Spoiler anzeigen
    [autoit]

    TCPStartup()
    If @error Then Exit
    $MainSocket = TCPListen($szIPADDRESS, $nPORT, 255)
    If $MainSocket = -1 Then Exit

    [/autoit]


    Nun möchte ich nicht mit einer Schleife jede einzelne Connection bearbeiten sonder alle nahezu gleichzeitig.

    Dazu habe ich erst mal _Timer_SetTimer($hGUI, 100, "_LookConnect") Verwendet und die Funktion _LookConnect aufgerufen

    Spoiler anzeigen
    [autoit]

    Func _LookConnect($hWnd, $Msg, $iIDTimer, $dwTime)
    #forceref $hWnd, $Msg, $iIDTimer, $dwTime
    Local $ConnectedSocket = -1
    $ConnectedSocket = TCPAccept($MainSocket)
    If $ConnectedSocket > 0 Then
    _connected($ConnectedSocket)
    EndIf
    EndFunc ;==>_LookConnect

    [/autoit]

    Wenn die Funktion eine Verbindung findet wird die Funktion für die Verbindung gestartet.
    Funktionert auch wunderbar

    Aber wenn ich das Script als Dienst starte Funktioniert das nicht mehr.
    Ich nehme an das die GUI als Dienst nicht Funktioniert und Somit auch der Timer nicht Funktioniert.

    Hat jemand eine Idee?
    Ich hatte noch einen anderen Ansatz verfolgt:

    ist es möglich einen Event im OS zu Verankern der eine Funktion im Script aufruft wenn er Ausgelöst wird so könnte in _LookConnect geprüft werden ob eine Verbindung besteht und wenn ja wird der Event gefeuert.

    mit _WinAPI_CreateEvent und _WinAPI_SetEvent wäre so mein Ansatz aber ich habe das Konstrukt noch nicht so geblickt.

    CU Alex

  • TCPStartup und TCPListen als Service öffnet keine Port

    • Tigger1975
    • 29. April 2009 um 09:32

    Hallo progandy,


    Zitat von progandy

    Ich glaube, du musst den service als Netzwerkdienst erstellen, sonst hat er keinen Zugriff. das könnte beim installieren so funktionieren:

    [autoit]

    _Service_Create("", $sServiceName, "Autoit Service Test", '"' & @ScriptFullPath & '"',"AUTHORITY\NetworkService")

    [/autoit]


    das habe ich schon versucht zwar nicht bei der Installation aber nachträglich auf NertworkService umgestellt und ich habe den Dienst auch schon als Admin User laufenlassen.

    Das brachte alles kein erfolg. Hast du noch eine Idee.

  • String bis zu einem speziellen Zeichen verkürzen?

    • Tigger1975
    • 27. April 2009 um 17:27

    Hallo,

    wenn es um Path angaben und Dateinamen geht kannst du auch _PathSplit verwenden schau dir die Hilfe an.

  • TCPStartup und TCPListen als Service öffnet keine Port

    • Tigger1975
    • 27. April 2009 um 17:18

    Hallo Raupi,

    Zitat von Raupi

    Was hällst du davon deine func main()im Script auch mal aufzurufen ? Ohne diese Func läuft nichts . Dann hast du 3 verschachtelte Schleifen in dieser Func , davon werden 2 nicht gebraucht. Die Variablendeklaration sollte außerhalb der Schleife stehen , genauso wie TCPStartup .

    die Funktion main() wird von der Funktion _Service_init($sServiceName) aufgerufen, das ist auch richtig so.
    Die Schleifen werden zwar in dieser Testversion nicht benötigt aber da Steht ja auch ";Removed Code " an dieser Stelle ist in meinem Script noch Code der immer wieder ausgeführt werden soll wenn eine Socket connection aufgebaut wurde somit sind auch alle Schleifen durchaus sinnfoll. es Funktioniert ja auch soweit, die Logzeilen sind zum testen reingekommen und tatsächlich im log tauch auch was auf. nur der Port wird nicht geöffnet

    CU

  • TCPStartup und TCPListen als Service öffnet keine Port

    • Tigger1975
    • 25. April 2009 um 08:43

    @ Scripter192

    Hallo, Danke erst mal für den Hinweis, Leider hat er mir nicht weiter geholfen, daran scheint es also nicht zu liegen.

    Zitat von Scripter192

    versuchst ma mit #requiedadmin dann könnte es gehen (vorahnung)

  • TCPStartup und TCPListen als Service öffnet keine Port

    • Tigger1975
    • 24. April 2009 um 15:57

    Hallo zusammen,

    ich habe ein Scriptgeschrieben das als TCP Server einen Port öffnet, wenn ich es als Nutzer meines Rechners starte Funktioniert auch alles super so wie ich es will. Dann habe ich nach einer möglichkeit gesucht diesen Server als Dienst zu Installieren, und dies hier gefunden

    http://www.autoitscript.com/forum/index.php?s=068720af1a61546ee7b8367c5782d490&showtopic=80201&st=0

    ich habe den Dienst dann auch schon unter Verschiedenen Konten laufen lassen, nur öffnet er mir nie meinen Port.
    ich habe auch mal ein par logzeilen eingebaut die Schleifen die ich eingebaut habe im main() funtionieren auch tatsächlich.

    hat jemand von euche eine Idee warum das nicht funktioniert?

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=Beta
    #AutoIt3Wrapper_Change2CUI=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ; Example of using service UDF to make an exe possibly runeed as a service
    ; By Arcker
    ; 10/09/2008
    #include <GUIConstantsEx.au3>
    #include <Constants.au3>
    ;#include <incPrivateRPC.au3>
    #include<Service.au3>
    #include <File.au3>

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

    Dim $szIPADDRESS = IniRead("Server.ini", "Settings", "IP", "")
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $szIPADDRESS = ' & $szIPADDRESS & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Dim $nPORT = IniRead("Server.ini", "Settings", "Port", "")
    ;ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $nPORT = ' & $nPORT & @crlf & '>Error code: ' & @error & @crlf) ;### Debug Console
    Dim $sComputerName = @ComputerName
    Dim $sServiceName = "PrivateRPCServer"
    Dim $sServiceUser, $sPassword

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

    If $cmdline[0] > 0 Then
    Switch $cmdline[1]
    Case "install", "-i", "/i"
    InstallService()
    Case "remove", "-u", "/u", "uninstall"
    RemoveService()
    Case Else
    ConsoleWrite(" - - - Help - - - " & @crlf)
    ConsoleWrite("params : " & @crlf)
    ConsoleWrite(" -i : install service" & @crlf)
    ConsoleWrite(" -u : remove service" & @crlf)
    ConsoleWrite(" - - - - - - - - " & @crlf)
    Exit
    ;start service.
    EndSwitch
    EndIf
    _Service_init($sServiceName)

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

    func main()
    while 1
    ;doing what you want here
    ;msgbox(0,"","ok")
    Local $MainSocket, $ConnectedSocket, $szIP_Accepted
    Local $recv, $slash, $values, $iniSectionCMD
    TCPStartup()
    $MainSocket = TCPListen($szIPADDRESS, $nPORT)
    If $MainSocket = -1 Then Exit

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

    While 1
    _FileWriteLog("C:\log.txt","While loop") ; zum testen eingefügt
    $ConnectedSocket = -1
    Do
    $ConnectedSocket = TCPAccept($MainSocket)
    Sleep(500)
    _FileWriteLog("C:\log.txt","Do loop") ; zum testen eingefügt
    Until $ConnectedSocket <> -1

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

    $szIP_Accepted = SocketToIP($ConnectedSocket)
    ;Removed Code
    WEnd
    If $ConnectedSocket <> -1 Then TCPCloseSocket($ConnectedSocket)
    TCPShutdown()
    Sleep(1000)
    WEnd
    EndFunc

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

    Func InstallService()
    ConsoleWrite("Installing service, please wait" & @CRLF)
    _Service_Create("", $sServiceName, "Autoit Service Test", '"' & @ScriptFullPath & '"')
    If @error Then
    ConsoleWrite("Problem installing service, Error number is " & @error & @CRLF & " message : " & _WinAPI_GetLastErrorMessage())
    Else
    ConsoleWrite("Installation of service successful")
    EndIf
    Exit
    EndFunc ;==>InstallService
    Func RemoveService()
    _StopService("", $sServiceName)
    _DeleteService("", $sServiceName)
    if not @error then ConsoleWrite("service removed successfully" & @crlf)
    Exit
    EndFunc ;==>RemoveService

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

    Func SocketToIP($SHOCKET)
    Local $sockaddr, $aRet

    $sockaddr = DllStructCreate("short;ushort;uint;char[8]")

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

    $aRet = DllCall("Ws2_32.dll", "int", "getpeername", "int", $SHOCKET, _
    "ptr", DllStructGetPtr($sockaddr), "int*", DllStructGetSize($sockaddr))
    If Not @error And $aRet[0] = 0 Then
    $aRet = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($sockaddr, 3))
    If Not @error Then $aRet = $aRet[0]
    Else
    $aRet = 0
    EndIf

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

    $sockaddr = 0

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

    Return $aRet
    EndFunc ;==>SocketToIP

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

    EDIT:
    Fehler gefunden wenn das script als Dienst läuft ist das Arbeitsverzeichnis eine anderens und der Zugriff auf die Settings.ini war somit nicht mehr möglich durch eine absolute Phadangabe wurde das Probelm beseitigt.
    Dennoch danke für die Hilfeversuche.

    Somit ist aber auch Klar das mit dem Service.au3 UDF durchaus auch ein Netzwerkdienst möglich ist.

  • Compiled Autoit script soll Output an STDOut übergeben

    • Tigger1975
    • 24. April 2009 um 11:26
    Zitat von progandy

    Konsolenanwendungen bekommst du so: Beim Kompilieren
    -mit dem AutoIt3Wrapper: die Checkbox "CUI instead of GUI" anhaken
    -mit AutToExe: da gibt es auch eine Checkbox... "Console?"

    wenn nicht, lad dir die aktuelle AutoIt-Version (3.3.0.0)

    Danke das Hilft echt weiter.

  • Compiled Autoit script soll Output an STDOut übergeben

    • Tigger1975
    • 22. April 2009 um 13:31

    Hallo Allerseits,

    ConsoleWrite() Habe ich versucht, nur leider wird nach dem Aufruf der Prompt sofort wieder Freigegeben.

    ähm. Konsolen Anwendung machen ??? wie?

  • Compiled Autoit script soll Output an STDOut übergeben

    • Tigger1975
    • 21. April 2009 um 18:31

    Hallo,

    ich habe ein Script geschrieben, dassD ie ermittelten Daten an den STDOut stream übergeben soll. So das eine Batchscript welches die Autoit exe startet den Output bekommt.

    gibt es dazu irgent eine Lösung?

  • UTF8 Sting Convertieren

    • Tigger1975
    • 18. April 2009 um 13:48

    Hallo alle, danke für eure hilfe

    Es hat funktioniert, der hinweis mit der Base64 Codierung war das was mir gefehlt hat, danach habe jch ja einen Binary String den ich dann wieder mit binarytostring($String,4) in string convertieren kann.

    Prima Hilfe.

  • UTF8 Sting Convertieren

    • Tigger1975
    • 15. April 2009 um 14:30

    Hey Cool danke Probiere ich Sofort aus.

  • AutoIt Router Restart

    • Tigger1975
    • 15. April 2009 um 14:21

    Hallo,

    es gibt für Firefox ein Plugin um die Fritzbox zum neu einwählen zu bringen, meines wisses nach geht das Tool auch mit anderen Routern.

  • UTF8 Sting Convertieren

    • Tigger1975
    • 15. April 2009 um 14:11

    Hallo,

    Ich habe einen String der wie folgt aussieht:

    =?utf-8?b?QmFja3VwIEV4ZWMtTWVsZHVuZzogQXVmdHJhZyBlcmZvbGdyZWljaA==?=

    dies ist ein Teil einer Betreffzeiele.
    Ich möchte nun diese Zeile im Klarzext darstellen, nur leider habe ich bis jetzt überhaupt keinen Ansatz.

    Ich Habe schon einiges Ausprobiert.

    und auch das hier gefunden:

    Spoiler anzeigen
    [autoit]

    Func Asc2Unicode($AscString, $addBOM = false)
    Local $BufferSize = StringLen($AscString) * 2
    Local $FullUniStr = DllStructCreate("byte[" & $BufferSize + 2 & "]")
    Local $Buffer = DllStructCreate("byte[" & $BufferSize & "]", DllStructGetPtr($FullUniStr) + 2)
    Local $Return = DllCall("Kernel32.dll", "int", "MultiByteToWideChar", _
    "int", 0, _
    "int", 0, _
    "str", $AscString, _
    "int", StringLen($AscString), _
    "ptr", DllStructGetPtr($Buffer, 1), _
    "int", $BufferSize)
    DllStructSetData($FullUniStr, 1, 0xFF, 1)
    DllStructSetData($FullUniStr, 1, 0xFE, 2)
    If $addBOM then
    Return DllStructGetData($FullUniStr, 1)
    Else
    Return DllStructGetData($Buffer, 1)
    Endif
    EndFunc

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

    Func Unicode2Asc($UniString)
    If Not isBinary($UniString) Then
    SetError(1)
    Return $UniString
    EndIf

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

    Local $BufferLen = StringLen($UniString)
    Local $Input = DllStructCreate("byte[" & $BufferLen & "]")
    Local $Output = DllStructCreate("char[" & $BufferLen & "]")
    DllStructSetData($Input, 1, $UniString)
    Local $Return = DllCall("kernel32.dll", "int", "WideCharToMultiByte", _
    "int", 0, _
    "int", 0, _
    "ptr", DllStructGetPtr($Input), _
    "int", $BufferLen / 2, _
    "ptr", DllStructGetPtr($Output), _
    "int", $BufferLen, _
    "int", 0, _
    "int", 0)
    Local $AscString = DllStructGetData($Output, 1)
    $Output = 0
    $Input = 0
    Return $AscString
    EndFunc

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

    Func Unicode2Utf8($UniString)
    If Not IsBinary($UniString) Then
    SetError(1)
    Return $UniString
    EndIf

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

    Local $UniStringLen = StringLen($UniString)
    Local $BufferLen = $UniStringLen * 2
    Local $Input = DllStructCreate("byte[" & $BufferLen & "]")
    Local $Output = DllStructCreate("char[" & $BufferLen & "]")
    DllStructSetData($Input, 1, $UniString)
    Local $Return = DllCall("kernel32.dll", "int", "WideCharToMultiByte", _
    "int", 65001, _
    "int", 0, _
    "ptr", DllStructGetPtr($Input), _
    "int", $UniStringLen / 2, _
    "ptr", DllStructGetPtr($Output), _
    "int", $BufferLen, _
    "int", 0, _
    "int", 0)
    Local $Utf8String = DllStructGetData($Output, 1)
    $Output = 0
    $Input = 0
    Return $Utf8String
    EndFunc

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

    Func Utf82Unicode($Utf8String)
    Local $BufferSize = StringLen($Utf8String) * 2
    Local $Buffer = DllStructCreate("byte[" & $BufferSize & "]")
    Local $Return = DllCall("Kernel32.dll", "int", "MultiByteToWideChar", _
    "int", 65001, _
    "int", 0, _
    "str", $Utf8String, _
    "int", StringLen($Utf8String), _
    "ptr", DllStructGetPtr($Buffer), _
    "int", $BufferSize)
    Local $UnicodeString = StringLeft(DllStructGetData($Buffer, 1), $Return[0] * 2)
    $Buffer = 0
    Return $UnicodeString
    EndFunc

    [/autoit]

    Aber das alles hilft mir nicht weiter.

    Dank für eure hilfe

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™