Beiträge von Tweaky
-
-
Irgendwas hat sich in 3.3.8.1 geändert.
Bei dem folgenden Beispiel siehts so aus
Spoiler anzeigen
[autoit]#region ;************ Includes ************
[/autoit] [autoit][/autoit] [autoit]
#include <GDIpProgress.au3>
#endregion ;************ Includes ************
Opt("GUIOnEventMode", 1)$Gui = GUICreate("3.3.6.1", 250, 50)
[/autoit] [autoit][/autoit] [autoit]
$sID = _ProgressCreate(10, 10)
_ProgressSet($sID, 30)GUISetOnEvent($GUI_EVENT_CLOSE, "_beenden")
[/autoit] [autoit][/autoit] [autoit]
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WEndFunc _beenden()
[/autoit]
_ProgressDelete($sID) ; MUST BE DONE ON EXIT
_Progress_CallBack_Free(1) ; Force Killing Timer
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_beenden3.3.8.1
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. 3.3.6.1
Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Kannst du mal danach schauen progandy?
-
Die Makro werden in 3.3.8.1 ergänzt.
Ändere bitte den Inhalt zu den Anführungszeichen.
So sieht es momentan aus in der Hilfe.
ZitatForm4: AutoIt3.exe [/ErrorStdOut] /AutoIt3ExecuteLine "Befehlszeile"
Ausführen einer Zeile mit Code.Um eine einzelne Zeile mit Code auszuführen ist folgender Befehl auszuführen:
Run(@AutoItExe & ' /AutoIt3ExecuteLine "MsgBox(0, ''Hallo Welt!'', ''Hi!'')"')Das Trayicon wird nicht anzeigt, wenn /AutoIt3ExecuteLine verwendet wird
ACHTUNG: Die korrekte Benutzung von einfachen und doppelten Anführungszeichen ist wichtig, auch doppelten einfachen
-
Hm, ok so scheint es zu funktionieren.
Jedoch verstehe ich es nicht ganz warum dem so ist.
Wenn ich die GUI vorher nicht minimiere funktioniert es ja auch ohne anpassen der Größe. -
So, muß den Thread leider nochmals ausgraben.
Wenn ich das Skript minimiere bevor das Bild gezeichnet wird, wird deren Größe nicht übernommen (siehe Zeile 27)
Weiß einer warum?
Komme leider nicht weiter.Spoiler anzeigen
[autoit]#region ;************ Includes ************
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GDIPlus.au3>
#endregion ;************ Includes ************Opt("GUIOnEventMode", 1) ; 0=ausgeschaltet, 1=OnEvent Modus aktiviert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]Global Const $IMAGE_BITMAP = 0
[/autoit] [autoit][/autoit] [autoit]
Global Const $STM_SETIMAGE = 0x0172
Global $hPreviewBitmapGlobal $datei1 = "C:\Windows\Web\Wallpaper\Windows\img0.jpg"
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup() ;Vorschau
[/autoit] [autoit][/autoit] [autoit]Global $hPreviewGui = GUICreate("Foto", 710, 350)
[/autoit] [autoit][/autoit] [autoit]
Global $idPreviewPic = GUICtrlCreatePic("", 10, 10, 300, 200)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $idPreviewPic2 = GUICtrlCreatePic("", 400, 10, 200, 300)
GUICtrlSetState(-1, $GUI_DISABLE)
Global $idButtonLoad = GUICtrlCreateButton("Laden", 300, 250, 60, 40)
GUICtrlSetOnEvent(-1, "Load")
GUISetOnEvent($GUI_EVENT_CLOSE, "_beenden")WinSetState("Foto", "", @SW_MINIMIZE) ;wenn aktiv wird in der nächsten Zeile die Größe 600 bzw. 100 ignoriert
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_PreviewLoadImage($datei1, $idPreviewPic, 600, 100)
WinSetState("Foto", "", @SW_RESTORE)
GUISetState()While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(10)
WEndFunc _beenden()
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_Shutdown()
Exit
EndFunc ;==>_beendenFunc Load()
[/autoit] [autoit][/autoit] [autoit]
Local $file = FileOpenDialog("Suche ein Bild aus", "", "Bilder (*.jpg;*png;*.bmp;*.gif)")
If @error Then Return
_PreviewLoadImage($file, $idPreviewPic2, 300, 200, 7, 1, 1)
EndFunc; $iRotateFlipType - Type of rotation and flip:
[/autoit] [autoit][/autoit] [autoit]
; |0 - No rotation and no flipping (A 180-degree rotation, a horizontal flip and then a vertical flip)
; |1 - A 90-degree rotation without flipping (A 270-degree rotation, a horizontal flip and then a vertical flip)
; |2 - A 180-degree rotation without flipping (No rotation, a horizontal flip folow by a vertical flip)
; |3 - A 270-degree rotation without flipping (A 90-degree rotation, a horizontal flip and then a vertical flip)
; |4 - No rotation and a horizontal flip (A 180-degree rotation followed by a vertical flip)
; |5 - A 90-degree rotation followed by a horizontal flip (A 270-degree rotation followed by a vertical flip)
; |6 - A 180-degree rotation followed by a horizontal flip (No rotation and a vertical flip)
; |7 - A 270-degree rotation followed by a horizontal flip (A 90-degree rotation followed by a vertical flip)Func _PreviewLoadImage($sImgFile, $CtrlID, $iW, $iH, $iInterpolationMode = 7, $iRotateFlipType = 0, $clear = 0)
[/autoit] [autoit][/autoit] [autoit]
If $clear Then GUICtrlSendMsg($CtrlID, $STM_SETIMAGE, $IMAGE_BITMAP, 0)
Local $hImage = _GDIPlus_ImageLoadFromFile($sImgFile)
Local $aResult = DllCall($ghGDIPDll, "uint", "GdipCreateBitmapFromScan0", "int", $iW, "int", $iH, "int", 0, "int", 0x0026200A, "ptr", 0, "int*", 0)
Local $hBitmap = $aResult[6]
Local $hGfxCtxt = _GDIPlus_ImageGetGraphicsContext($hBitmap)
DllCall($ghGDIPDll, "uint", "GdipSetInterpolationMode", "handle", $hGfxCtxt, "int", $iInterpolationMode)
_GDIPlus_GraphicsDrawImageRect($hGfxCtxt, $hImage, 0, 0, $iW, $iH)
If $iRotateFlipType Then DllCall($ghGDIPDll, "uint", "GdipImageRotateFlip", "hwnd", $hBitmap, "int", $iRotateFlipType)
Local $hHBitmap = _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_BitmapDispose($hBitmap)
_GDIPlus_GraphicsDispose($hGfxCtxt)
_WinAPI_DeleteObject(GUICtrlSendMsg($CtrlID, $STM_SETIMAGE, $IMAGE_BITMAP, $hHBitmap))
EndFunc ;==>_PreviewLoadImageFunc _GDIPlus_BitmapCreateDIBFromBitmap($hBitmap)
[/autoit]
Local $tBIHDR, $Ret, $tData, $pBits, $hResult = 0
$Ret = DllCall($ghGDIPDll, 'uint', 'GdipGetImageDimension', 'ptr', $hBitmap, 'float*', 0, 'float*', 0)
If (@error) Or ($Ret[0]) Then Return 0
$tData = _GDIPlus_BitmapLockBits($hBitmap, 0, 0, $Ret[2], $Ret[3], $GDIP_ILMREAD, $GDIP_PXF32ARGB)
$pBits = DllStructGetData($tData, 'Scan0')
If Not $pBits Then Return 0
$tBIHDR = DllStructCreate('dword;long;long;ushort;ushort;dword;dword;long;long;dword;dword')
DllStructSetData($tBIHDR, 1, DllStructGetSize($tBIHDR))
DllStructSetData($tBIHDR, 2, $Ret[2])
DllStructSetData($tBIHDR, 3, $Ret[3])
DllStructSetData($tBIHDR, 4, 1)
DllStructSetData($tBIHDR, 5, 32)
DllStructSetData($tBIHDR, 6, 0)
$hResult = DllCall('gdi32.dll', 'ptr', 'CreateDIBSection', 'hwnd', 0, 'ptr', DllStructGetPtr($tBIHDR), 'uint', 0, 'ptr*', 0, 'ptr', 0, 'dword', 0)
If (Not @error) And ($hResult[0]) Then
DllCall('gdi32.dll', 'dword', 'SetBitmapBits', 'ptr', $hResult[0], 'dword', $Ret[2] * $Ret[3] * 4, 'ptr', DllStructGetData($tData, 'Scan0'))
$hResult = $hResult[0]
Else
$hResult = 0
EndIf
_GDIPlus_BitmapUnlockBits($hBitmap, $tData)
Return $hResult
EndFunc ;==>_GDIPlus_BitmapCreateDIBFromBitmap -
Will noch jemand abstimmen?
-
Du hast ja auch nochmals Shutdown(1) am Ende des Skrips drin (Zeile 23)
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUICreate("Zählen", 320, 120)
$anzahli = GUICtrlCreateInput("", 10, 5, 300, 20)
$btn = GUICtrlCreateButton("Ok", 40, 75, 60, 20)
$label = GUICtrlCreateLabel(" Zähler:", 0, 100, 999, 30)
GUISetState()$msg = 0
[/autoit] [autoit][/autoit] [autoit]
While $msg <> $GUI_EVENT_CLOSE
$msg = GUIGetMsg()
Select
Case $msg = $btn
$anzahl = GUICtrlRead($anzahli)
$i = $anzahl
$time = 60000 * $i
AdlibRegister("_Update", $time)
EndSelect
WEnd;~ Shutdown(1)
[/autoit]
Func _Update()
MsgBox(0, "title", "text")
Shutdown(1)
AdlibUnRegister("_Update")
EndFunc ;==>_Update -
Hi,
seit AutoIt 3.3.8.0 und der neue SciTE-Version haben sich die Farben geändert.
Dies kann man jedoch auch zurückstellen auf die alten Farben.Warum ich diese Abstimmung mache?
1. Ich weiß selber nicht was sinnvoller ist.
2. In der AutoIt Hilfe von 3.3.8.1 sind die Beispiele auch in den neuen Farben hinterlegt. Eventuell könnte ich diese in der deutschen Hilfe wieder auf die alten Farben ändern. -
bei mir funktioniert progandys Skript auch
ZitatAutoIt:3.3.8.1 AdminMode (Os:WIN_7/SP1/X64 OSLang:0407)
ItemCount: 5
ColCount 1
ItemText: test1 -
Oh, hört sich nicht gut an.
Könntest du mal ein Beispiel machen bei welcher Funktion dies so ist und mit welcher WinAPI-Funktion man sich das Handle dann holt.Hast du einfach mal dumm im englischen Forum nachgefragt, warum dies gemacht wurde

