Beiträge von Greek
-
-
-
So nochmal verbessert, wie findet ihr es?
Edit: Ist aber noch nicht fertig, mach noch mehr dazu

-
Ich hab da mal ne UDF jetzt für geschrieben:
Musst bissel ausprobieren wie du das machst, hab jetzt keine Zeit mehr hab den ganzen Abend dadran gehongen und muss jetzt schlafen

Noch nen Hinweis:
GUICtrlSetGraphic gibt es auch noch $GUI_GR_MOVE x,y Move the current position without drawing. Vieleicht damit.Gute Nacht^^
-
Hiho,
Anleitung
Spoiler anzeigen
[autoit];===============================================================================
[/autoit] [autoit][/autoit] [autoit]
;
; Function Name:
; _DrawTransparentEllipse
; Description:: Let you draw a transparent Ellipse
; Parameter(s):
; $hwnd - Handle of GUI to work on
; $x - Postion x of the Ellipse
; $y - Postion y of the Ellipse
; $w - Width of the Ellipse
; $h - Height of the Ellipse, If w=h it will be a circle.
; $Transparency - Set Transparancy of GUI ( optional )
; Requirement(s): The Styles $WS_EX_COMPOSITED $WS_EX_LAYERED
; Return Value(s): Returns a windows handle.
; Author(s): Greek, martin
; Example : Yes
;===============================================================================;===============================================================================
[/autoit] [autoit][/autoit] [autoit]
;
; Function Name:
; _DrawTransparentRect
; Description:: Let you draw a transparent Rect
; Parameter(s):
; $hwnd - Handle of GUI to work on
; $x - Postion x of the Rect
; $y - Postion y of the Rect
; $w - Width of the Rect
; $h - Height of the Rect, If w=h it will be a square.
; $Transparency - Set Transparancy of GUI ( optional )
; Requirement(s): The Styles $WS_EX_COMPOSITED $WS_EX_LAYERED
; Return Value(s): Returns a windows handle.
; Author(s): Greek, martin
;===============================================================================;===============================================================================
[/autoit] [autoit][/autoit] [autoit]
;
; Function Name:
; _DrawTransparentLine
; Description:: Let you draw a transparent Line
; Lines must be drawed first and can't used dynamical!!.
; Parameter(s):
; $hwnd - Handle of GUI to work on
; $x - Postion x of the Line
; $y - Postion y of the Line
; $length - length of the Line
; $course - course of the Line
; $pensize - The pensize, default is 2 ( optional )
; $Transparency - Set Transparancy of GUI ( optional )
; Requirement(s): Layered Windows ( $WS_EX_LAYERED )
; Return Value(s): ControlID of the Form
; Author(s): Greek, martin
;===============================================================================;===============================================================================
[/autoit]
;
; Function Name:
; _DeletTransparentForm
; Description:: Delet the Form
; Parameter(s):
; $Form - controlID/handle of the Form
; Return Value(s): Success: Returns 1.
; Failure: Returns 0.
; Author(s): Greek, martin
;===============================================================================Include
Spoiler anzeigen
[autoit]#include-once
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GUIConstantsEx.au3>Global Const $WS_EX_COMPOSITED = 0x2000000
[/autoit] [autoit][/autoit] [autoit]Func _DrawTransparentEllipse($hwnd, $x,$y,$w,$h,$Transparency=255)
[/autoit] [autoit][/autoit] [autoit]
$Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
_WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
GUISetBkColor ( 0xABCDEF, $Child )
_GuiRoundCorners ( $Child, 0, 0, $w, $h)
GUISetState()
Return $Child
EndFuncFunc _DeletTransparentForm ( $Form )
[/autoit] [autoit][/autoit] [autoit]
If IsHWnd($Form) Then
$a=GUIDelete($Form)
Return $a
Else
$b=GUICtrlDelete($Form)
Return $b
EndIf
EndFuncFunc _DrawTransparentRect($hwnd, $x,$y,$w,$h,$Transparency=255)
[/autoit] [autoit][/autoit] [autoit]
$Child=GUICreate ( "", $w, $h, $x, $y, $WS_CHILD, -1, $hwnd )
_WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
GUISetBkColor ( 0xABCDEF, $Child )
GUISetState()
Return $Child
EndFuncFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit] [autoit][/autoit] [autoit]
; progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributesFunc _WinAPI_GetLastError()
[/autoit] [autoit][/autoit] [autoit]
Local $aResult$aResult = DllCall("Kernel32.dll", "int", "GetLastError")
[/autoit] [autoit][/autoit] [autoit]
If @error Then Return SetError(@error, 0, 0)
Return $aResult[0]
EndFunc ;==>_WinAPI_GetLastErrorFunc _GuiRoundCorners($hWnd, $x1, $y1, $x3, $y3)
[/autoit] [autoit][/autoit] [autoit]
Local $pos, $ret, $ret2
$pos = WinGetPos($hWnd)
$ret = DllCall('gdi32.dll', 'long', 'CreateRoundRectRgn', 'long', $x1, 'long', $y1, 'long', $pos[2], 'long', $pos[3], 'long', $x3, 'long', $y3)
If $ret[0] Then
$ret2 = DllCall('user32.dll', 'long', 'SetWindowRgn', 'hwnd', $hWnd, 'long', $ret[0], 'int', 1)
If $ret2[0] Then
Return 1
Else
Return 0
EndIf
Else
Return 0
EndIf
EndFuncFunc _DrawTransparentLine($hwnd, $X,$Y,$length,$course,$pensize=2,$Transparency=255)
[/autoit]
_WinAPI_SetLayeredWindowAttributes($hwnd, 0xABCDEF, $Transparency)
$g1=GUICtrlCreateGraphic($X,$Y,0,0)
GUICtrlSetGraphic($g1, $GUI_GR_PENSIZE, $pensize )
GUICtrlSetGraphic($g1, $GUI_GR_COLOR,0xABCDEF, 0xABCDEF)
GUICtrlSetGraphic($g1, $GUI_GR_LINE, $length, $course)
GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)
GUICtrlSetGraphic($g1, $GUI_GR_LINE, 1, 1)
Return $g1
EndFuncBeispiel
Spoiler anzeigen
[autoit]#include <DrawTransparent.au3>
[/autoit] [autoit][/autoit] [autoit]Global $Count=300
[/autoit] [autoit][/autoit] [autoit]
Global $Ellipse[$Count], $j=1$myGui=GUICreate ( "dynamic transparent test", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ( $WS_EX_TOPMOST, $WS_EX_COMPOSITED, $WS_EX_LAYERED ) )
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor ( 0x000000 )
GUISetState ()$Ellipse[0]=_DrawTransparentEllipse( $myGui, @DesktopWidth/2-200, @DesktopHeight/2-200, 400, 300 )
[/autoit] [autoit][/autoit] [autoit]For $i=1 To $Count-1 Step +1
[/autoit] [autoit][/autoit] [autoit]
$Ellipse[$i]=_DrawTransparentEllipse ( $myGui, @DesktopWidth/2-200-$i, @DesktopHeight/2-200, 400+$j, 300 )
GUIDelete ( $Ellipse[$i-1] )
$j+=2
NextWhile 1
[/autoit]
$msg=GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEndEdit: Update 2, Rect und Ellipse jetzt auch dynamisch!
-
Lag am Style
So gehts:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <winapi.au3>HotKeySet("{ESC}", "_Exit")
[/autoit] [autoit][/autoit] [autoit]$my_gui = GUICreate("MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP,BitOR( $WS_EX_TOPMOST,$WS_EX_LAYERED))
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
GUISetState(@SW_SHOW)
_WinAPI_SetLayeredWindowAttributes($my_gui, 0xABCDEF, 255)
$g1 = GUICtrlCreateGraphic(0,0,@DesktopWidth,@DesktopHeight)
GUICtrlSetBkColor($g1, 0x000000)
GUICtrlSetGraphic($g1, $GUI_GR_COLOR,0xABCDEF, 0xABCDEF)
GUICtrlSetGraphic($g1, $GUI_GR_ELLIPSE, @DesktopWidth/16, @DesktopHeight/8, @DesktopWidth/1.15, @DesktopHeight/1.30)
GUICtrlSetGraphic($g1, $GUI_GR_REFRESH)While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep (100)
WEndFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit] [autoit][/autoit] [autoit]
; progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributesFunc _Exit()
[/autoit]
Exit
EndFunc -
[autoit]
#Include <GuiStatusBar.au3>
[/autoit]
$handle=ControlGetHandle ( "Torque", "", "[CLASS:msctls_statusbar32; INSTANCE:1]" )
_GUICtrlStatusBar_SetText ( $handle, "Funktioniert!", 1 ) ; es fängt bei 0 an, dewegen schon 1so müsste es denk ich klappen
-
Woher hastn du das VALUE:2 ?
Also das ist jetzt der 2 Bereich der Statusbar? Verändert sich was wenn du vom 1 Bereich der Statusbar auf den 2 gehst bei >>>> Control <<<< ? Wenn ja schreib es mal auf.
-
Hier hab ich noch was von Martin was Funktioniert:
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <winapi.au3>$gui = GUICreate("a",1000,800,100,100,-1,$WS_EX_LAYERED);can be $WS_POPUP
[/autoit] [autoit][/autoit] [autoit]GUISetState()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
_WinAPI_SetLayeredWindowAttributes($gui, 0xABCDEF, 255)
$g1 = GUICtrlCreateGraphic(0,0,500,500)
GUICtrlSetBkColor(-1,0xFFFFFF)
GUICtrlSetGraphic(-1,$GUI_GR_COLOR,0xABCDEF,0xABCDEF)
GUICtrlSetGraphic(-1, $GUI_GR_ELLIPSE, 50, 50, 200, 330, 270)
GUICtrlSetGraphic(-1, $GUI_GR_REFRESH)
sleep(7000)Func _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit]
; progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributes -
Bei mir ist die Schwarz O.o
Und die Funktion _WinAPI_SetLayeredWindowAttributes ignoriert auch irgendwie die Farbe bei mir, wenn ich z.B. so mache
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>HotKeySet ( "!a", "_ende" )
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hgui = GUICreate ( "MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ( $WS_EX_LAYERED, $WS_EX_TOPMOST ) )
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor ( 0xABCDEF )
_WinAPI_SetLayeredWindowAttributes($hgui, 0xFF000000, 200)
GUISetState ( @SW_SHOW )$hwnd=_GDIPlus_GraphicsCreateFromHWND ( $hgui )
[/autoit] [autoit][/autoit] [autoit]$schwarz=_GDIPlus_PenCreate ( 0xFF000000, 500, 2 )
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDrawEllipse ( $hwnd, @DesktopWidth/2, @DesktopHeight/2-100, 50, 50, $schwarz )
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd_GDIPlus_PenDispose ( $schwarz )
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose ( $hwnd )
_GDIPlus_Shutdown()Func _ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit]
; progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributesMüsste ja eigentlich nur die Schwarze Farbe transparenter werden, aber das ganze GUI wird transparent.
-
Vieleicht wechselst du das mit einer Filled Ellipse Choas Keks? Die wo ich benutzt hab ist ja nur nen Rahmen der sowie so in der Mitte nichts hat.
-
Weiß nich, wer von uns ne Brille braucht
Bei mir ist auf der Gui dann noch eine durchsichtige Ellipse... wolltest du das nich so?Dabei muss man anmerken, das SetLayeredAttributes nicht funktioniert, wenn die Farbe die man transparent machen will >fast< identisch mit der Bk-Color der Gui ist..
Also bei mir ist das auch nicht so wie ers haben will O.o
Ich guck ma ob ichs noch basteln kann...
-
hm, hier mal nen versuch von mir in GDI+
Spoiler anzeigen
[autoit]#include <GUIConstantsEx.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <WindowsConstants.au3>
#include <GDIPlus.au3>HotKeySet ( "!a", "_ende" )
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_Startup()
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$hgui = GUICreate ( "MyGUI", @DesktopWidth, @DesktopHeight, 0, 0, $WS_POPUP, BitOR ( $WS_EX_LAYERED, $WS_EX_TOPMOST ) )
[/autoit] [autoit][/autoit] [autoit]
GUISetBkColor ( 0xABCDEF )
_WinAPI_SetLayeredWindowAttributes($hgui, 0xABCDEF, 255)
GUISetState ( @SW_SHOW )$hwnd=_GDIPlus_GraphicsCreateFromHWND ( $hgui )
[/autoit] [autoit][/autoit] [autoit]$schwarz=_GDIPlus_PenCreate ( 0xFF000000, 500, 2 )
[/autoit] [autoit][/autoit] [autoit]_GDIPlus_GraphicsDrawEllipse ( $hwnd, @DesktopWidth/2, @DesktopHeight/2-100, 50, 50, $schwarz )
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd_GDIPlus_PenDispose ( $schwarz )
[/autoit] [autoit][/autoit] [autoit]
_GDIPlus_GraphicsDispose ( $hwnd )
_GDIPlus_Shutdown()Func _ende()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFuncFunc _WinAPI_SetLayeredWindowAttributes($hwnd, $i_transcolor, $Transparency = 255, $dwFlages = 0x03, $isColorRef = False)
[/autoit]
; progandy
If $dwFlages = Default Or $dwFlages = "" Or $dwFlages < 0 Then $dwFlages = 0x03
If Not $isColorRef Then
$i_transcolor = Hex(String($i_transcolor), 6)
$i_transcolor = Execute('0x00' & StringMid($i_transcolor, 5, 2) & StringMid($i_transcolor, 3, 2) & StringMid($i_transcolor, 1, 2))
EndIf
Local $Ret = DllCall("user32.dll", "int", "SetLayeredWindowAttributes", "hwnd", $hwnd, "long", $i_transcolor, "byte", $Transparency, "long", $dwFlages)
Select
Case @error
Return SetError(@error, 0, 0)
Case $Ret[0] = 0
Return SetError(4, _WinAPI_GetLastError(), 0)
Case Else
Return 1
EndSelect
EndFunc ;==>_WinAPI_SetLayeredWindowAttributesVieleicht kannst du was mit anfangen?
-
Alles anzeigen
habs fast geschaft
[autoit]; Zeigt die Dateinamen aller Dateien im aktuellen Verzeichnis an.
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]$search = FileFindFirstFile("*.*")
[/autoit] [autoit][/autoit] [autoit]; Prüfen, ob die Suche erfolgreich war
[/autoit] [autoit][/autoit] [autoit]
If $search = -1 Then
MsgBox(0, "Fehler", "Es wurden keine Dateien/Verzeichnisse gefunden, die zu dem Suchmuster passen")
Exit
EndIfWhile 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$file = FileFindNextFile($search)
If @error Then ExitLoop
FileOpen("Include.txt",2)
FileWrite("Include.txt",$file)
WEnd; Handle für Suche schliessen
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit]
FileClose($search)muss die exe in den ordner include tun jetzt schreibt er sogar was richtiges aber nur den namen der ersten datei

