Hallo
Hier sind die aktuellen A3L Includes + Time.au3 (Ebenfalls in der Zip gewesen...) für die Beta 3.2.9.3:
Download
Hallo
Hier sind die aktuellen A3L Includes + Time.au3 (Ebenfalls in der Zip gewesen...) für die Beta 3.2.9.3:
Download
Hallo,
Tüllich gibt es das Die Variable heiß $GUI_EVENT_RESIZED und wird von GuiGetMSG() Zurückgegeben.
Das könnte dann ca so aussehen:
#include <GUIConstants.au3>
[/autoit] [autoit][/autoit] [autoit]#Region ### START Koda GUI section ### Form=
$AForm1 = GUICreate("AForm1", 633, 453, 193, 125, $WS_SIZEBOX)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $GUI_EVENT_RESIZED
$fenster = WinGetPos($AForm1, "") ;gibt [0]x-pos,[1]y-pos,[2]breite und [3]höhe zurück
If $fenster[2] < 200 Then ;wenn breite < 200
WinMove($AForm1, "", $fenster[0], $fenster[1], 200, $fenster[3]) ;position + höhe bleibt, breite auf 200
ElseIf $fenster[3] < 200 Then ;wenn höhe < 200
WinMove($AForm1, "", $fenster[0], $fenster[1], $fenster[2], 200) ;position + breite bleibt, höhe auf 200
EndIf
EndSwitch
WEnd
Mfg Spider
Hallo
Erstmal, dieses PNG ist genial
Also. Da es ab Beta 3.2.9.0 probleme beim installieren von der Lib gibt musst du folgendes machen:
Erst einmal diese Installations exe downloaden, aber bevor du sie ausführst dieses Kleine Script ausführen:
$sRegKey = "HKEY_LOCAL_MACHINE\SOFTWARE\AutoIt v3\AutoIt"
$sRegValue = "Version"
$sRegType = "REG_SZ"
$sCurrent = RegRead($sRegKey, $sRegValue)
RegWrite($sRegKey, $sRegValue, $sRegType, "v3.2.4.9")
MsgBox(0, "", "You are ready to install Auto3Lib." & @CRLF & @CRLF & _
'Click "OK" when the installation is complete.')
RegWrite($sRegKey, $sRegValue, $sRegType, $sCurrent)
Wenn dann da steht "You are ready to install Auto3Lib." dann startest du die vorher downgeloadete Installation. Wenn die Installation abgeschlossen ist drückst du bei der Messagebox auf OK.
Danach Downloadest du dir diese ZIP und Entpackst den Inhalt in c:\Programme\AutoIt3\Include
Ich hoffe das hilft.
Mfg Spider
Hallo
eine Möglichkeit von vielen ist z.B. die mit sogenannten TimeTicks:
#include <date.au3>
$ShowMessage = "22:10:00" ;HH:MM:SS
$ShowMessage = StringSplit($ShowMessage, ":")
$ShowMessage = _TimeToTicks($ShowMessage[1], $ShowMessage[2], $ShowMessage[3])
While 1
Sleep(100)
If Number($ShowMessage) <= Number(_TimeToTicks()) Then ExitLoop
WEnd
Global $Hour, $Min, $Sec
_TicksToTime($ShowMessage,$Hour,$Min,$Sec)
MsgBox(0, "", "Es ist jetzt " & $Hour&":"&$Min&":"&$Sec & " oder später!")
Mfg Spider
Hallo
PixelSearch gibt ein Array aus.. Dabei ist $var[0] = x und $var[1] = y
[autoit]$var = PixelSearch( 0, 0, 300, 300, 0x1F468B, 50)
If @error Then
MsgBox(48,"","Farbe wurde nicht gefunden!")
Exit
EndIf
MsgBox(0,"","X="&$var[0]&@CRLF&"Y="&$var[1])
Ja das feld wo er sucht. 0,0,300,300 bedeutet das er links bei Pixel 0 und oben bei Pixel 0 anfängt und bis nach rechts bei Pixel 300 und bis nach unten bei Pixel 300 geht.
Mfg Spider
Hallo
Du musst einfach Sekunden mal 1000 rechnen Dann hast du die millisekunden.
[autoit]$EineSekunde = 1000
$EineMinute = 60*$EineSekunde
$EineStunde = 60*$EineMinute
$EinTag = 24*$EineStunde
;usw usw
Mfg Spider
Hallo
Also tatsächlich CRT(Röhre)? Cool, hat ja auch was ein 21"CRT bei sich rumstehen zu haben^^ Nagut, aber ein CRT darf auch > 40kg wiegen
btw: warum unterschreibst du eigentlich mit German?^^
Mfg Spider
Hallo
du hast ein 21" der 42kg wiegt?! Ist das CRT oder was Mein 22" Widescreen wiegt ca 10kg wenns hoch kommt^^
Mfg Spider
Hallo
Es könnte sein das VNC abstürzt weil du immer ein Neues Edit erstellst (Zeile 36). Ausserdem habe ich dir mal die Funktion _tail etwas verändert.
Probier das mal aus:
; WINTAIL.AU3
#include <Date.au3>
#include <string.au3>
#include <file.au3>
#include <array.au3>
#include <GUIConstants.au3>
$Version = "1.00"
$message = "Wähle eine Protokoll-Datei" & $Version
$grepfile = FileOpenDialog($message, "C:\protokoll\", "LOGs (*.log;*.txt;*.prt;*.prot)| Alle Dateien (*.*)", 1 + 2)
If @error Then
MsgBox(4096, "", "Keine Datei ausgewählt")
Exit
Else
$tailfile = StringReplace($grepfile, "|", @CRLF)
EndIf
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
$mainwindow = GUICreate("Wintail " & $Version & " " & $tailfile, 600, 150)
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
$line = _tail($tailfile)
$Edit = GUICtrlCreateEdit($line, 5, 5, 590, 140, $WS_HSCROLL)
;$okbutton = GUICtrlCreateButton("OK", 70, 50, 60)
; GUICtrlSetOnEvent($okbutton, "OKButton")
GUISetState(@SW_SHOW)
While 1
Sleep(2500) ; Häng rum
;$Zeit=@HOUR & ":" & @MIN & ":" & @SEC
$line = _tail($tailfile)
GUICtrlSetData($Edit, $line);Nicht immer neues Edit erstellen sondern einfach Edit updaten mit GuiCtrlSetData!
;~ GUICtrlCreateEdit($line, 5, 5, 590, 140, $WS_HSCROLL)
WEnd
Func CLOSEClicked()
;Beachte: an diesem Punkt wäre @GUI_CTRLID gleich $GUI_EVENT_CLOSE,
;und @GUI_WINHANDLE wäre gleich $mainwindow
MsgBox(0, "GUI Event", "Du hast auf CLOSE geklickt! Programm wird beendet...", 1)
Exit
EndFunc ;==>CLOSEClicked
Func _tail($PROT)
Local $aRecords = StringSplit(FileRead($PROT), @LF)
$lesezeile = 10
$tailtext = ''
For $i = $aRecords[0]-$lesezeile To $aRecords[0]
$tailtext &= $aRecords[$i] & @CRLF
Next
Return $tailtext
EndFunc ;==>_tail
[/autoit]Hoffe konnte helfen
Mfg Spider
Hallo
Meinst du so?
$xx = 5 ;Wie oft er die 2. Schleife durchlaufen soll bis er wieder mit der 1. anfängt
$i = 0 ;Zähler
While 1
Sleep(5000)
Send("6")
Sleep(9000)
$i = 0
While 2 ;btw: Hier kannst du auch While 1 machen!
$i += 1
If $i > $xx Then ExitLoop
WinActivate("WORLD OF WARCRAFT")
Send("5")
Sleep(3710)
$start2 = TimerInit()
While 1
$dif = TimerDiff($start2)
If $dif > 21000 Then
ExitLoop
EndIf
Sleep(500)
$message = "Searching for feather..."
$height = 60
update_splash ()
$feather_cord = PixelSearch($left, $top, $right, $bottom, $feather, $colourVariance, $step)
If Not @error = 1 Then
SetError(2)
$message = "Found Something."
update_splash ()
$featherx = $feather_cord[0]
$feathery = $feather_cord[1]
MouseMove($featherx, $feathery)
ExitLoop
EndIf
WEnd
$start = TimerInit()
While 1
Sleep(100)
$message = "Waiting for bite..."
$height = 100
update_splash ()
;calc area of probable splash
$s_left = ($featherx - $s_offset)
$s_top = ($feathery - $s_offset)
$s_right = ($featherx + $s_offset)
$s_bottom = ($feathery + $s_offset)
$sp = PixelSearch($s_left, $s_top, $s_right, $s_bottom, $day, $splashvariance)
$sp = PixelSearch($s_left, $s_top, $s_right, $s_bottom, $night, $splashvariance)
$dif = TimerDiff($start)
If $dif > 25000 Then
ExitLoop
EndIf
If UBound($sp) > 1 Then
;if NOT @error = 1 then
SetError(2)
$message = "Fish!"
$height = 60
update_splash ()
Send("{shiftdown}")
MouseClick("right", $featherx, $feathery, 1, 1)
Send("{shiftup}")
ExitLoop
EndIf
WEnd
WEnd
WEnd
Mfg Spider
Hallo
Afaik mit 3.2.8.0, bin mir aber auch nicht ganz sicher!
Mfg Spider
Hallo
Nein huggy, #AutoIt3Wrapper_Res_Icon_Add fügt nur Icons zur Exe hinzu!
teh_hahn: Ja, da hast du recht, das Bsp ist veraltet. Jetzt arbeitet Autoit mit Negativen Zahlen bei Icons. Probier mal das aus:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\au3.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype1.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype2.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype3.ico
#AutoIt3Wrapper_Res_Icon_Add=C:\Programme\AutoIt3\Icons\filetype-blank.ico
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <GUIConstants.au3>
GUICreate("Demo resource ICO's")
$h_Button1 = GUICtrlCreateButton("my picture button", 10, 20, 40, 40, $BS_ICON)
GUISetState()
For $x = 0 To -7 Step -1
$rc = TraySetIcon(@ScriptFullPath, $x)
$rc2 = GUICtrlSetImage($h_Button1, @ScriptFullPath, $x)
If $x < 3 Then
TrayTip("Default ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)
Else
TrayTip("New ico:" & $x, "TraySetIcon rc:" & $rc & @LF & "GUICtrlSetImage rc:" & $rc2, 3)
EndIf
Sleep(2000)
Next
GUIDelete()
Mfg Spider
Hallo
Jo, aber dieser Thread ist eine Umfrage... Und ich weiß nicht ob es so sinvoll ist, ein Umfragen Thread als Changelog zu benutzen. Ich schreib jetzt hin "Idee By Huggy" -.-
Mfg Spider
Hallo
Sorry hab hier grad weder SciTe noch Autoit, aber wenn ich das richtig verstanden hab kannst du Mehrere Dateien senden in dem du sie bei $s_AttachFiles mit einem Simikolon ( ; ) trennst..
Also z.B. so:
$s_AttachFiles = "C:\Dokumente und Einstellungen\srb\Eigene Dateien\Buchungsvorlagen\2007-10-02 Bahn.htm;C:\Dokumente und Einstellungen\srb\Eigene Dateien\Buchungsvorlagen\123.html;C:\TestDatei.exe"
[/autoit]Mfg Spider
Hallo,
Nix ist^^
ZitatGtaSpider:
HalloHalte dies für eine Gute Idee. Würde dann aber ein neuen Thread machen und dann genau die gleiche Systematik reinmachen wie auch im Englischen Forum (link)
Warten wir mal ab was die Community sagt Zwinkern
Mfg Spider
Zitathuggy:
wollte auch das System aber bis jetzt kam nur spam *ääätsch*^^
Dass hab ich so aufgefasst, dass wir beide das gleiche System haben. Da aber in diesem Thread nur Spam (wie du gesagt hast) ist hab ich mir überlegt, erstell ich einfach ein neuen Thread
Wenn du willst kann ich unterschreiben "Idee by Huggy"......
Mfg Spider
Hallo
Falls du das Rekursiv machen willst benutze am besten diese UDF:
http://www.autoitscript.com/forum/index.php?showtopic=33930
Mfg Spider
Momentane Stable Version: 3.2.12.1
[DOWNLOAD]
Momentane Beta Version: 3.2.13.7
[DOWNLOAD]
Stable Changelog:
12th June, 2008 - v3.2.12.1
Fixed: RunAs() und RunAsWait() benutzen jetzt anstelle von @WorkingDir, @SystemDir als Arbeitsverzeichnis wenn der User kein Arbeitsverzeichnis angegeben hat.
Fixed: Kontextmenüitems geben keine Events zurück.
Fixed: Icon Transparenz wird Aktualisiert wenn ein Tab zurückgesetzt wird.
Fixed #360: RunAs() unter Windows 2000 funktioniert nun.
Beta Changelog:
[code3.2.13.7 ( 6th August, 2008 ) (Beta)
AutoIt:
- Fixed: Wirklich dummer fehler bei den Run funkionen (<-- Wortwörtlich von Jon )
- Added #481: 11 pixel Rand um den Text bei SplashTextOn() unter Vista (trifft auf Vista UI guilinien).
- Added #468: @MSec Makro hinzugefügt um die millisekunden der momentanen Sekunde rauszufinden.
- Added #277: @CPUArch Makro um die fähigkeiten des Prozessors rauszufinden.
- Changed: Tweaked DEP und Bild Zufall bei den Verknüpfungsoptionen.
AutoItX:
- Changed: AutoItX wurde nun komplett zu Unicode Konvertiert - ANSI DLL prototypen wurden gelöscht (Für jetzt, hängt von der Nachfrage ab ob es noch später hinzugefügt wird)[/code]
Edit, 06.07.08 15:00 : Beta 3.2.13.7
Hallo
Der Port musst nicht immer 33891 sein! Den kannst du dir aussuchen, der Port muss aber bei Client und Server gleich sein!
Ich könnte jetzt noch lange erklären, aber am besten helfen bekanntlich Beispiele
CLIENT
;###########
; CLIENT
;###########
TCPStartup() ;Immer wenn du TCP... Befehle im Script hast muss das ganz oben am Scriptanfang stehen!
Global $IP = "192.168.0.2" ;Die IP des Servers wohin er sich Verbinden will, die musst du natürlich ändern!
Global $PORT = 1234 ;Der Port auf dem das alles Laufen soll. Muss beim Client der gleiche sein wie beim Server. Wenn du ihn ändern willst, musst du ihn bei beiden ändern!
Global $MainSocket = -1 ;Hier wird $MainSocket mit -1 deklariert, damit es bei der unterliegenden While schleife keine Probleme gibt.
While $MainSocket = -1 ;Solange $MainSocket = -1 ist bleibt die schleife. Wenn $MainSocket <> -1 ist wird die schleife beendet.
$MainSocket = TCPConnect($IP, $PORT) ;Versucht sich auf die ip $IP und port $PORT zu verbinden, undzwar solange bis $MainSocket <> -1 also er sich erfolgreich verbunden hat mit dem Server.
WEnd
TCPSend($MainSocket,"Der Text der gesendet werden soll");Hier wird der Text gesendet, undzwar auf $MainSocket, also auf ip $IP und Port $PORT.
TCPCloseSocket($MainSocket) ;Hier wird der $MainSocket wieder beendet.
TCPShutdown() ;Nicht unbedingt notwenig, ist so aber schöner.
SERVER
;###########
; SERVER
;###########
TCPStartup() ;Immer wenn du TCP... Befehle im Script hast muss das ganz oben am Scriptanfang stehen!
Global $IP = "192.168.0.2" ;Die IP des Servers, wo er den "Listening Socket" (also den Zuhörenden Sockel) erstellen soll
Global $PORT = 1234 ;Der Port auf dem das alles Laufen soll. Muss beim Client der gleiche sein wie beim Server. Wenn du ihn ändern willst, musst du ihn bei beiden ändern!
Global $ListeningSocket = TCPListen($IP, $PORT) ;Der Zuhörende Sockel also ListeningSocket.
If @error Then Exit ;Wenn er aus irgendeinem Grund den ListeningSocket nicht erstellen kann wird das Script beendet.
Global $AccSocket = -1 ;Hier wird $AccSocket mit -1 deklariert, damit es bei der unterliegenden While schleife keine Probleme gibt.
Global $Recv ;Hier wird $Recv deklariert, damit es bei der noch etwas weiter unterliegenden While schleife keine Probleme gibt.
While $AccSocket = -1 ;Solange $AccSocket = -1 ist bleibt die schleife. Wenn $AccSocket <> -1 ist wird die schleife beendet.
$AccSocket = TCPAccept($ListeningSocket) ;Wartet bis ein Client versucht auf der ip $IP und den Port $PORT sich zu verbinden.
WEnd
While $Recv = ''
$Recv = TCPRecv($AccSocket, 1024) ;Hier wird von $AccSocket text "Rececived" also Empfangen.
WEnd
TrayTip("",$Recv,5) ;Hier wird der Empfangende Text mit einem TrayTip ausgegeben-
Sleep(5000) ;Wartet 5 Sekunden
TCPCloseSocket($AccSocket) ;Hier wird der $AccSocket wieder beendet.
TCPShutdown() ;Nicht unbedingt notwenig, ist so aber schöner.
Ich hoffe das hilft dir
Mfg Spider
Hallo
:comp2: Mehr gibt es da glaub ich nicht zu sagen^^
Mfg Spider