hier wurde es auch veröffentlicht.... ~.~
seid ihr heute mal wieder hilfreich!
hier wurde es auch veröffentlicht.... ~.~
seid ihr heute mal wieder hilfreich!
öhm... es ist die webtcp wie man hier auch herauslesen kann und selbst schauen kann, an der udf ist definitiv nichts falsch
aber extra für dich^^
#include "AutoItObject.au3"
#include-once
#region Copyright & Lizenz
;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯;
; ;
; Copyright ;
; ;
; Copyleft (C) 2010 Alexander Mattis ;
; ;
; Erscheinung: 01.11.2010 ;
; Version: 0.40 ;
; ;
; ;
; Debug-Mode ;
; ;
; Der Debug-Mode kann beim Erstellen eines WebTcp-Objektes eingeschaltet werden, indem man als Parameter "TRUE" ;
; übergibt. Er kann zu jeder Zeit per $oObject.DebugeModeEnable / $oObject.DebugModeDisable ein- oder ausgeschaltet ;
; werden. ;
; ;
; Jeder Funktionsaufruf wird durch eine Blaue Zeile (beginnend mit ">") in der Console eingeleitet. Das beenden einer ;
; Funktion wird durch eine grüne Zeile (beginnend mit "+"), falls die Funktion fehlerfrei ausgeführt wurde, oder ;
; eine rote Zeile (beginnend mit "!"), falls ein Fehler auftritt, dargestellt. Wichtige Zwischenergebnisse und ;
; Aktionen werden mithilfe einer gelben Zeie (beginnend mit "-") dargestellt. ;
; ;
; ;
; Lizenz ;
; ;
; GNU Generel Public License ;
; This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public ;
; License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any ;
; later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without ;
; even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public ;
; License for more details. You should have received a copy of the GNU General Public License along with this ;
; program; if not, see <http://www.gnu.org/licenses/>. ;
; ;
; ;
; Externe Scripte ;
; ;
; AutoItObject.au3 und AutoItObject_X64.dll und AutoItObject.dll sind veröffentlichte Opensource (ausschließlich ;
; der AutoItObject_X64.dll und der AutoItObject.dll) Quellen von: ;
; https://autoit.de/index.php?page…9454#post139454 ;
; Special thanks an die Ersteller: ;
; Andreas Karlsson (monoceres) ;
; Dragana R. (trancexx) ;
; Dave Bakker (Kip) ;
; Andreas Bosch (progandy, Prog@ndy) ;
; ;
; Die 7z.exe ist eine veröffentlichte Opensource Software, welche unter der GNU LGPL steht und somit frei verwendet ;
; werden darf (Autor: Igor Pavlov). ;
;_______________________________________________________________________________________________________________________;
#endregion Copyright & Lizenz
#region Init/Creation
Func _WebTcp_Startup()
TCPStartup()
_AutoItObject_Startup()
EndFunc
Func _WebTcp_Shutdown()
_AutoItObject_Shutdown()
TCPShutdown()
EndFunc
Func _WebTcp_Create($bCheckUpdate = False, $bDebugMode = False)
Local $oWebTcp, $oCookies, $oHeader, $aNewerVersion
If $bDebugMode Then ConsoleWrite(@CRLF & '> _WebTcp_Create($bCheckUpdate = ' & $bCheckUpdate & ', $bDebugMode = ' & $bDebugMode & ')' & @CRLF)
$oCookies = _AutoItObject_Create()
_AutoItObject_AddProperty($oCookies, "Key", $ELSCOPE_PUBLIC, ObjCreate("System.Collections.ArrayList"))
_AutoItObject_AddProperty($oCookies, "Value", $ELSCOPE_PUBLIC, ObjCreate("System.Collections.ArrayList"))
_AutoItObject_AddProperty($oCookies, "Expireration", $ELSCOPE_PUBLIC, 0)
_AutoItObject_AddProperty($oCookies, "MaxLifeTime", $ELSCOPE_PUBLIC, 0)
_AutoItObject_AddProperty($oCookies, "Count", $ELSCOPE_PUBLIC, 0)
_AutoItObject_AddProperty($oCookies, "DebugMode", $ELSCOPE_PUBLIC, $bDebugMode)
_AutoItObject_AddMethod($oCookies, "Refresh", "_WebTcp_Cookies_Refresh")
_AutoItObject_AddMethod($oCookies, "Clear", "_WebTcp_Cookies_Clear")
_AutoItObject_AddMethod($oCookies, "Add", "_WebTcp_Cookies_Add")
_AutoItObject_AddMethod($oCookies, "Remove", "_WebTcp_Cookies_Remove")
_AutoItObject_AddMethod($oCookies, "Get", "_WebTcp_Cookies_Get")
_AutoItObject_AddMethod($oCookies, "Set", "_WebTcp_Cookies_Set")
_AutoItObject_AddMethod($oCookies, "ToString", "_WebTcp_Cookies_ToString")
_AutoItObject_AddMethod($oCookies, "GetIndex", "_WebTcp_Cookies_GetIndex")
_AutoItObject_AddMethod($oCookies, "SplitFirstChar", "_WebTcp_SplitFirstChar")
_AutoItObject_AddDestructor($oCookies, "_WebTcp_Cookies_Destructor")
If $oCookies = 0 Then
If $bDebugMode Then ConsoleWrite('! Cookie-Objekt wurde nicht erfolgreich erstellt ' & @CRLF & @CRLF)
Return SetError(1, 0, 0)
EndIf
If $bDebugMode Then ConsoleWrite('- Cookie-Objekt wurde erfolgreich erstellt ' & @CRLF)
$oHeader = _AutoItObject_Create()
_AutoItObject_AddProperty($oHeader, "Content", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oHeader, "DebugMode", $ELSCOPE_PUBLIC, $bDebugMode)
_AutoItObject_AddProperty($oHeader, "ServerIP", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddMethod($oHeader, "GetHTTPVersion", "_WebTcp_Header_GetHTTPVersion")
_AutoItObject_AddMethod($oHeader, "GetStatusText", "_WebTcp_Header_GetStatusText")
_AutoItObject_AddMethod($oHeader, "GetStatusID", "_WebTcp_Header_GetStatusID")
_AutoItObject_AddMethod($oHeader, "GetServerDate", "_WebTcp_Header_GetServerDate")
_AutoItObject_AddMethod($oHeader, "GetServerOS", "_WebTcp_Header_GetServerOS")
_AutoItObject_AddMethod($oHeader, "GetCookie", "_WebTcp_Header_GetCookie")
_AutoItObject_AddMethod($oHeader, "GetExpireration", "_WebTcp_Header_GetExpireration")
_AutoItObject_AddMethod($oHeader, "GetLastModification", "_WebTcp_Header_GetLastModification")
_AutoItObject_AddMethod($oHeader, "GetCacheControl", "_WebTcp_Header_GetCacheControl")
_AutoItObject_AddMethod($oHeader, "GetPragma", "_WebTcp_Header_GetPragma")
_AutoItObject_AddMethod($oHeader, "GetContentEncoding", "_WebTcp_Header_GetContentEncoding")
_AutoItObject_AddMethod($oHeader, "GetConnection", "_WebTcp_Header_GetConnection")
_AutoItObject_AddMethod($oHeader, "GetTransferEncoding", "_WebTcp_Header_GetTransferEncoding")
_AutoItObject_AddMethod($oHeader, "GetContenttype", "_WebTcp_Header_GetContentype")
_AutoItObject_AddMethod($oHeader, "GetLocation", "_WebTcp_Header_GetLocation")
_AutoItObject_AddMethod($oHeader, "GetContentLength", "_WebTcp_Header_GetContentLength")
_AutoItObject_AddMethod($oHeader, "GetAcceptRanges", "_WebTcp_Header_getAcceptRanges")
_AutoItObject_AddMethod($oHeader, "GetEtag", "_WebTcp_Header_GetEtag")
_AutoItObject_AddMethod($oHeader, "GetPHPVersion", "_WebTcp_Header_GetPHPVersion")
If $oHeader = 0 Then
If $bDebugMode Then ConsoleWrite('! Header-Objekt wurde nicht erfolgreich erstellt ' & @CRLF & @CRLF)
Return SetError(2, 0, 0)
EndIf
If $bDebugMode Then ConsoleWrite('- Header-Objekt wurde erfolgreich erstellt ' & @CRLF)
$oWebTcp = _AutoItObject_Create()
_AutoItObject_AddProperty($oWebTcp, "Useragent", $ELSCOPE_PUBLIC, "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 ( .NET CLR 3.5.30729)")
_AutoItObject_AddProperty($oWebTcp, "Referer", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "RefererBuffer", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "PacketAdd", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "Cookies", $ELSCOPE_PUBLIC, $oCookies)
_AutoItObject_AddProperty($oWebTcp, "Header", $ELSCOPE_PUBLIC, $oHeader)
_AutoItObject_AddProperty($oWebTcp, "Body", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "DebugMode", $ELSCOPE_PUBLIC, $bDebugMode)
_AutoItObject_AddProperty($oWebTcp, "ProxyIP", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "ProxyPort", $ELSCOPE_PUBLIC, "")
_AutoItObject_AddProperty($oWebTcp, "TimeOut", $ELSCOPE_PUBLIC, 60*1000)
_AutoItObject_AddMethod($oWebTcp, "IsHex", "_WebTcp_IsHex")
_AutoItObject_AddMethod($oWebTcp, "GetHexLength", "_WebTcp_GetHexLength")
_AutoItObject_AddMethod($oWebTcp, "HexToDec", "_WebTcp_HexToDec")
_AutoItObject_AddMethod($oWebTcp, "ReturnErrorMessage", "_WebTcp_ReturnErrorMessage")
_AutoItObject_AddMethod($oWebTcp, "CreatePacket", "_WebTcp_CreatePacket")
_AutoItObject_AddMethod($oWebTcp, "SendPacket", "_WebTcp_SendPacket")
_AutoItObject_AddMethod($oWebTcp, "Navigate", "_WebTcp_Navigate")
_AutoItObject_AddMethod($oWebTcp, "UrlToName", "_WebTcp_URLToName")
_AutoItObject_AddMethod($oWebTcp, "SetProxy", "_WebTcp_SetProxy")
_AutoItObject_AddMethod($oWebTcp, "DebugModeEnable", "_WebTcp_DebugModeEnable")
_AutoItObject_AddMethod($oWebTcp, "DebugModeDisable", "_WebTcp_DebugModeDisable")
If $oWebTcp = 0 Then
If $bDebugMode Then ConsoleWrite('! WebTcp-Objekt wurde nicht erfolgreich erstellt ' & @CRLF & @CRLF)
Return SetError(3, 0, 0)
EndIf
If $bDebugMode Then ConsoleWrite('- WebTcp-Objekt wurde erfolgreich erstellt ' & @CRLF & @CRLF)
If (Not @Compiled) And $bCheckUpdate Then
If $bDebugMode Then ConsoleWrite("- Überprüfe WebTcp auf Updates!" & @CRLF)
$oWebTcp.Navigate("http://www.autoitbot.de/index.php?page=DatabaseItem&id=76")
$aNewerVersion = StringRegExp($oWebTcp.Body, '\<input id\=\"WebTcpVersion\" type\=\"hidden\" value\=\"(.*?)\"\>', 3)
If Not @error Then
If (Number(StringReplace($aNewerVersion[0], '.', '')) > 40) Then
If $bDebugMode Then ConsoleWrite("+ Update gefunden: " & $aNewerVersion[0] & @CRLF & _
"+ http://www.autoitbot.de/index.php?page=DatabaseItem&id=76" & @CRLF & @CRLF)
MsgBox(270400, "WebTcp Update " & $aNewerVersion[0], "Lieber " & @UserName & "," & @CRLF & _
"Es ist eine neue Version von WebTcp verfügbar!" & @CRLF & _
"Du kannst sie unter http://www.autoitbot.de/index.php?page=DatabaseItem&id=76 downloaden." & @CRLF & @CRLF & _
"Diese Nachricht kannst du unterdrücken, indem du als ersten Parameter bei _WebTcp_Create ein False angibst." & @CRLF & _
"Sobald das Script kompiliert ist wird diese Nachricht nicht mehr angezeigt." & @CRLF & @CRLF & _
"Mir freundlichen Grüßen AMrK")
Else
If $bDebugMode Then ConsoleWrite("+ Keine Updates gefunden!" & @CRLF)
EndIf
Else
If $bDebugMode Then ConsoleWrite("! Fehler beim Überprüfen auf Updates!" & @CRLF)
EndIf
EndIf
If $bDebugMode Then ConsoleWrite('+ _WebTcp_Create returns ' & $oWebTcp & @CRLF & @CRLF)
Return $oWebTcp
EndFunc ;==>_WebTcp_Create
#endregion Init/Creation
#region Cookies
Func _WebTcp_Cookies_ToString($oSelf, $sTrenner = '; ')
Local $sString, $iIndex
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_ToString()' & @CRLF)
$sString = ""
If $oSelf.Count > 0 Then
For $iIndex = 0 To $oSelf.Count - 1
$sString &= $oSelf.Key.Item($iIndex) & '=' & $oSelf.Value.Item($iIndex) & $sTrenner
Next
$sString = StringTrimRight($sString, stringlen($sTrenner))
EndIf
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_ToString returns ' & $sString & @CRLF & @CRLF)
Return $sString
EndFunc ;==>_WebTcp_Cookies_ToString
Func _WebTcp_Cookies_Refresh($oSelf, $aCookies, $bZeroIndexContainsBound = False)
Local $iIndex, $iStart, $iEnd, $aCookieSplitted, $iFoundIndex
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Refresh(Array, ' & $bZeroIndexContainsBound & ')' & @CRLF)
If $bZeroIndexContainsBound Then
$iStart = 1
$iEnd = $aCookies[0]
Else
$iStart = 0
$iEnd = UBound($aCookies) - 1
EndIf
For $iIndex = $iStart To $iEnd
$aCookieSplitted = $oSelf.SplitFirstChar($aCookies[$iIndex])
If $aCookieSplitted[0] = 2 Then
$iFoundIndex = $oSelf.GetIndex($aCookieSplitted[1])
If $iFoundIndex >= 0 Then
$oSelf.Set($aCookieSplitted[1], $aCookieSplitted[2])
Else
$oSelf.Add($aCookieSplitted[1], $aCookieSplitted[2])
EndIf
EndIf
Next
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Refresh has no return value' & @CRLF & @CRLF)
EndFunc ;==>_WebTcp_Cookies_Refresh
Func _WebTcp_Cookies_Clear($oSelf)
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Clear()' & @CRLF)
$oSelf.Key.Clear
$oSelf.Value.Clear
$oSelf.Count = 0
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Clear has no return value' & @CRLF & @CRLF)
EndFunc ;==>_WebTcp_Cookies_Clear
Func _WebTcp_Cookies_Add($oSelf, $sKey, $sValue)
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Add(' & $sKey & ', ' & $sValue & ')' & @CRLF)
$oSelf.Key.Add($sKey)
$oSelf.Value.Add($sValue)
$oSelf.Count = $oSelf.Count + 1
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Add has no return value' & @CRLF & @CRLF)
EndFunc ;==>_WebTcp_Cookies_Add
Func _WebTcp_Cookies_Remove($oSelf, $sKey)
Local $iIndex
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Remove(' & $sKey & ')' & @CRLF)
$iIndex = $oSelf.GetIndex($sKey)
If $oSelf.DebugMode Then ConsoleWrite('- $oSelf.GetIndex(' & $sKey & ') returned ' & $iIndex & @CRLF)
If $iIndex >= 0 Then
$oSelf.Key.RemoveAt($iIndex)
$oSelf.Value.RemoveAt($iIndex)
$oSelf.Count = $oSelf.Count - 1
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Remove returns True' & @CRLF & @CRLF)
Return True
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Remove returns False' & @CRLF & @CRLF)
Return SetError(4, 0, False)
EndIf
EndFunc ;==>_WebTcp_Cookies_Remove
Func _WebTcp_Cookies_Get($oSelf, $sKey)
Local $iIndex
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Get(' & $sKey & ')' & @CRLF)
$iIndex = $oSelf.GetIndex($sKey)
If $oSelf.DebugMode Then ConsoleWrite('- $oSelf.GetIndex(' & $sKey & ') returned ' & $iIndex & @CRLF)
If $iIndex >= 0 Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Get returns ' & $oSelf.Value.Item($iIndex) & @CRLF & @CRLF)
Return $oSelf.Value.Item($iIndex)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Get returns ""' & @CRLF & @CRLF)
Return SetError(4, 0, False)
EndIf
EndFunc ;==>_WebTcp_Cookies_Get
Func _WebTcp_Cookies_Set($oSelf, $sKey, $sValue)
Local $iIndex
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_Set(' & $sKey & ', ' & $sValue & ')' & @CRLF)
$iIndex = $oSelf.GetIndex($sKey)
If $oSelf.DebugMode Then ConsoleWrite('- $oSelf.GetIndex(' & $sKey & ') returned ' & $iIndex & @CRLF)
If $iIndex >= 0 Then
$oSelf.Value.Item($iIndex) = $sValue
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Set returns True' & @CRLF & @CRLF)
Return True
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_Set returns False' & @CRLF & @CRLF)
Return SetError(4, 0, False)
EndIf
EndFunc ;==>_WebTcp_Cookies_Set
Func _WebTcp_Cookies_GetIndex($oSelf, $sKey)
Local $iIndex, $bGefunden
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Cookies_GetIndex(' & $sKey & ')' & @CRLF)
$iIndex = 0
$bGefunden = False
While ($iIndex <= ($oSelf.Key.Count - 1)) And (Not $bGefunden)
If $oSelf.Key.Item($iIndex) = $sKey Then
$bGefunden = True
Else
$iIndex += 1
EndIf
WEnd
If $bGefunden Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_GetIndex returns ' & $iIndex & @CRLF & @CRLF)
Return $iIndex
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Cookies_GetIndex returns -1' & @CRLF & @CRLF)
Return SetError(4, 0, -1)
EndIf
EndFunc ;==>_WebTcp_Cookies_GetIndex
Func _WebTcp_Cookies_Destructor($oSelf)
$oSelf.Clear
EndFunc ;==>_WebTcp_Cookies_Destructor
#endregion Cookies
#region Header
Func _WebTcp_Header_GetHTTPVersion($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetHTTPVersion()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^HTTP\/((\d|\.|\w)*) ', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetHTTPVersion returns ""' & @CRLF & @CRLF)
Return SetError(5, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetHTTPVersion returns ' & $aRegExp[0] & @CRLF & @CRLF)
Return $aRegExp[0]
EndIf
EndFunc ;==>_WebTcp_Header_GetHTTPVersion
Func _WebTcp_Header_GetStatusText($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetStatusText()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^HTTP\/((\d|\.|\w)*) ((\d)*)', 3)
If @error Then
Return SetError(6, 0, False)
ElseIf UBound($aRegExp) >= 2 Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetStatusText returns ' & $aRegExp[0] & @CRLF & @CRLF)
Return $aRegExp[2]
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetStatusText returns ""' & @CRLF & @CRLF)
Return ""
EndIf
EndFunc ;==>_WebTcp_Header_GetStatusText
Func _WebTcp_Header_GetStatusID($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetStatusID()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^HTTP\/((\d|\.|\w)*) ((\d)*) (.*)$', 3)
If @error Then
Return SetError(7, 0, False)
ElseIf UBound($aRegExp) >= 4 Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetStatusID returns ' & $aRegExp[0] & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[4], 1)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetStatusID returns ""' & @CRLF & @CRLF)
Return ""
EndIf
EndFunc ;==>_WebTcp_Header_GetStatusID
Func _WebTcp_Header_GetServerDate($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetServerDate()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Date\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetServerDate returns ""' & @CRLF & @CRLF)
Return SetError(8, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetServerDate returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetServerDate
Func _WebTcp_Header_GetServerOS($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetServerOS()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Server\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetServerOS returns ""' & @CRLF & @CRLF)
Return SetError(9, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetServerOS returns ' & $aRegExp[0] & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetServerOS
Func _WebTcp_Header_GetCookie($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetCookie()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Set\-Cookie\: (.*?)[\;|'&@CRLF&']', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetCookie returns ""' & @CRLF & @CRLF)
Return SetError(10, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetCookie returns ' & $aRegExp & @CRLF & @CRLF)
Return $aRegExp
EndIf
EndFunc ;==>_WebTcp_Header_GetCookie
Func _WebTcp_Header_GetExpireration($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetExpireration()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Expires\: (.*?)\;', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetExpireration returns ""' & @CRLF & @CRLF)
Return SetError(11, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetExpireration returns ' & StringTrimLeft($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimLeft($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetExpireration
Func _WebTcp_Header_GetLastModification($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetLastModification()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Last\-Modified\: (.*?)\;', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetLastModification returns ""' & @CRLF & @CRLF)
Return SetError(12, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetLastModification returns ' & StringTrimLeft($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimLeft($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetLastModification
Func _WebTcp_Header_GetCacheControl($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetCacheControl()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Cache\-Control\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetCacheControl returns ""' & @CRLF & @CRLF)
Return SetError(13, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetCacheControl returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetCacheControl
Func _WebTcp_Header_GetPragma($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetPragma()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Pragma\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetPragma returns ""' & @CRLF & @CRLF)
Return SetError(14, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetPragma returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetPragma
Func _WebTcp_Header_GetContentEncoding($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetContentEncoding()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Content\-Encoding\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentEncoding returns ""' & @CRLF & @CRLF)
Return SetError(15, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentEncoding returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetContentEncoding
Func _WebTcp_Header_GetConnection($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetConnection()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Connection\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetConnection returns ""' & @CRLF & @CRLF)
Return SetError(16, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetConnection returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetConnection
Func _WebTcp_Header_GetTransferEncoding($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetTransferEncoding()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^transfer\-encoding\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetTransferEncoding returns ""' & @CRLF & @CRLF)
Return SetError(17, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetTransferEncoding returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetTransferEncoding
Func _WebTcp_Header_GetContentype($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetContentype()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Content\-Type\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentype returns ""' & @CRLF & @CRLF)
Return SetError(18, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentype returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetContentype
Func _WebTcp_Header_GetLocation($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetLocation()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Location\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetLocation returns ""' & @CRLF & @CRLF)
Return SetError(19, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetLocation returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetLocation
Func _WebTcp_Header_GetContentLength($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetContentLength()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Content-Length\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentLength returns ""' & @CRLF & @CRLF)
Return SetError(20, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetContentLength returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetContentLength
Func _WebTcp_Header_getAcceptRanges($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_getAcceptRanges()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Accept\-Ranges\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_getAcceptRanges returns ""' & @CRLF & @CRLF)
Return SetError(21, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_getAcceptRanges returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_getAcceptRanges
Func _WebTcp_Header_GetEtag($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetEtag()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^Etag\: (.*)$', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetEtag returns ""' & @CRLF & @CRLF)
Return SetError(22, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetEtag returns ' & StringTrimRight($aRegExp[0], 1) & @CRLF & @CRLF)
Return StringTrimRight($aRegExp[0], 1)
EndIf
EndFunc ;==>_WebTcp_Header_GetEtag
Func _WebTcp_Header_GetPHPVersion($oSelf)
Local $aRegExp
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Header_GetPHPVersion()' & @CRLF)
$aRegExp = StringRegExp($oSelf.Content, '(?m)^X\-Powered\-By\:.*PHP\/((\d|\.|\w)*)', 3)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetPHPVersion returns ""' & @CRLF & @CRLF)
Return SetError(23, 0, False)
Else
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Header_GetPHPVersion returns ' & $aRegExp[0] & @CRLF & @CRLF)
Return $aRegExp[0]
EndIf
EndFunc ;==>_WebTcp_Header_GetPHPVersion
#endregion Header
#region Main
Func _WebTcp_SetProxy($oSelf, $sIP, $sPort)
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_SetProxy(' & $sIP & ', ' & $sPort & ')' & @CRLF)
$oSelf.ProxyIP = $sIP
$oSelf.ProxyPort = $sPort
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_SetProxy has no return value' & @CRLF & @CRLF)
EndFunc ;==>_WebTcp_SetProxy
Func _WebTcp_URLToName($oSelf, $sUrl)
Local $aHost
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_URLToName(' & $sUrl & ')' & @CRLF)
If StringLeft($sUrl, 7) = 'http://' Then $sUrl = StringTrimLeft($sUrl, 7)
$aHost = StringSplit($sUrl, '/')
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_URLToName returns ' & $aHost[1] & @CRLF & @CRLF)
Return $aHost[1]
EndFunc ;==>_WebTcp_URLToName
Func _WebTcp_CreatePacket($oSelf, $sUrl, $sPost = "", $sPostType = "application/x-www-form-urlencoded")
Local $sHost, $sPacket, $aCookies, $iIndex, $sCookies, $sPage
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_CreatePacket(' & $sUrl & ', ' & $sPost & ', ' & $sPostType & ')' & @CRLF)
$oSelf.RefererBuffer = $sUrl
If StringLeft($sUrl, 7) = 'http://' Then $sUrl = StringTrimLeft($sUrl, 7)
$sHost = $oSelf.UrlToName($sUrl)
If $oSelf.ProxyIP = "" Or $oSelf.ProxyPort = "" Then
$sPage = StringTrimLeft($sUrl, StringLen($sHost) + 1)
While StringLeft($sPage, 1) = '/'
$sPage = StringTrimLeft($sPage, 1)
WEnd
$sPage = '/' & $sPage
Else
$sPage = "http://" & $sUrl
EndIf
If $sPost = "" Then
$sPacket = "GET " & $sPage & " HTTP/1.1" & @CRLF
Else
$sPacket = "POST " & $sPage & " HTTP/1.1" & @CRLF
EndIf
$sPacket &= "Host: " & $sHost & @CRLF
$sPacket &= "User-Agent: " & $oSelf.UserAgent & @CRLF
$sPacket &= "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" & @CRLF
$sPacket &= "Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3" & @CRLF
$sPacket &= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7" & @CRLF
$sPacket &= "Keep-Alive: 115" & @CRLF
If $oSelf.ProxyIP <> "" And $oSelf.ProxyPort <> "" Then
$sPacket &= "Proxy-Connection: keep-alive" & @CRLF
Else
$sPacket &= "Connection: keep-alive" & @CRLF
EndIf
$aCookies = $oSelf.Cookies.ToString
If $aCookies <> "" Then
$sPacket &= "Cookie: " & $aCookies & @CRLF
EndIf
If $oSelf.Referer <> "" Then $sPacket &= "Referer: " & $oSelf.Referer & @CRLF
If $oSelf.PacketAdd <> "" Then $sPacket &= $oSelf.PacketAdd & @CRLF
If $sPost <> "" Then
$sPacket &= "Content-Type: " & $sPostType & @CRLF
$sPacket &= "Content-Length: " & StringLen($sPost) & @CRLF & @CRLF & $sPost
Else
$sPacket &= @CRLF
EndIf
If $oSelf.DebugMode Then ConsoleWrite('- Packet was created and can be found as file: ' & _WebTcp_DebugCreatePacketFile($sPacket) & @CRLF)
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_CreatePacket returns the Packet' & @CRLF & @CRLF)
Return $sPacket
EndFunc ;==>_WebTcp_CreatePacket
Func _WebTcp_DebugCreatePacketFile($sPacket)
Local $iCounter, $hFile
$iCounter = 1
While FileExists(@TempDir & '\WebTcp-Packet_No' & $iCounter & '.txt')
$iCounter += 1
WEnd
$hFile = FileOpen(@TempDir & '\WebTcp-Packet_No' & $iCounter & '.txt', 1)
FileWrite($hFile, $sPacket)
FileClose($hFile)
Return @TempDir & '\WebTcp-Packet_No' & $iCounter & '.txt'
EndFunc ;==>_WebTcp_DebugCreatePacketFile
Func _WebTcp_SendPacket($oSelf, $sHost, $sPacket, $iPort = 80, $bBinary = False)
Local $iTimer, $aSplit, $sIP, $iSocket, $sRecv, $iPartLaenge, $iGesamtLaenge, $sLaengeRecv, $aCookies, $iContentLength, $iBytes, $iProxyRecv, $sLastRecv, $sTempRecv, $hFile
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_SendPacket(' & $sHost & ', Packet, ' & $iPort & ', ' & $bBinary & ')' & @CRLF)
If $oSelf.ProxyIP <> "" And $oSelf.ProxyPort <> "" Then
If $oSelf.DebugMode Then ConsoleWrite('- Proxy was found: ' & $oSelf.ProxyIP & ':' & $oSelf.ProxyPort & @CRLF)
$sIP = TCPNameToIP($oSelf.ProxyIP)
$oSelf.Header.ServerIP = ""
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('! TCPNameToIP failed with ProxyIP' & @CRLF & @CRLF)
Return SetError(24, 0, "")
EndIf
$iSocket = TCPConnect($sIP, $oSelf.ProxyPort)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('! TCPConnect failed with ProxyPort' & @CRLF & @CRLF)
Return SetError(25, 0, "")
EndIf
Else
$aSplit = StringSplit($sHost, ':')
If $aSplit[0] = 2 Then
If $oSelf.DebugMode Then ConsoleWrite('- Script found an IP including Port as Host' & @CRLF)
$sHost = $aSplit[1]
$iPort = Number($aSplit[2])
EndIf
$sIP = TCPNameToIP($sHost)
$oSelf.Header.ServerIP = $sIP
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('! TCPNameToIP failed with Host' & @CRLF & @CRLF)
Return SetError(26, 0, "")
EndIf
$iSocket = TCPConnect($sIP, $iPort)
If @error Then
If $oSelf.DebugMode Then ConsoleWrite('! TCPConnect failed with Port' & @CRLF & @CRLF)
Return SetError(27, 0, "")
EndIf
EndIf
$iBytes = TCPSend($iSocket, $sPacket)
If @error Then
TCPCloseSocket($iSocket)
If $oSelf.DebugMode Then ConsoleWrite('! TCPSend failed' & @CRLF & @CRLF)
Return SetError(28, 0, "")
EndIf
If $oSelf.DebugMode Then ConsoleWrite('- Bytes sended: ' & $iBytes & @CRLF)
$sRecv = ""
$iTimer = TimerInit()
Do
$sRecv &= StringTrimLeft(TCPRecv($iSocket, 1, 1), 2)
Until StringInStr($sRecv, StringTrimLeft(StringToBinary(@CRLF & @CRLF), 2)) Or (TimerDiff($iTimer) > 60*1000)
If (TimerDiff($iTimer) > $oSelf.TimeOut) Then
If $oSelf.DebugMode Then ConsoleWrite('! Server timed out (' & $oSelf.TimeOut & ' MS)' & @CRLF & @CRLF)
Return SetError(29, 0, "")
Else
$oSelf.Header.Content = BinaryToString("0x" & $sRecv)
$sRecv = ""
If $oSelf.ProxyIP <> "" And $oSelf.ProxyPort <> "" Then
If $oSelf.DebugMode Then ConsoleWrite('- Recv via Proxy ' & @CRLF)
$iProxyRecv = 0
$sLastRecv = ""
Do
$sRecv &= TCPRecv($iSocket, 1)
$iProxyRecv += 1
If $sLastRecv <> $sRecv Then
$sLastRecv = $sRecv
$iProxyRecv = 0
EndIf
Until $iProxyRecv >= 10000
Else
$iContentLength = $oSelf.Header.GetContentLength
If $iContentLength <> "" Then
If $oSelf.DebugMode Then ConsoleWrite('- Recv via Content-Length: ' & $iContentLength & @CRLF)
While (StringLen($sRecv)/2) < $iContentLength
$sRecv &= StringTrimLeft(TCPRecv($iSocket, 1, 1), 2)
WEnd
$sRecv = "0x" & $sRecv
If Not $bBinary Then $sRecv = BinaryToString($sRecv)
Else
If $oSelf.DebugMode Then ConsoleWrite('- Recv via HexBody ' & @CRLF)
While 1
$sTempRecv = ""
Do
$sTempRecv &= BinaryToString(TCPRecv($iSocket, 1, 1))
Until StringInStr($sTempRecv, @CRLF)
$sTempRecv = StringTrimRight($sTempRecv, StringLen(@CRLF))
$iPartLaenge = $oSelf.HexToDec($sTempRecv)
[/autoit] [autoit][/autoit] [autoit]If $iPartLaenge = 0 Then ExitLoop
[/autoit] [autoit][/autoit] [autoit]$sTempRecv = ""
Do
$sTempRecv &= BinaryToString(TCPRecv($iSocket, 1, 1))
Until StringLen($sTempRecv) = $iPartLaenge
$sRecv &= $sTempRecv
$sTempRecv = ""
Do
$sTempRecv &= BinaryToString(TCPRecv($iSocket, 1, 1))
Until StringInStr($sTempRecv, @CRLF)
WEnd
If $bBinary Then $sRecv = BinaryToString($sRecv)
EndIf
EndIf
TCPCloseSocket($iSocket)
If $oSelf.Header.getContentEncoding = "gzip" Then
If $oSelf.DebugMode Then ConsoleWrite('- Body ist gZipped ' & @CRLF)
If $bBinary Then
If FileExists(@TempDir & '\body.gz') Then FileDelete(@TempDir & '\body.gz')
If FileExists(@TempDir & '\body') Then FileDelete(@TempDir & '\body')
$hFile = FileOpen(@TempDir & '\body.gz', 17)
FileWrite($hFile, $sRecv)
FileClose($hFile)
If $oSelf.DebugMode Then ConsoleWrite('- Entpacke Body ' & @CRLF)
RunWait('"' & @ScriptDir & '\7z.exe" e body.gz', @TempDir, @SW_HIDE)
$hFile = FileOpen(@TempDir & '\body')
$sRecv = FileRead($hFile)
FileClose($hFile)
Else
If FileExists(@TempDir & '\body.gz') Then FileDelete(@TempDir & '\body.gz')
If FileExists(@TempDir & '\body') Then FileDelete(@TempDir & '\body')
$hFile = FileOpen(@TempDir & '\body.gz', 1)
FileWrite($hFile, $sRecv)
FileClose($hFile)
If $oSelf.DebugMode Then ConsoleWrite('- Entpacke Body ' & @CRLF)
RunWait('"' & @ScriptDir & '\7z.exe" e body.gz', @TempDir, @SW_HIDE)
$hFile = FileOpen(@TempDir & '\body')
$sRecv = FileRead($hFile)
FileClose($hFile)
EndIf
If $oSelf.DebugMode Then ConsoleWrite('- Body wurde entpackt ' & @CRLF)
EndIf
$oSelf.Body = $sRecv
$oSelf.Referer = $oSelf.RefererBuffer
$aCookies = $oSelf.Header.GetCookie
If IsArray($aCookies) Then $oSelf.Cookies.Refresh($aCookies)
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_SendPacket returns the Body' & @CRLF & @CRLF)
Return $sRecv
EndIf
EndFunc ;==>_WebTcp_SendPacket
Func _WebTcp_Navigate($oSelf, $sUrl, $sPost = "", $sPostType = "application/x-www-form-urlencoded", $iPort = 80, $bBinary = False)
Local $sPacket, $sHost
If $oSelf.DebugMode Then ConsoleWrite('> _WebTcp_Navigate(' & $sUrl & ', ' & $sPost & ', ' & $sPostType & ', ' & $iPort & ', ' & $bBinary & ')' & @CRLF)
$sPacket = $oSelf.CreatePacket($sUrl, $sPost, $sPostType)
$sHost = $oSelf.UrlToName($sUrl)
If $oSelf.DebugMode Then ConsoleWrite('+ _WebTcp_Navigate returns the Body' & @CRLF & @CRLF)
Return $oSelf.SendPacket($sHost, $sPacket, $iPort, $bBinary)
EndFunc ;==>_WebTcp_Navigate
Func _WebTcp_DebugModeEnable($oSelf)
$oSelf.DebugMode = True
$oSelf.Header.DebugMode = True
$oSelf.Cookies.DebugMode = True
EndFunc ;==>_WebTcp_DebugModeEnable
Func _WebTcp_DebugModeDisable($oSelf)
$oSelf.DebugMode = False
$oSelf.Header.DebugMode = False
$oSelf.Cookies.DebugMode = False
EndFunc ;==>_WebTcp_DebugModeDisable
Func _WebTcp_ReturnErrorMessage($oSelf, $iErrorID)
Switch $iErrorID
case 1
Return "Cookie-Objekt konnte nicht erstellt werden!"
Case 2
Return "Header-Objekt konnte nicht erstellt werden!"
Case 3
Return "WebTcp-Objekt konnte nicht erstellt werden!"
Case 4
Return "Cookie nicht gefunden!"
Case 5
Return "HTTP Version nicht gefunden!"
Case 6
Return "Statustext nicht gefunden!"
Case 7
Return "StatusID nicht gefunden!"
Case 8
Return "ServerDate nicht gefunden!"
Case 9
Return "ServerOS nicht gefunden!"
Case 10
Return "Cookies nicht gefunden!"
Case 11
Return "Expireration nicht gefunden!"
Case 12
Return "Last Modification nicht gefunden!"
Case 13
Return "Cache Control nicht gefunden!"
Case 14
Return "Pragma nicht gefunden!"
Case 15
Return "Content Encoding nicht gefunden!"
Case 16
Return "Connection nicht gefunden!"
Case 17
Return "Transfer Encoding nicht gefunden!"
Case 18
Return "ContenType nicht gefunden!"
Case 19
Return "Location nicht gefunden!"
Case 20
Return "Content Length nicht gefunden!"
Case 21
Return "Accept Ranges nicht gefunden!"
Case 22
Return "Etag nicht gefunden!"
Case 23
Return "PHP Version nicht gefunden!"
Case 24
Return "TCPNameToIP mit Proxy ist fehlgeschlagen (Proxy Offline?)!"
Case 25
Return "Verbindung zum Proxy fehlgeschlagen (Proxy Offline?)!"
Case 26
Return "TCPNameToIP mit dem Host fehlgeschlagen (Host Offline?)!"
Case 27
Return "Verbindung zum Host fehlgeschlagen (Host Offline?)!"
Case 28
Return "TCPSend fehlgeschlagen! Es konnten keine Daten gesendet werden!"
Case 29
Return "Server timed out! Zu lange keine Antwort erhalten!"
Case Else
Return "Keine Beschreibung für den Fehler gefunden!"
EndSwitch
EndFunc
Func _WebTcp_IsHex($oSelf, $sString)
Local $iPosition, $sChar
$iPosition = 1
While StringLen($sString) >= $iPosition
$sChar = StringMid($sString, $iPosition, 1)
If Not( ($sChar = "1") Or ($sChar = "2") Or ($sChar = "3") Or ($sChar = "4") Or ($sChar = "5") Or ($sChar = "6") Or ($sChar = "7") Or ($sChar = "8") Or _
($sChar = "9") Or ($sChar = "0") Or ($sChar = "A") Or ($sChar = "B") Or ($sChar = "C") Or ($sChar = "D") Or ($sChar = "E") Or ($sChar = "F") ) Then
Return False
Else
$iPosition += 1
EndIf
WEnd
Return True
EndFunc
Func _WebTcp_GetHexLength($oSelf, $sString)
Select
Case $oSelf.IsHex($sString)
Return $oSelf.HexToDec($sString)
Case StringLeft($sString,2) = "0x" And $oSelf.IsHex(StringTrimLeft($sString,2))
Return $oSelf.HexToDec(StringTrimLeft($sString,2))
Case Else
Return -1
EndSelect
EndFunc
Func _WebTcp_HexToDec($oSelf, $sNumber)
Local $iIndex, $iResult = 0
If StringLen($sNumber) Then
For $iIndex = 1 To StringLen($sNumber)
Switch StringLeft(StringRight(StringUpper($sNumber), $iIndex), 1)
Case '0'
$iResult += 16^($iIndex-1) * 0
Case '1'
$iResult += 16^($iIndex-1) * 1
Case '2'
$iResult += 16^($iIndex-1) * 2
Case '3'
$iResult += 16^($iIndex-1) * 3
Case '4'
$iResult += 16^($iIndex-1) * 4
Case '5'
$iResult += 16^($iIndex-1) * 5
Case '6'
$iResult += 16^($iIndex-1) * 6
Case '7'
$iResult += 16^($iIndex-1) * 7
Case '8'
$iResult += 16^($iIndex-1) * 8
Case '9'
$iResult += 16^($iIndex-1) * 9
Case 'A'
$iResult += 16^($iIndex-1) * 10
Case 'B'
$iResult += 16^($iIndex-1) * 11
Case 'C'
$iResult += 16^($iIndex-1) * 12
Case 'D'
$iResult += 16^($iIndex-1) * 13
Case 'E'
$iResult += 16^($iIndex-1) * 14
Case 'F'
$iResult += 16^($iIndex-1) * 15
EndSwitch
Next
EndIf
Return $iResult
EndFunc
Func _WebTcp_SplitFirstChar($oSelf, $sString, $sTrimmer = "=")
Local $iPosition
$iPosition = StringInStr($sString, $sTrimmer, 1)
If $iPosition Then
Local $aArray[3]
$aArray[0] = 2
$aArray[1] = StringLeft($sString, $iPosition-1)
$aArray[2] = StringTrimLeft($sString, $iPosition)
Else
Local $aArray[2]
$aArray[0] = 1
$aArray[1] = $sString
EndIf
Return $aArray
EndFunc
#endregion Main
Moin
Habe mir ja Windows xp neu draufgemacht und vorher w7 benutzt.
Wenn ich nun mit der udf arbeiten möchte zeigt er mir immer diese Fehlermeldung an:
D:\Programme\AutoIt3\Include\Webtcp.au3 (283) : ==> Variable must be of type "Object".:
While ($iIndex <= ($oSelf.Key.Count - 1)) And (Not $bGefunden)
While ($iIndex <= ($oSelf.Key^ ERROR
danke für die hilfe, werd es im laufe der tage versuchen
und das mit dem win xp
ich habe mir noch win xp genommen weil das nicht so viel arbeitsspeicher frisst wie w7 ![]()
Hey
ich hab ein rießiges problem und ich weiß nicht was das soll -.-
Ich schildere mal kurz die lage..
und zwar habe ich 2 Festplatten
1. hat 250gb mit Windows 7 Ultimate Build 7600
2. hat 160gb mit Windows Xp Home
funktionieren beide tadelos.
Nun habe ich mich dafür entschlossen, die Windows Xp Home zu formatieren und neu zu installieren, sodass ich auf die platte nur das nötigste draufmachen kann und ordnung behalten kann etc.
Dafür habe ich neugestartet, von der Xp cd gebootet und dann wurden mir beide Festplatten angezeigt.
Obere Partition mit 250.000mb und unten mit 160.000mb
hab natürlich die untere gewählt und bin auf partition löschen gegangen.
Dann habe ich unten eine neue erstellt und dann wurde auch direkt windows xp installiert( produkt key eingegeben etc.(mein eigener!!))
wenn ich aber nun den pc starte und boote von meiner w7 festplatte, wird auch w7 angezeigt, doch wenn ich von der xp home festplatte boote wird mir auch w7 angezeigt...
in windows xp komme ich nur so:
ich wähle w7 platte aus, im menü stehen dann 2 zeilen zur auswahl:
--------------------------------------------------
Frühere Version von Windows
Windows 7
--------------------------------------------------
Wenn ich Windows 7 drücke geht er ganz normal in w7 rein.
Drücke ich Frühere Version von Windows, werden mir 2 Windows Xp Home angezeigt, direkt untereinander welche gleich heißen.
Das obere geht wunderbar, das untere glaube nicht, gibt mir dann eine error meldung aus.
Starte ich nun Windows Xp, und gehe auf Arbeitsplatz zeigt er mir an:
Festplatte C: 250gb
Festplatte D: 160gb
obwohl die Hauptplatine von diesem Bootvorgang D müsste sein und er auch das windows von D: bezieht!...
Und wenn ich jetzt normal in W7 reingehe, wird mir angezeigt das ich eine unechte version von w7 benutze -.-
kam direkt nach dem startversuch von w7 und dem telefonisch registrieren von xp
wieso greift da alles doppelt, dreifach und vierfach in das system -.-
ich hoffe mir kann irgendwer helfen... für fragen stehe ich geeerne zur verfügung!
lg....
ja hab noch ne ältere version
aber werde die neue runterladen und schauen ob es dann funktioniert, danke ![]()
C:\Program Files (x86)\AutoIt3\Include\AutoItObject.au3 (743) : ==> Subscript used with non-Array variable.:
$arg[0] = "CallArgArray"
$arg^ ERROR
wieso kommt dieser fehler eig?
alles klappt wunderbar in meinem script doch nach 10 min kommt das dann..
hab auch schon versucht die funktion umzuschreiben aber funktioniert dennoch nicht bzw ich hab etwas falsch geschrieben dort *gg*
wenn dieser fehler kommt, dann soll er einfach ignorieren und weitermachen.
Func __Au3Obj_FunctionProxy($FuncName, $oSelf) ; allows binary code to call autoit functions
Local $arg = $oSelf.__params__ ; fetch params, first two entries are empty.
$arg[0] = "CallArgArray" ; first entry for CallArgArray
If Not @Error Then
$arg[1] = $oSelf ; Second entry for object
Local $ret = Call($FuncName, $arg) ; Call
If @error = 0xDEAD And @extended = 0xBEEF Then Return 0
$oSelf.__error__ = @error ; set error
$oSelf.__result__ = $ret ; set result
Return 1
Else
Return 0
Endif
EndFunc ;==>__Au3Obj_FunctionProxy
oder muss das if not @error 1ne zeile hoch?
danke, nein alles hab ich nicht durchgelesen weil ich den rest nicht brauche ![]()
aber dann hat sich das nun erledigt, ich weiß wie man an die werte kommt und kann nun los coden
thx^^
hey^^
also seit ich mit autoit programmiere habe ich immer nur _StringBetween benutzt.
Wie funktioniert das mit Stringregexp?
das mit den pattern verstehe ich aber wo sehe ich IN dem Patternfeld was er suchen soll ![]()
hier aus dem tutorial von seubo:
<td><img src="img/x.gif" class="r1" alt="Holz" title="Holz"></td>
<td id="l4" title="600">132411/240000</td>
<td><img src="img/x.gif" class="r2" alt="Lehm" title="Lehm"></td>
<td id="l3" title="600">168007/240000</td>
<td><img src="img/x.gif" class="r3" alt="Eisen" title="Eisen"></td>
<td id="l2" title="750">32743/240000</td>
<td><img src="img/x.gif" class="r4" alt="Getreide" title="Getreide"></td>
<td id="l1" title="79">78451/240000</td>
$aResult = StringRegExp($HTML,"l[1-4][^>]+>(\d+\/\d+)",3)
_Arraydisplay($aResult)
Ich glaube das sollte als Erklärung reichen
das sollte als erklärung reichen? also ich blick da garnicht durch... ok er sucht ab l, dann ne zahl von 1 bis 4 dann leer lassen und auf das > gehen.
dann nach zahlen suchen bis / erreicht ist und dann wieder die zahlen suchen
aber wo ist hier bitte die trennlinie? Wie kommt er auf den wert xxxx/xxxx , wie verfällt der rest..
hoffe ihr könnt mich mal aufklären dann kann ich wenigstens auch mit stringregexp arbeiten^^
ach.. danke NoName ![]()
das war der fehler und nun kann ich auch weiterhin meine andere ListView benutzen, welche weniger fehler hat und schöner aussieht *g*
also ich verwende GUICtrlCreateListView
hab jetzt das andere Create probiert doch da kann ich die zeilen nicht anklicken.
die sind in 2 columnes aufgeteilt und ich möchte nicht die id anklicken sondern den namen in der 2.
id kann ich anklicken doch da kommt dann immer noch kein kontextmenü^^
moin
wollte mal fragen was daran falsch ist..
opt ist an.
[autoit]$number = _GUICtrlListView_GetItemCount($routen)
$Menu = GUICtrlCreateContextMenu($routen)
GUICtrlCreateMenuItem("Löschen",$Menu)
GUICtrlSetOnEvent(-1, "_Delete")
Func _Delete()
_GUICtrlListView_DeleteItemsSelected($routen)
EndFunc
Fenster wird per rechtsklick angezeigt, doch wenn ich auf Löschen drücke dann wird es nicht rausgelöscht..
hm... kann man das geflacker denn nicht wegmachen? das stört nämlich bei den obigen bildern die durchlaufen, links und rechts alle 1sec ein sternenbild welches nur unten und rechts sein sollte
möchte 3 sterne hintereinander immer durchlaufen sehen, also so in einem abstand von 500ms deswegen auch sleep(500)
achja, noch eine frage.
wenn die icons von anfang an wieder anfangen durchzulaufen dann flimmern die kurz obenlinks irgendwo auf.
kann man das irgendwie weg machen? ich finds nicht^^
ah ok danke ![]()
was meinst du mit austimern? habe das 2. jetzt so gemacht:
[autoit]_Timer_SetTimer($hGUI, 5, "_line")
Sleep(500)
_Timer_SetTimer($hGUI, 5, "_line1")
Sleep(500)
_Timer_SetTimer($hGUI, 5, "_line2")
Func _line($hWnd, $msg, $iIDTimer, $dwTime)
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
Local Static $iCounter1, $bChange
Local Static $line1
If $iCounter1 = 0 Then
$line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
Else
GUICtrlSetPos($line1, 670+$iCounter1, 77)
EndIf
$iCounter1 += 10
If $iCounter1 = 700 Then
$iCounter1 = 0
$bChange = Not $bChange
GUICtrlDelete($line1)
EndIf
EndFunc ;==>_line
Func _line1($hWnd, $msg, $iIDTimer, $dwTime)
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
Local Static $iCounter1, $bChange
Local Static $line1
If $iCounter1 = 0 Then
$line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
Else
GUICtrlSetPos($line1, 670+$iCounter1, 77)
EndIf
$iCounter1 += 10
If $iCounter1 = 700 Then
$iCounter1 = 0
$bChange = Not $bChange
GUICtrlDelete($line1)
EndIf
EndFunc ;==>_line1
Func _line2($hWnd, $msg, $iIDTimer, $dwTime)
#forceref $hWnd, $Msg, $iIDTimer, $dwTime
Local Static $iCounter1, $bChange
Local Static $line1
If $iCounter1 = 0 Then
$line1 = GUICtrlCreatePic($star, $aXPos1[0], $aYPos[0], 38, 28)
Else
GUICtrlSetPos($line1, 670+$iCounter1, 77)
EndIf
$iCounter1 += 10
If $iCounter1 = 700 Then
$iCounter1 = 0
$bChange = Not $bChange
GUICtrlDelete($line1)
EndIf
EndFunc ;==>_line2
edit: pic zu icon geändert^^
jaa genau das brauchte ich! danke ![]()
so kann ich auch mehrere funcs ausführen und das gleichzeitig =)
geht nicht um die bilder sondern um die funcs das die beide gleichzeitig laufen, habe 2 bilder hochgeladen, welche die 2 sterne sind, jetzt müsste das script auch laufen
und dann bemerkst du was ich möchte^^
naja ändere einfach die bild links vom script, dann wirds klappen
png geht ja nicht soweit du bestimmt auch weißt.
von den bildern her sieht man das nicht, aber von der func her
du siehst ja das ich 2 funcs in adlibregister hab
aber die eine func geht nur wenn die andere fertig ist
und genau das will ich nicht haben
ich will das beide "gleichzeitig"(wie man so schön sagt^^) laufen
hey leute
nein ich bin kein anfänger mehr und weiß auch wie man mit adlibregister arbeitet etc.
hier zuerst mal mein script, danach kommen die fragen.
#include <IE.au3>
#include <Array.au3>
#include <File.au3>
#include <String.au3>
#include <GDIPlus.au3>
#include <Date.au3>
#include <GUIConstantsEx.au3>
#include <TabConstants.au3>
#include <GUIListBox.au3>
#include <GuiListView.au3>
#include <WindowsConstants.au3>
#include <ListBoxConstants.au3>
#include <GUITreeView.au3>
#include <GuiConstantsEx.au3>
#include <GuiEdit.au3>
#include <TreeViewConstants.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <Constants.au3>
#include <SQLite.au3>
#include <SQLite.dll.au3>
#include <ScreenCapture.au3>
Dim $Pic[50]
Global $pics
Global $a = 0, $c = 0
$i = 0
;$Password = InputBox("Passwort","Gib das Passwort ein :)")
;If $Password <> "...." Then
; MsgBox(0,"","Falsches Passwort!")
; Exit
;Else
; MsgBox(0,"","Passwort korrekt :)")
;EndIf
GUICreate("",@DesktopWidth,@DesktopHeight-100,0,0)
$pics = GUICtrlCreatePic("",0,0,@DesktopWidth-1000,@DesktopHeight-600)
$star = "C:\Users\Dennis\Desktop\star1.jpg"
$star1 = "C:\Users\Dennis\Desktop\star.gif"
$herz = "C:\Users\Dennis\Desktop\herz.jpg"
$Pic[0] = "C:\Users\Dennis\Desktop\5wfmqh9wnojpo4coloa2ddcpl3a.jpg"
$Pic[1] = "C:\Users\Dennis\Desktop\args.bmp"
;$herzform = GUICtrlCreatePic($herz,130,400,289,257)
GUISetState()
AdlibRegister("_pics",5000)
Sleep(5000)
AdlibRegister("_heart",1000)
AdlibRegister("_heart1",1000)
While 1
Sleep(100)
WEnd
Func _pics()
$msg = GUIGetMsg()
If $msg = $GUI_EVENT_CLOSE Then Exit
GUICtrlDelete($pics)
$pics = GUICtrlCreatePic($Pic[$i],0,0,@DesktopWidth-1000,@DesktopHeight-600)
GUISetState()
$i = $i+1
If $i = 2 Then
$i = 0
EndIf
EndFunc
Func _heart()
$heart = GUICtrlCreatePic($star,288, 510,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
$heart = GUICtrlCreatePic($star,296, 494,38,28)
$heart1 = GUICtrlCreatePic($star,279, 494,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,304, 481,38,28)
$heart1 = GUICtrlCreatePic($star,269, 481,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,321, 465,38,28)
$heart1 = GUICtrlCreatePic($star,254, 465,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,328, 462,38,28)
$heart1 = GUICtrlCreatePic($star,248, 462,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,338, 456,38,28)
$heart1 = GUICtrlCreatePic($star,238, 456,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,347, 453,38,28)
$heart1 = GUICtrlCreatePic($star,224, 453,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,355, 451,38,28)
$heart1 = GUICtrlCreatePic($star,213, 451,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,364, 450,38,28)
$heart1 = GUICtrlCreatePic($star,197, 450,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,378, 451,38,28)
$heart1 = GUICtrlCreatePic($star,192, 451,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,388, 453,38,28)
$heart1 = GUICtrlCreatePic($star,186, 453,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,398, 458,38,28)
$heart1 = GUICtrlCreatePic($star,178, 458,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,404, 462,38,28)
$heart1 = GUICtrlCreatePic($star,169, 462,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,412, 467,38,28)
$heart1 = GUICtrlCreatePic($star,165, 467,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,417, 473,38,28)
$heart1 = GUICtrlCreatePic($star,159, 473,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,425, 484,38,28)
$heart1 = GUICtrlCreatePic($star,150, 484,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,429, 494,38,28)
$heart1 = GUICtrlCreatePic($star,147, 494,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,432, 504,38,28)
$heart1 = GUICtrlCreatePic($star,145, 504,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,433, 513,38,28)
$heart1 = GUICtrlCreatePic($star,141, 513,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,433, 523,38,28)
$heart1 = GUICtrlCreatePic($star,143, 523,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,431, 533,38,28)
$heart1 = GUICtrlCreatePic($star,145, 533,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,429, 544,38,28)
$heart1 = GUICtrlCreatePic($star,147, 544,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,427, 551,38,28)
$heart1 = GUICtrlCreatePic($star,148, 551,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,421, 565,38,28)
$heart1 = GUICtrlCreatePic($star,154, 565,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,415, 577,38,28)
$heart1 = GUICtrlCreatePic($star,159, 577,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,408, 591,38,28)
$heart1 = GUICtrlCreatePic($star,167, 591,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,399, 602,38,28)
$heart1 = GUICtrlCreatePic($star,176, 602,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,388, 615,38,28)
$heart1 = GUICtrlCreatePic($star,186, 615,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,377, 628,38,28)
$heart1 = GUICtrlCreatePic($star,199, 628,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,364, 640,38,28)
$heart1 = GUICtrlCreatePic($star,212, 640,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,352, 647,38,28)
$heart1 = GUICtrlCreatePic($star,223, 647,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,340, 658,38,28)
$heart1 = GUICtrlCreatePic($star,237, 658,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,329, 665,38,28)
$heart1 = GUICtrlCreatePic($star,247, 665,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,318, 671,38,28)
$heart1 = GUICtrlCreatePic($star,262, 671,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,306, 677,38,28)
$heart1 = GUICtrlCreatePic($star,270, 677,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,296, 681,38,28)
$heart1 = GUICtrlCreatePic($star,279, 681,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
GUICtrlDelete($heart1)
$heart = GUICtrlCreatePic($star,288, 684,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($heart)
EndFunc
Func _heart1()
$hearta = GUICtrlCreatePic($star1,288, 510,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
$hearta = GUICtrlCreatePic($star1,296, 494,38,28)
$hearta1 = GUICtrlCreatePic($star1,279, 494,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,304, 481,38,28)
$hearta1 = GUICtrlCreatePic($star1,269, 481,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,321, 465,38,28)
$hearta1 = GUICtrlCreatePic($star1,254, 465,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,328, 462,38,28)
$hearta1 = GUICtrlCreatePic($star1,248, 462,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,338, 456,38,28)
$hearta1 = GUICtrlCreatePic($star1,238, 456,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,347, 453,38,28)
$hearta1 = GUICtrlCreatePic($star1,224, 453,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,355, 451,38,28)
$hearta1 = GUICtrlCreatePic($star1,213, 451,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,364, 450,38,28)
$hearta1 = GUICtrlCreatePic($star1,197, 450,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,378, 451,38,28)
$hearta1 = GUICtrlCreatePic($star1,192, 451,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,388, 453,38,28)
$hearta1 = GUICtrlCreatePic($star1,186, 453,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,398, 458,38,28)
$hearta1 = GUICtrlCreatePic($star1,178, 458,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,404, 462,38,28)
$hearta1 = GUICtrlCreatePic($star1,169, 462,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,412, 467,38,28)
$hearta1 = GUICtrlCreatePic($star1,165, 467,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,417, 473,38,28)
$hearta1 = GUICtrlCreatePic($star1,159, 473,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,425, 484,38,28)
$hearta1 = GUICtrlCreatePic($star1,150, 484,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,429, 494,38,28)
$hearta1 = GUICtrlCreatePic($star1,147, 494,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,432, 504,38,28)
$hearta1 = GUICtrlCreatePic($star1,145, 504,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,433, 513,38,28)
$hearta1 = GUICtrlCreatePic($star1,141, 513,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,433, 523,38,28)
$hearta1 = GUICtrlCreatePic($star1,143, 523,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,431, 533,38,28)
$hearta1 = GUICtrlCreatePic($star1,145, 533,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,429, 544,38,28)
$hearta1 = GUICtrlCreatePic($star1,147, 544,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,427, 551,38,28)
$hearta1 = GUICtrlCreatePic($star1,148, 551,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,421, 565,38,28)
$hearta1 = GUICtrlCreatePic($star1,154, 565,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,415, 577,38,28)
$hearta1 = GUICtrlCreatePic($star1,159, 577,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,408, 591,38,28)
$hearta1 = GUICtrlCreatePic($star1,167, 591,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,399, 602,38,28)
$hearta1 = GUICtrlCreatePic($star1,176, 602,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,388, 615,38,28)
$hearta1 = GUICtrlCreatePic($star1,186, 615,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,377, 628,38,28)
$hearta1 = GUICtrlCreatePic($star1,199, 628,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,364, 640,38,28)
$hearta1 = GUICtrlCreatePic($star1,212, 640,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,352, 647,38,28)
$hearta1 = GUICtrlCreatePic($star1,223, 647,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,340, 658,38,28)
$hearta1 = GUICtrlCreatePic($star1,237, 658,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearat = GUICtrlCreatePic($star,329, 665,38,28)
$hearta1 = GUICtrlCreatePic($star1,247, 665,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,318, 671,38,28)
$hearta1 = GUICtrlCreatePic($star1,262, 671,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,306, 677,38,28)
$hearta1 = GUICtrlCreatePic($star1,270, 677,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,296, 681,38,28)
$hearta1 = GUICtrlCreatePic($star1,279, 681,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
GUICtrlDelete($hearta1)
$hearta = GUICtrlCreatePic($star1,288, 684,38,28)
GUISetState()
Sleep(20)
GUICtrlDelete($hearta)
EndFunc
soo... und zwar wollte ich meiner freundin etwas zu weihnachten proggen^^
die bilder anzeigen funktioniert ja
alle 5sec wird das bild gewechselt
da es ja 5sec zeit hat, kann die andere funktion ja problemlos durchlaufen welche bei 1nem durchlauf vll. 1 sekunde braucht.
es werden 2 herze gemacht, zuerst kommt das eine, wenn das fertig ist das andere
jetzt möchte ich noch rechts in der großen freien fläche noch oben und unten so eine art durchlauf mit einer grafik machen.
doch dieser durchlauf würde ja auch erst funktionieren wenn eine func fertig ist.
wie kann ich das denn anders machen das dies zusammen geht ![]()
lg