Danke
name22 hab gerade gesehen das du mir auch ein Script gebastelt hast.
Vielen Dank jetzt kann ich super entscheiden welches Script ich in Zukunft nehmen werde.
Danke nochmal für eure Hilfe
Danke
name22 hab gerade gesehen das du mir auch ein Script gebastelt hast.
Vielen Dank jetzt kann ich super entscheiden welches Script ich in Zukunft nehmen werde.
Danke nochmal für eure Hilfe
Danke für den Tipp @Andy mit site: den kannte ich noch nicht bei der google suche.
Hab mir Basierend von @SEuBo Script ein funktionierend Script gebastelt.
Vielen Dank nochmal.
Jetzt funktionierts.
#include <GDIPlus.au3>
Opt("MustDeclareVars", 1)
_CombinePictures(@DesktopDir & '\B.jpg', @DesktopDir & '\A.jpg', @DesktopDir & '\BA.jpg')
ShellExecute(@DesktopDir & '\BA.jpg')
Func _CombinePictures($pic1, $pic2, $new_picture)
_GDIPlus_Startup()
Local $hBitmap_pic1 = _GDIPlus_BitmapCreateFromFile($pic1)
Local $hBitmap_pic2 = _GDIPlus_BitmapCreateFromFile($pic2)
Local $height_pic1 = _GDIPlus_ImageGetHeight($hBitmap_pic1)
Local $height_pic2 = _GDIPlus_ImageGetHeight($hBitmap_pic2)
Local $width_pic1 = _GDIPlus_ImageGetWidth($hBitmap_pic1)
Local $width_pic2 = _GDIPlus_ImageGetWidth($hBitmap_pic2)
Local $pic1_and_pic2_width = $width_pic1 + $width_pic2
Local $pic1_and_pic2_height = $height_pic1
If $height_pic1 > $height_pic2 Then
$pic1_and_pic2_height = $height_pic1
ElseIf $height_pic2 > $height_pic1 Then
$pic1_and_pic2_height = $height_pic2
EndIf
Local $hDesktop_DC = _WinAPI_GetDC(_WinAPI_GetDesktopWindow())
Local $hWinHBITMAP = _WinAPI_CreateCompatibleBitmap($hDesktop_DC, $pic1_and_pic2_width, $pic1_and_pic2_height)
Local $hBitmap_Erg = _GDIPlus_BitmapCreateFromHBITMAP($hWinHBITMAP)
Local $hGraphic = _GDIPlus_ImageGetGraphicsContext($hBitmap_Erg)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap_pic1, 0, 0, $width_pic1, $height_pic1)
_GDIPlus_GraphicsDrawImageRect($hGraphic, $hBitmap_pic2, $width_pic1, 0, $width_pic2, $height_pic2)
_GDIPlus_ImageSaveToFile($hBitmap_Erg, $new_picture)
_GDIPlus_GraphicsDispose($hGraphic)
_GDIPlus_BitmapDispose($hBitmap_pic1)
_GDIPlus_BitmapDispose($hBitmap_pic2)
_GDIPlus_BitmapDispose($hBitmap_Erg)
_WinAPI_DeleteObject($hWinHBITMAP)
_WinAPI_ReleaseDC(_WinAPI_GetDesktopWindow(), $hDesktop_DC)
_GDIPlus_Shutdown()
EndFunc ;==>_CombinePictures
Hallo, ich suche schon die ganze Zeit im Netz nach einer Möglichkeit Bilder nebeneinander zusammenzufügen.
Habe in einem Ordner 2 Bilder die ich dann zu einem zusammenfügen möchte.
Also A.jpg neben B.jpg.
B + A -> BA
Ich weiss angeblich geht das mit gdiplus.
Gibt es Beispiele oder eventuell Lösungen zu meinen Problem.
Vielen Dank
Zum testen deiner suchmuster kannst du auch den RegExTester verwenden, der liegt unter
C:\Program Files (x86)\AutoIt3\Examples\Helpfile\StringRegExpGUI.au3
Nutze folgendes für meine Progressbar
[autoit][/autoit][autoit][/autoit][autoit]CopyWithProgress(@DesktopDir, 'C:\temp')
[/autoit][autoit][/autoit][autoit][/autoit][autoit]Func CopyWithProgress($srcDir, $destDir)
If StringRight($srcDir, 1) = "\" Then $srcDir = StringLeft($srcDir, StringLen($srcDir) - 1)
If StringRight($destDir, 1) <> "\" Then $destDir = $destDir & "\"
If Not FileExists($destDir) Then DirCreate($destDir)
$srcSize = DirGetSize($srcDir, 1)
$1_percent = $srcSize[0] / 100
Run(@ComSpec & " /c " & 'XCOPY "'& $srcDir & '" "' & $destDir & '" /D /S /E /V /C /H /R /O /Y', "", @SW_HIDE)
ProgressOn($programfolder[1], $1_percent & "%", "",(@DesktopWidth - 305),(@DesktopHeight - 163))
Do
$destSize = DirGetSize($destDir, 1)
ProgressSet(Round($destSize[0] / $1_percent, 2), Round($destSize[0] / (1024 * 1024), 2) & " MB of " & Round($srcSize[0] / (1024 * 1024), 2)& " MB copied" & @CRLF _
& $destSize[1] & " of " & $srcSize[1] & " Files copied." & @CRLF _
& $destSize[2] & " of " & $srcSize[2] & " Folders copied.", Round($destSize[0] / $1_percent, 0) & "%")
Sleep(200)
Until $destSize[0] >= $srcSize[0]
ProgressOff()
EndFunc
#include <Array.au3>
$string = '<img src="images/arancione/on.png" alt=""></td> <td class="forum"><a href="board.php?boardid=158" class="board">was soll das</a>'
$array = StringRegExp($string, '<img.*?"(.*?)".*boardid.*?([0-9]+)', 3)
_ArrayDisplay($array)
Herzlichen Dank für eure Hilfe das sind gute Vorschläge
Hallo ich würde gerne eine ein Schleife machen mit einer Exclude Liste (Array)
Also das Script soll von 1 bis 10 zählen und jeweils eine MsgBox ausgeben ausser
bei den Zahlen im Exclude Array (1 , 7 , leider funktioniert das nicht so wirklich.
Hab einen ziemlichen Denkfehler bei der Aufgabe.
Danke für eure Hilfe
$start = 1
$ende = 10
dim $exlude[3] = ['1','7','8']
for $i = $start to $ende
For $x = 0 to UBound($exlude) -1
if ($exlude[$x] <> $i) Then
MsgBox(0,0,$i)
EndIf
Next
Next
Vielleicht so
Im Batchfile folgende Zeile oben einfügen
[autoit]
#include <WindowsConstants.au3>
#include <ProgressConstants.au3>
#include <SendMessage.au3>
AdlibRegister("_HideCMDWindow",500)
[/autoit][autoit][/autoit][autoit]GUICreate("Beispiel", 225, 35, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
$progress = GUICtrlCreateProgress(25, 10, 180, 20, $PBS_MARQUEE)
$hProgress = GUICtrlGetHandle($progress)
_SendMessage($hProgress, $PBM_SETMARQUEE, True, 50)
GUISetState(@SW_SHOW)
If FileExists("beispiel.bat.") Then
RunAsWait("Benutzer", "Domäne", "Passwort", 1, "beispiel.bat", @ScriptDir, @SW_SHOW)
Else
MsgBox(16, "Fehler", "Datei nicht gefunden")
EndIf
Func _HideCMDWindow()
$WindowTitle = 'cmd beispiel.bat'
WinWait($WindowTitle)
WinSetState($WindowTitle, '', @SW_HIDE)
EndFunc
Hi, kenn mich mit VBS leider auch nicht aus, aber ich habe ein Interessantes Script im Internet gefunden.
Vielleicht hilft dir ja das.
Systemwiederherstellung deaktivieren / neuaktivieren und für bestimmtes Laufwerk deaktivieren z.b. E:\
_SRPanpassung(1)
Func _SRPanpassung($varSRP)
;Variablenfestsetzung für Systemwiederherstellungsaenderungen
Dim $Query_PC, $ObjWMIService, $SRP_DisAll, $SRP_EnabAll, $SRP_DisE, $SRP_Change_DisAll, $SRP_Change_EnabAll, $SRP_Change_DisE
$Query_PC = "."
If $varSRP = 1 Then
$ObjWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & $Query_PC & "\root\default")
$SRP_DisAll = $ObjWMIService.Get("SystemRestore")
$SRP_EnabAll = $ObjWMIService.Get("SystemRestore")
$SRP_DisE = $ObjWMIService.Get("SystemRestore")
;Anpassung der Systemwiederherstellungseinstellungen (SystemRestprePoints = SRP)
;Alle SRP deaktivieren
$SRP_DisAll.Disable("")
;Wartezeit, damit alte RestorePoints geloescht werden
Sleep(10000)
;Alle SRP aktivieren
$SRP_EnabAll.Enable("")
Sleep(25000)
;SRP auf E: deaktivieren
$SRP_DisE.Disable("E:\")
Else
EndIf
EndFunc
Quelle: tabtic@win-lite.de
Systemwiederherstellungspunkt erstellen
$text = InputBox("Eingabefenster", "Name des Wiederherstellungspunktes")
CreateRestorePoint($text)
Func CreateRestorePoint($sRestorePointName)
Local $objSystemRestore
$objSystemRestore = ObjGet("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")
If Not $objSystemRestore.createrestorepoint($sRestorePointName, 0, 100) = 0 Then SetError(1)
EndFunc
Quelle: Fr4g3r@computerbase.de
Ginge auch mit Reguläre Ausdrücken
[autoit]$pfad = "c:\Programme\Bla\blub.exe"
$array = StringRegExp($pfad,'.*\\(.*)',3)
if IsArray ($array) Then $file = $array[0]
$filename = $splitten[$splitten[0]]
[/autoit]auch zu langsam
Mit @UserProfileDir (Makros) Subroutinen (Func) und for (Schleifen) würdest du den Code sehr verkürzen
_Delete($Checkbox1, 'Coockies löschen', @UserProfileDir & '\Cookies')
Func _Delete($checkbox, $deletetext, $delete_path)
If BitAND(GUICtrlRead($checkbox), $GUI_CHECKED) Then
GUICtrlSetData($Label2, $deletetext)
DirRemove($delete_path", 1)
GUICtrlSetData($Label2, "OK...")
GUICtrlSetData($Progress1, 10)
EndIf
EndFunc
Danke AspirinJunkie die _ArraySortNatural Funktion werd ich mir gleich ins UDF Verzeichniss schmeissen.
Vielen Dank
Hallo gibt es eine Möglichkeit ein Array so zu sortieren das die Zahlen entsprechend ihrer Grösse zu sortieren.
Also hier mein Beispiel mit den Werten (Dateiendung JPG ist wichtig soll nach per _FileListToArray erledigt werden)
nach
sortiert, ich bräuchte aber folgende Sortierung
Weiss da jemand eine Lösung ?
Danke
#include <File.au3>
#include <Array.au3>
Local $avArray[10]
[/autoit] [autoit][/autoit] [autoit]$avArray[0] = "1.jpg"
$avArray[1] = "3.jpg"
$avArray[2] = "6.jpg"
$avArray[3] = "5.jpg"
$avArray[4] = "7.jpg"
$avArray[5] = "10.jpg"
$avArray[6] = "9.jpg"
$avArray[7] = "4.jpg"
$avArray[8] = "100.jpg"
$avArray[9] = "1000.jpg"
_ArrayDisplay($avArray)
_ArraySort($avArray)
_ArrayDisplay($avArray)
Die Zeit ist ein Record nicht mal 5 Minuten für die Lösung.
Perfekt. Danke