-
Denke dies wäre schon sinnvoll.
Du kannst dich ja mal dran versuchen
-
Welches Makro fehlt den bei GUISetState?
Wie würdest du das mit den Anführungszeichen in der Hilfe erklären?
-
Die au3.api wird automatisch aus den übersetzten Funktionen erzeugt.
Ist zwar schön, dass du die au3.api angepasst hast, jedoch wird diese spätestens bei der Veröffentlichung der Hilfe für 3.3.8.1 umsonst sein.Die Hilfe wird weiter übersetzt, sobald die Übersetzseite fertigprogrammiert wurde.
Dies dauert leider noch.
Update der Übersetzseite für die Hilfe auf 3.3.8.1 -
Hm,
ist denke ich (leider) für die Hilfe ungünstig.
Es sollte nur aus einer au3-Datei bestehen die nicht kompiliert werden muss.
Außerdem sollte es kürzer sein, damit man sich schneller zurecht findet
-
Falls noch jemand sinnvolle fehlende Beispiele hat, nur her damit

-
Danke wurde behoben. (in der nächsten Version
) -
Hi,
nein dies ist momentan nicht sinnvoll, da bei 3.3.8.1 zuviel geändert wurde.Irgendwann wird es aber einen komplette deutsche Hifle zu 3.3.8.1 geben.
Dies dauert halt noch
-
letsgo
sicher dass dies ein Bug ist?Denke dies ist doch beabsichtigt oder?
-
Hilfe lesen ...
Du mußt schon den Rückgabewert für die MsgBox auswerten und dann sagen was weiter passieren soll
Spoiler anzeigen
[autoit]$msgbox = MsgBox(3, "Registration", "Wollen sie sich registrieren?")
[/autoit] [autoit][/autoit] [autoit]
If $msgbox = 6 Then
$AccountID = InputBox("Account ID", "Geben sie ihre WunschID an.")
$Passwort = InputBox("Passwort", "Geben sie ihr Passwort an.", "", "*")
$Passwort2 = InputBox("Passwort", "Wiederholen sie bitte ihr Passwort.", "", "*")If $Passwort = $Passwort2 Then
[/autoit] [autoit][/autoit] [autoit]Else
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "Fehler", "Passwörter sind nicht identisch.")
Exit
EndIfIf $AccountID = $Passwort Then
[/autoit]
MsgBox(3, "Achtung", "Ihre Account ID und ihr Passwort sind identisch , trotzdem fortfahren?")
EndIf
$EMail = InputBox("E-Mail", "Geben sie ihre E-Mail an.")
$EMail2 = InputBox("E-Mail", "Wiederholen sie bitte ihre E-Mail.")
If $EMail = $EMail2 Then
$Spitzname = InputBox("Spitznamen", "Bitte geben sie ihren Spitznamen an.")
MsgBox(3, "Erfolgreich Registriert.", "Sie haben sich erfolgreich registriert bitte schauen sie in ihrem E-Mail Postfach nach.")
Else
MsgBox(0, "E-Mail's nicht identisch.", "Ihre E-Mails sind nicht identisch.")
EndIf
EndIf -
Dies soll hier nur eine Ankündigung sein.
Wenn die Übersetzseite steht, könnt ihr dort alle neuen und geänderten Funktionen sehen.