Mein Favorit für die Ermittlung des Pfades ist immer noch:
[autoit]
$str = "C:\Test\Benne\AutoIt\Test.txt"
MsgBox(0, '', StringRegExpReplace($str, '(.*\\).*', '$1'))
Mein Favorit für die Ermittlung des Pfades ist immer noch:
[autoit]
$str = "C:\Test\Benne\AutoIt\Test.txt"
MsgBox(0, '', StringRegExpReplace($str, '(.*\\).*', '$1'))
Wie bitte?
Ich glaube, was Du am dringendsten brauchst, ist eine Nachhilfe in Deutsch. Das kann doch keiner verstehen. ![]()
Zum AutoIt lernen hast Du Dir gleich mal die _IE-Funktionen ausgesucht?
Um die Funktionen besser verstehen zu können, sollte man auch etwas HTML können, sonst findet man im Quelltext nicht die richtigen Stellen.
Falls Du Dich damit nicht so auskennst, schick mir doch mal den Quelltext von der Seite, wenn Du eingeloggt bist (habe kein Konto bei web.de).
Gibt es einen Grund dafür, dass Du das unbedingt über die Website machen willst?
Siehe Beitrag von SiLenCa...
Erstelle von Anfang an ein 2D-Array und wenn ein neues Array mit Werten dazukommt, dann vergrößerst Du das Array mit ReDim:
[autoit]
#include <Array.au3>
Global $array1[1][4] = [['a','b','c','d']]
Global $array2[4] = [1, 2, 4, 5]
ReDim $array1[UBound($array1)+1][4]
For $i = 0 To 3
$array1[UBound($array1)-1][$i] = $array2[$i]
Next
_ArrayDisplay($array1)
Ich halte solch eine "Forum Polizei" auch für überflüssig. Ich denke, die Bot-Coder kriegen wir Mods schon in den Griff. So viel ist das nun auch nicht.
Und falls so eine Art Bot-Polizei eingerichtet werden sollte würde dich das sicherlich ziemlich entlasten.
Die gibt es doch schon: uns MODs ![]()
Ich habe heute meinen großzügigen Tag:
[autoit]
#include <IE.au3>
$oIE = _IECreate("http://www.web.de/fm/")
$oForm = _IEFormGetObjByName($oIE, "fm")
$oUser = _IEFormElementGetObjByName($oForm, "username")
_IEFormElementSetValue($oUser, "username") ; hier Benutzer eintragen
$oPass = _IEFormElementGetObjByName($oForm, "password")
_IEFormElementSetValue($oPass, "password") ; hier Passwort eintragen
_IEFormSubmit($oForm) ; zum absenden
Spare Dir den Click und geh gleich auf die Freemail-Seite:
[autoit]_IENavigate ($o_IE, "http://www.web.de/fm/")
[/autoit]Na, da hast Du aber AM/PM vergessen!
Und überhaupt geht das auch noch kürzer:
$str = "4/2/2009 8:3 AM"
MsgBox(4160, '', "Datum & Uhrzeit: " & _timeconvert($str))
Func _timeconvert($sDate)
Local $aDate = StringRegExp($sDate, '(\d{1,2})/(\d{1,2})/(\d{4}) (\d{1,2}):(\d{1,2}) ([AP]M)', 3)
Return StringFormat('%02i.%02i.%02i %02i:%02i', $aDate[1], $aDate[0], $aDate[2], $aDate[3]+12*($aDate[5]='PM'), $aDate[4])
EndFunc ;==>_timeconvert
Es gibt aber auch eine UDF, um direkt einen NTP-Server abzufragen:
#include <Date.au3>
$time = _TimeSync()
;~ $aTime = StringSplit(StringMid($time, StringInStr($time, ' ')+1), ':')
;~ _SetTime($aTime[1], $aTime[2], $aTime[3])
MsgBox(0, '', 'Rechnerzeit:' & @TAB & _NowCalc() & @CRLF & 'Atomzeit: ' & @TAB & $time)
;**************************************************************************************************
Func _TimeSync()
Local $ntpServer = "1.de.pool.ntp.org"
UDPStartup()
Dim $socket = UDPOpen(TCPNameToIP($ntpServer), 123)
If @error <> 0 Then
MsgBox(0, "", "Can't open connection!")
Exit
EndIf
$status = UDPSend($socket, MakePacket("1b0e01000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))
If $status = 0 Then
Return SetError(1)
EndIf
$data = ""
While $data = ""
$data = UDPRecv($socket, 100)
Sleep(100)
WEnd
UDPCloseSocket($socket)
UDPShutdown()
$unsignedHexValue = StringMid($data, 83, 8); Extract time from packet. Disregards the fractional second.
$value = UnsignedHexToDec($unsignedHexValue)
$TZinfo = _Date_Time_GetTimeZoneInformation()
$TZoffset = $TZinfo[1] * - 2
$UTC = _DateAdd("s", $value, "1900/01/01 00:00:00")
Return _DateAdd("n", $TZoffset, $UTC)
EndFunc ;==>_TimeSync
;**************************************************************************************************
Func MakePacket($d)
Local $p = ""
While $d
$p &= Chr(Dec(StringLeft($d, 2)))
$d = StringTrimLeft($d, 2)
WEnd
Return $p
EndFunc ;==>MakePacket
;**************************************************************************************************
Func UnsignedHexToDec($n)
$ones = StringRight($n, 1)
$n = StringTrimRight($n, 1)
Return Dec($n) * 16 + Dec($ones)
EndFunc ;==>UnsignedHexToDec
;**************************************************************************************************
Die Funktion hatte ich mal aus dem englischen Forum und dann bei mir archiviert. Ich finde sie jetzt aber nicht mehr, kann also nicht sagen, von wem die stammt. Falls das jemand weiß, bitte melden!
Man kann das Ganze auch anders lösen:
[autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$hGui = GUICreate('Test', 300, 200)
$hCounter = GUICtrlCreateLabel('0', 20, 20, 100, 20) ; ist nur ein Beispiel
GUISetState()
Global $Timer = TimerInit(), $iCount = 0
GUIRegisterMsg($WM_MOUSEMOVE, 'MY_WM_MOUSEMOVE') ; Funktion registrieren für Mausbewegung
Do
If TimerDiff($Timer) > 2000 Then ; wenn 2 sekunden lang die Maus nicht bewegt wird, dann...
$iCount += 1 ; Counter um eins erhöhen
GUICtrlSetData($hCounter, $iCount) ; und Counter anzeigen (als Beispiel, damit in der Schleife etwas passiert)
EndIf
Until GUIGetMsg() = -3
Func MY_WM_MOUSEMOVE() ; Funktion wird aufgerufen, wenn die Maus bewegt wird
$Timer = TimerInit() ; Timer zurücksetzen
Return $GUI_RUNDEFMSG
EndFunc
Letztendlich kommt es aber auf den Verwendungszweck an. Also was Du innerhalb der Schleife machen willst.
Beachten solltest Du nur, dass Du die Funktion "MY_WM_MOUSEMOVE" nicht blockieren darfst:
Zitat
Warning: blocking of running user functions which executes window messages with commands such as "Msgbox()" can lead to unexpected behavior, the return to the system should be as fast as possible !!!
@nektus: Lies Dir die Forenregeln durch und halte Dich daran, sonst handelst Du Dir noch Verwarnungen ein!
[Thread closed]
Also bei mir ist das hier ein einzelner Bildpunkt:
#include <GDIPlus.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $grenze = 11
$gui = GUICreate("GDI+-Test", $grenze, $grenze, -1, -1, $WS_POPUP, $WS_EX_TOOLWINDOW)
$hwnd = WinGetHandle("GDI+-Test")
GUISetState()
_GDIPlus_Startup()
$hGraphic = _GDIPlus_GraphicsCreateFromHWND($hwnd)
$hBrush = _GDIPlus_BrushCreateSolid(0xFF0000FF)
$hBrush2 = _GDIPlus_BrushCreateSolid(0xFFFFFF00)
_GDIPlus_GraphicsFillRect($hGraphic, 5, 5, 1, 1, $hBrush)
_GDIPlus_BrushDispose($hBrush)
Do
Sleep(10)
Until GUIGetMsg() = $GUI_EVENT_CLOSE
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_Shutdown()
Habe extra die Bildschirmlupe gestartet (1920x1200).
Wenn Du die Slashes entfernen willst geht doch ganz einfach mit:
[autoit]StringReplace('YYYY/MM/DD', '/', '')
[/autoit]Die "Sicherheitskopie" könnte man wohl schon als Vervielfältigung im Sinne der Lizenzvereinbarung ansehen. Von daher: nicht erlaubt!
Für ein Chat-Programm braucht man PixelSearch?
Poste mal die Infos von "Au3Info.exe". Das läßt sich bestimmt auch ohne PixelSearch steuern.
Das ignorieren meiner Fragen werte ich jetzt als: "Das soll ein Bot werden". [Thread closed]
Edit: Ok, lassen wir ihm noch eine Chance...
Was willst Du denn erreichen?
Das soll hoffentlich kein Bot werden!?