Hi hast du dir die UDF´s von Bugfix angesehen!?
http://www.autoit.de/index.php?page=Thread&threadid=2492
Beiträge von Concara
-
-
Hi!
Wir reden hier schon von FTP oder!?
Was soll daZitatwie zb der ordner "hallo" (http://www.neu.de/hallo)
(Partnersuche
)Hast du dir die ftp.au3 eigendlich angesehen?
[autoit]
[/autoit][autoit][/autoit][autoit]
#include <ftp.au3>
$server = "Test"
$username = "Maxmustermann"
$pass = "maxl"
$localfolder= "C:\temp\ftp\"
$remotefolder= "hallo"$Open = _FTPOpen("MyFTP_Control")
[/autoit]
$Conn = _FTPConnect($Open, $server, $username, $pass)
_FtpSetCurrentDir($Conn, $remotefolder)
$ftpfileslist = _FTPFilesListToArray($Conn,2)
For $i = 1 To $ftpfileslist[0]
_FTPGetFile($Conn, $ftpfileslist[$i], $localfolder & $ftpfileslist[$i])
Next
$Ftpc = _FTPClose($Open) -
HI!
Hier ein Beispiel zum herunterladen des Inhaltes eines Ordners vom FTP Server.
[autoit]
Betonung einen Ordner.
Wenn dieser einen oder mehrere Unterordner besitzt dann werden diese nicht mit heruntergeladen.
[/autoit]
#include <ftp.au3>
$server = "Test"
$username = "Maxmustermann"
$pass = "maxl"
$Open = _FTPOpen("MyFTP_Control")
$Conn = _FTPConnect($Open, $server, $username, $pass)
$ftpfileslist = _FTPFilesListToArray($Conn,2)
For $i = 1 To $ftpfileslist[0]
_FTPGetFile($Conn, $ftpfileslist[$i], "c:\Temp\ftp\" & $ftpfileslist[$i])
Next
$Ftpc = _FTPClose($Open) -
Hi Eukalyptus!
Vielen vielen Dank.
Punkt 1 wars sehr wahrscheinlich.
Ziemlich einfach der Fehler wenn mans sehen würde.Punkt 2 hab ich natürlich auch umgesetzt. Speed ist immer gut, vorallem wenn es sehr viele Bilder sind.
Punkt 3:
Das mache ich, weil aus irgend einem Grund es (mir) nicht möglich ist gif oder bmp Bilder sonst in kleinere Bilder umzuwandeln mit GDI+.
Also erstelle ich zuerst ein Jpg das dann umgewandelt wird und speichere es dann.
Ich verwende diese Funktion um eine Webgallarie zu erstellen. Und da ist es mir egal ob die Vorschaubilder dann nicht mehr das Originalformat haben.
jpg groß wird zu jpg klein
bmp groß wird zu jpg klein
gif groß wird zu jpg kleinNochmal herzlichen Dank
-
Hi!
Hast du dort schon nachgesehen ? Ftp.au3
Damit sollte es machbar sein. -
Hi!
Hast du es schon bei den Engländern probiert? http://www.autoitscript.com/forum/index.php?showtopic=73993
Keine Ahnung ob das das ist was du willst!? -
Hi!
Jetzt versteh ich was du meinst.
Ich habe das mal unter Windows XP getestet und kann nur sagen es funktioniert.
Auch wenn ich die Ip Adresse ändere wärend das Script lauft.
Das einzige was mir aufgefallen ist, dass das Makro die Loopback Adresse angibt obwohl ich die Ip Adresse released habe, also dort eigendlich 0.0.0.0 zurückgegeben werden sollte.Also würde ich das Script so aussehen lassen.
[autoit]
[/autoit]
while @IPAddress1 = "127.0.0.1" Or @IPAddress1 = "0.0.0.0"
MsgBox(0,"IP-Adresse wird konfiguriert",@IPAddress1)
wend -
Hi!
Ich würde es so machen.
Wobei ich nicht weiß ob "\\FreigabeXY\xpclient\apps\LRK\" der Pfad ist wo die "kopieren_Systemdateien.bat" liegt oder ob du die "kopieren_Systemdateien.bat" dort hin kopieren willst!?Spoiler anzeigen
[autoit]
[/autoit]
RunAs ( "administrator", "domain", "password", 0, @ComSpec & ' /c "\\FreigabeXY\xpclient\apps\LRK\kopieren_Systemdateien.bat"' ,@TEmpDir, @SW_MAXIMIZE) -
HI!
Mal eine einfache Frage.
Hast du überhaupt eine 2 Netzwerkkarte!?
Was sagt denn Start -> Ausführen -> cmd -> enter -> ipconfig /all -> enter !
Wenn du keine 2 Netzwerkkarte oder einen Wlan Adapter hast ist die @IPAddress2 soweit ich weiß immer 0.0.0.0 . -
Hallo!
Ich verkleinere mit der Funktion siehe Spoiler(ist nicht das ganze Script) mehere Bilder.
Nach ca. 6000 Bilder Funktioniert es nicht mehr. Es werden keine Bilder mehr gespeichert.
Mir ist aufgefallen das die Autoit.exe im Taskmanager sich im laufe der Zeit ziemlich "viel" Speicher verwendet.
Beim Start des Scripts sind es noch ca 20 MB am Ende dann ca 80 MB.
Hat einer so ein Problem mit GDI+ schon gehabt und eine Lösung gefunden?Das Script fragt ab ob die Bilder schon existieren.
Wenn man das Script also noch ein mal über die gleichen Bilder zum Umwandeln anwendet wird der "rest" der fehlt erstellt.
Bsp.: ich hab 8000 Bilder die umgewandelt werden sollen, dann kommen beim erstenmal ausführen 6000 umgewandelte heraus.
Beim zweitenmal dann der Rest (2000).Danke für eure Hilfe!
Concara
Spoiler anzeigen
[autoit]
[/autoit]
Func _resize($FILE, $len, ByRef $NewH, ByRef $NewW)
Local $NewFile, $hImage, $iX, $iY, $hGraphics, $hGraphicsImg, $hBitMap
$error_o = DirCreate(@ScriptDir & "\klein")
If Not $error_o Then
MsgBox(4096, "Error", 'Es konnte der Orndern "klein" nicht erstellt werden. Gehen sie sicher, dass sie Schreibrechte in diesem Ordner haben!')
Return 0
EndIf
$NewFile = @ScriptDir & "\klein" & StringTrimLeft($FILE, StringLen($len))
If Not FileExists($NewFile) Then
;~ _GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($FILE)
If StringRight($FILE, StringLen($FILE) - StringInStr($FILE, ".","",-1)) = "gif" Or StringRight($FILE, StringLen($FILE) - StringInStr($FILE, ".","",-1)) = "bmp" Then
_GDIPlus_ImageSaveToFile($hImage,$NewFile & "TEMP.jpg")
_GDIPlus_ImageDispose($hImage)
$hImage = _GDIPlus_ImageLoadFromFile($NewFile & "TEMP.jpg")
FileDelete($NewFile & "TEMP.jpg")
Else
$hImage = _GDIPlus_ImageLoadFromFile($FILE)
EndIf
$iX = _GDIPlus_ImageGetWidth ($hImage)
$iY = _GDIPlus_ImageGetHeight ($hImage)
If $iX >= $iY Then
$NewH = Round($NewH * $iY / $iX)
Else
$NewW = Round($NewW * $iX / $iY)
EndIf
; Create sized BMP
$hGraphicsImg = _GDIPlus_ImageGetGraphicsContext($hImage)
$hBitMap = _GDIPlus_BitmapCreateFromGraphics($NewW,$NewH,$hGraphicsImg)
_GDIPlus_GraphicsDispose($hGraphicsImg)
; ------------
; Create sized BMP
$hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitMap)
_GDIPlus_GraphicsDrawImageRect($hGraphics,$hImage,0,0,$NewW,$NewH)
_GDIPlus_GraphicsDispose($hGraphics)
;-----------------
_GDIPlus_ImageSaveToFile($hBitMap,$NewFile)
; Cleanup
_GDIPlus_ImageDispose($hImage)
_GDIPlus_BitmapDispose($hBitMap)
_WinAPI_DeleteObject ($hImage)
_WinAPI_DeleteObject ($hBitmap)
_WinAPI_DeleteObject ($hGraphics)
_WinAPI_DeleteObject ($hGraphicsImg)
;~ _GDIPlus_Shutdown()
Return 1
Else
;_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($NewFile)
$iX = _GDIPlus_ImageGetWidth ($hImage)
$iY = _GDIPlus_ImageGetHeight ($hImage)
If $iX >= $iY Then
$NewH = Round($NewH * $iY / $iX)
Else
$NewW = Round($NewW * $iX / $iY)
EndIf
_GDIPlus_ImageDispose($hImage)
;_GDIPlus_Shutdown()
Return 2
EndIf
Return 0
EndFunc -
Hi!
Ich hab versucht deine Aufgabenstellung zu lösen.
Mein Probelm ist das Google meine Anfragen sperrt.Spoiler anzeigen
Google ErrorWe're sorry...
... but your query looks similar to automated requests from a computer virus or spyware application. To protect our users, we can't process your request right now.We'll restore your access as quickly as possible, so try again soon. In the meantime, if you suspect that your computer or network has been infected, you might want to run a virus checker or spyware remover to make sure that your systems are free of viruses and other spurious software.
We apologize for the inconvenience, and hope we'll see you again on Google.
Jetzt kann ich das nicht testen.
Aber hier mal der Code.
Du speicherst die Dateien in deinem ersten Beispiel eh unter @scriptdir & "\img\pic\
Dein neues hab ich mir ehrlich gesagt nicht mehr angesehen.
Falls du eine Erklährung von meinem Code brauchst bitte melden.Edit: Sorry im Code waren noch ein paar Fehler ich hoffe das es jetzt passt.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>$Form1 = GUICreate("Form1", 896, 832)
[/autoit] [autoit][/autoit] [autoit]
$Button1 = GUICtrlCreateButton("L", 784, 32, 27, 25, 0)
$Button2 = GUICtrlCreateButton("O", 808, 8, 27, 25, 0)
$Button3 = GUICtrlCreateButton("R", 832, 32, 27, 25, 0)
$Button4 = GUICtrlCreateButton("U", 808, 56, 27, 25, 0)
$label = GUICtrlCreateLabel("",2,2,200,20)
GUISetState(@SW_SHOW)
Dim $leftright = 0
Dim $raufrunter = 0
Dim $bild[15][13]_haupt2()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$nMsg = GUIGetMsg()
Select
Case $nMsg = $GUI_EVENT_CLOSE
Exit
Case $nMsg = $Button1
GUICtrlSetData($label, "RaufRunter " & $raufrunter & " LinksRechts " & $leftright)
$leftright += 1
_haupt()
Case $nMsg = $Button2
GUICtrlSetData($label, "RaufRunter " & $raufrunter & " LinksRechts " & $leftright)
$raufrunter += 1
_haupt()
Case $nMsg = $Button3
GUICtrlSetData($label, "RaufRunter " & $raufrunter & " LinksRechts " & $leftright)
If $leftright > 0 Then
$leftright += -1
EndIf
_haupt()
Case $nMsg = $Button4
GUICtrlSetData($label, "RaufRunter " & $raufrunter & " LinksRechts " & $leftright)
If $raufrunter > 0 Then
$raufrunter += -1
EndIf
_haupt()
EndSelect
WEndFunc _haupt2()
[/autoit] [autoit][/autoit] [autoit]
$Picleft = 0
$Picsize = 64
For $ii = 1 To 14
For $i = 1 To 12
If Not FileExists(@ScriptDir & "\img\Pic\" & StringFormat("%04d", $i & $ii) & ".jpg") Then
InetGet("http://khm1.google.de/kh/v=36&hl=de&x=" & $ii & "&y=4" & 1 + $i & "&z=7&s=G", @ScriptDir & "\img\Pic\" & StringFormat("%04d", $i & $ii) & ".jpg", 1)
EndIf
$bild[$ii][$i] = GUICtrlCreatePic(@ScriptDir & "\img\Pic\" & StringFormat("%04d", $i & $ii) & ".jpg", $Picleft, $Picsize*$i, $Picsize, $Picsize)
Next
$Picleft = $Picleft + $Picsize
Next
ConsoleWrite("http://khm1.google.de/kh/v=36&hl=de&x=" & $i & "&y=4" & 1 + $i & "&z=7&s=G")
EndFuncFunc _haupt()
[/autoit]
$Picleft = 0
$Picsize = 64
For $ii = 1 To 14
For $i = 1 To 12
If Not FileExists(@ScriptDir & "\img\Pic\" & StringFormat("%04d", $i + $raufrunter & $ii + $leftright) & ".jpg") Then
InetGet("http://khm1.google.de/kh/v=36&hl=de&x=" & $ii + $leftright & "&y=4" & 1 + $i + $raufrunter & "&z=7&s=G", @ScriptDir & "\img\Pic\" & StringFormat("%04d", $i + $raufrunter & $ii + $leftright) & ".jpg", 1)
EndIf
GUICtrlSetImage($bild[$ii][$i] ,@ScriptDir & "\img\Pic\" & StringFormat("%04d", $i + $raufrunter & $ii + $leftright) & ".jpg")
Next
Next
EndFunc -
Oscar Angeber!!!! Nein Scherz. Du kannst Ihm nicht die ganze Arbeit abnehmen!

LG
Concara -
Hi!
Hab da das Filefindnext Beispiel etwas umgeschrieben.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
; Shows the filenames of all files in the current directory
$search = FileFindFirstFile("*.jpg") ;nur JPG werden im Ordner in dem du das Script startest gesucht eventuell einen anderen Ordner angeben oder ein Input erstellen
$i = 1
; Check if the search was successful
If $search = -1 Then
MsgBox(0, "Error", "No files/directories matched the search pattern")
Exit
EndIfWhile 1
[/autoit] [autoit][/autoit] [autoit]
$file = FileFindNextFile($search)
If @error Then ExitLoop
$name = "c:\temp\test" & $i & ".jpg" ;Ordner und Name wohin die Bilder verschoben werden
FileMove ( $file, $name ,9 ) ;Achtung mit der Flag 9 erstellt und überschreibt vorhandene Dateien (siehe Hilfe)
$i = $i + 1 ;schöner $i += 1
;MsgBox(4096, "File:", $file) ; Zeigt dir die gefundenen Dateien an ist aber lästig ok zu drücken
WEnd; Close the search handle
[/autoit]
FileClose($search) -
Hi!
Ja seit dem heutigen Update habe ich die selben Probleme.
Ich habe vorübergehend den Scanner deaktiviert.
Ich hoffe das sich bald einer die Mühe macht und es AVIRA erzählt das sie ein false positive mit dem neuen Update bei AutiIt produziert haben. -
Hi!
Du hast deine filefindnext nicht mit einer Abfrage versehen das die Schleife beendet wird.
$datei = FileFindNextFile($suche)
If @error Then ExitLoop -
Hi!
Du schreibst das der Login immer anderes ist auf dieser Seite!?
Das loginfenster ist doch immer gleich oder?
Das sollte man also mit WinActive abfragen können.
Im schlimmsten Fall last du einfach noch ein bischen Zeit vergehen bis du die Abfrage machst. -
Hi!
Wenn du das Beispiel aus der Hilfe etwas umbaust dann funktioniert das eigendlich ganz gut.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
; Demonstrates StdoutRead()
#include <Constants.au3>Local $foo = Run(@ComSpec & " /c 7za a c:\temp\test c:\temp\info\*", @ScriptDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
[/autoit] [autoit][/autoit] [autoit]
Local $line
While 1
$line = StdoutRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDOUT read:", $line)
WendWhile 1
[/autoit] [autoit][/autoit] [autoit]
$line = StderrRead($foo)
If @error Then ExitLoop
MsgBox(0, "STDERR read:", $line)
WendMsgBox(0, "Debug", "Exiting...")
[/autoit] -
Hi!
Also ich wollte das Script von progandy (siehe spoiler) zum Verkleinern von gif Bildern verwenden.
Leider funktioniert dieses script "nur" mit jpg und png.
Ist es möglich dieses Script so umzubauen, dass auch gif Bilder kleiner gemacht werden können?Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$FILE = "D:\Dokumente\Dateien von Andreas\Eigene Bilder\Banner.bmp"
$NewFile = @DesktopDir & "\test.jpg"
$NewW = 100
$NewH = 10
#include <GDIplus.au3>
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($FILE); Create sized BMP
[/autoit] [autoit][/autoit] [autoit]
$hGraphicsImg = _GDIPlus_ImageGetGraphicsContext($hImage)
$hBitMap = _GDIPlus_BitmapCreateFromGraphics($NewW,$NewH,$hGraphicsImg)
_GDIPlus_GraphicsDispose($hGraphicsImg)
; ------------; Create sized BMP
[/autoit] [autoit][/autoit] [autoit]
$hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitMap)
_GDIPlus_GraphicsDrawImageRect($hGraphics,$hImage,0,0,$NewW,$NewH)
_GDIPlus_GraphicsDispose($hGraphics)
;-----------------_GDIPlus_ImageSaveToFile($hBitMap,$NewFile)
[/autoit] [autoit][/autoit] [autoit]; Cleanup
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)
_GDIPlus_BitmapDispose($hBitMap)_GDIPlus_Shutdown()
[/autoit] -
Hallo!
Ich habe folgendes Script.
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
$NewW = 1000
$NewH = 1000
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($FILE); Create sized BMP
[/autoit] [autoit][/autoit] [autoit]
$hGraphicsImg = _GDIPlus_ImageGetGraphicsContext($hImage)
$hBitMap = _GDIPlus_BitmapCreateFromGraphics($NewW,$NewH,$hGraphicsImg)
_GDIPlus_GraphicsDispose($hGraphicsImg)
; ------------; Create sized BMP
[/autoit] [autoit][/autoit] [autoit]
$hGraphics = _GDIPlus_ImageGetGraphicsContext($hBitMap)
_GDIPlus_GraphicsDrawImageRect($hGraphics,$hImage,0,0,$NewW,$NewH)
_GDIPlus_GraphicsDispose($hGraphics)
;-----------------_GDIPlus_ImageSaveToFile($hBitMap,$NewFile)
[/autoit] [autoit][/autoit] [autoit]; Cleanup
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_ImageDispose($hImage)
_GDIPlus_BitmapDispose($hBitMap)_GDIPlus_Shutdown()
[/autoit]Problem damit ist das es keine Gif Bilder umwandelt.
Weiß jemand Rat?
-
Hi!
Wenn du VNC auf Netzwerk PC´s installieren willst kannst du das hier verwenden.
Voraussetzungen:
Du brauchst die psexec.exe von den pstools von Mircosoft. (@ScriptDir & "\pstools\psexec.exe )
In den Ordner @scriptdir & "\VNC\" musst du einfach dein installiertes VNC kopieren.
Musst Administratoren Rechte auf den PC´s haben.
Windows XP oder 2000 als Betriebssystem.Spoiler anzeigen
[autoit][/autoit] [autoit][/autoit] [autoit]$pc = "192.168.0.10"
[/autoit] [autoit][/autoit] [autoit][/autoit]
$m = MsgBox(4, "VNC", "Wollen Sie VNC auf " & $pc & " installieren ?")
If $m = 6 Then
$f = DirCopy(@ScriptDir & "\VNC\", "\\" & $pc & "\c$\Programme\UltraVNC\", 1)
If Not $f Then
MsgBox(0, "Error", "VNC konnte nicht auf " & $pc & " kopiert werden")
ElseIf $f Then
RegWrite("\\" & $pc & "\HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "WinVNC", "REG_SZ", '"C:\Programme\UltraVNC\WinVNC.exe" -servicehelper')
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "DisplayName", "REG_SZ", "VNC Server")
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "ImagePath", "REG_EXPAND_SZ", '"C:\Programme\UltraVNC\WinVNC.exe" -service')
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "ObjectName", "REG_SZ", "LocalSystem")
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "ErrorControl", "REG_DWORD", "1")
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "Start", "REG_DWORD", "2")
RegWrite("\\" & $pc & "\HKLM\SYSTEM\CurrentControlSet\Services\winvnc", "Type", "REG_DWORD", "272")
RegWrite("\\" & $pc & "\HKLM\SOFTWARE\ORL\WinVNC3\Default", "Password", "REG_BINARY", "AAAAAAAAAAAAAAAA") ; Hier musst du den code aus deiner Registry eintragen
RegWrite("\\" & $pc & "\HKLM\SOFTWARE\ORL\WinVNC3\Default", "AllowShutdown", "REG_DWORD", "0")
$commandline = @ComSpec & " /A /C " & @ScriptDir & "\pstools\psexec.exe \\" & $pc & ' -i -d "C:\programme\ultravnc\winvnc.exe" -sinstall'
RunWait($commandline, "", @SW_HIDE)
Sleep(3000)
$commandline = @ComSpec & " /A /C " & @ScriptDir & "\pstools\psexec.exe \\" & $pc & ' -i -d "C:\programme\ultravnc\driver\setupdrv.exe" -installs'
RunWait($commandline, "", @SW_HIDE)
Sleep(3000)
$commandline = @ComSpec & " /A /C " & "sc \\" & $pc & " start winvnc"
RunWait($commandline, "", @SW_HIDE)
MsgBox(0, "Erfolg", "VNC wurde auf " & $pc & " kopiert")
EndIf
EndIf