musste FileOpen("Include.txt",2) auf 1 setzen, aber du brauchst den ganzen Befehl nicht, Filewrite legt automatisch eine ab.
so z.B. für .au3 dateien
Spoiler anzeigen
[autoit]; Shows the filenames of all files in the current directory.
[/autoit] [autoit][/autoit] [autoit]
$search = FileFindFirstFile("*.au3"); Check if the search was successful
[/autoit] [autoit][/autoit] [autoit]
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
FileWrite ( "include.txt", $file&@CRLF )
WEnd; Close the search handle
[/autoit]
FileClose($search) -
da fehlt nen "
$search = FileFindFirstFile("E:\Programme\AutoIt3\Include") -
Oscar .. das habe ich auch schon versucht.. bringt alles nichts -.-
am Text lag es nicht, den der Button "Abbrechen" ging so wunderbar.
@ Concara .. So wie ich das gemacht habe hätte es doch funktionieren müssen, oder warum nicht?Aber mit deinem ging es!, warum auch immer..
Er hat anstatt die id, das hier genommen:
Class: Button
Instance: 2Gibt eben viele wege das anzusteuern, also immer ma durchprobieren.
ID - The internal control ID. The Control ID is the internal numeric identifier that windows gives to each control. It is generally the best method of identifying controls. In addition to the AutoIt Window Info Tool, other applications such as screenreaders for the blind and Microsoft tools/APIs may allow you to get this Control ID
TEXT - The text on a control, for example "&Next" on a button
CLASS - The internal control classname such as "Edit" or "Button"
CLASSNN - The ClassnameNN value as used in previous versions of AutoIt, such as "Edit1"
REGEXPCLASS - Control classname using a regular expression
X \ Y \ W \ H - The position and size of a control. <<< wurde ich abraten, da es noch nicht richtig funktioniert.
INSTANCE - The 1-based instance when all given properties match. -
Ist das legal?
Hier steht was darüber http://www.it-academy.cc/article/721/MA…+faelschen.html -
Das ist ja blöd, da weis ich ja garnet wo ich hin muss wenn ich z.B. auf GuiHole drück

-
Dann den Mauszeiger setzen mit "Custom GUI Cursor" von:
http://www.autoitscript.com/forum/index.php?showtopic=19370&st=0&p=133769&#entry133769Hey, das Link ist ja ma geil, da sind viele nützliche Sachen, aber wenn ich z.B. auf GuiHole drücke komm ich immer wieder zur Startseite, warum?
-
ich lad meine Sachen immer bei https://autoit.de/www.materialordner.de hoch ( erst archivieren alles ), aber das kann man glaubich auch hier im Forum, weis nicht wie.
Also was mir aufällt schonmal, ist das du für fast jede Variable Global schreibst, die Variablen sind immer Global wenn nichts davor steht.