Hallo!
Ich habe mir ein kleines Script mit GUI erstellt, um eine wichtige Datei zu sichern.
Funktioniert auch soweit einwandfrei, bis auf eine Kleinigkeit...
Ich will mir in der GUI ein kleines Bild als Label anzeigen lassen.
Wenn ich mit "FileInstall" das Bild inkludieren möchte wird das Bild einfach nicht
angezeigt, obwohl der vom Script erstellte temp Ordner und auch das Label darin
existieren.
Hier der Codeausschnitt:
[autoit]DirCreate ("C:\MMB_temp\")
FileInstall ("C:\Dokumente und Einstellungen\Stafan_Admin\Desktop\Label.jpg", "C:\MMB_temp\label.jpg")
Seit zwei Stunden brüte ich nun über dem Problem, und komme einfach nicht weiter...
Woran könnte es liegen ?
Hier Übrigens das ganze Script, falls das von Bedeutung ist:
[autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit][/autoit][autoit];******************************************************************
;**********************INCLUDES************************************
;******************************************************************
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#include <Array.au3>
#include <File.au3>
;******************************************************************
;**********************FILEINSTALL************************************
;******************************************************************
DirCreate ("C:\MMB_temp\")
FileInstall ("C:\Dokumente und Einstellungen\Stafan_Admin\Desktop\Label.jpg", "C:\MMB_temp\label.jpg")
;*****************************************************************
;*********************DEKLARATIONEN*******************************
;*****************************************************************
Global $ERR = "Wrong"
Global $MMB = "MMB - AutoBackup"
Global $T = @MDAY
Global $M = @MON
Global $J = @YEAR
Global $Size = DirGetSize("F:\BACKUP\MMB_BAK")
Global $array = DirGetSize("F:\BACKUP\MMB_BAK", 1)
Local $avArray = DirGetSize("F:\BACKUP\MMB_BAK", 1)
;*****************************************************************
;*********************FUNCTIONEN**********************************
;*****************************************************************
;BLOCK A ---> Func Neue Datei
Func _NEWFILE(); Neue Datei erstellen
If FileExists("C:\Dokumente und Einstellungen\Stafan_Admin\Eigene Dateien\Bilanz_2010_2011.mmb") Then
FileCopy("C:\Dokumente und Einstellungen\Stafan_Admin\Eigene Dateien\Bilanz_2010_2011.mmb", "F:\BACKUP\MMB_BAK\Bilanz_2010_2011_BAK_" & $T & "." & $M & "." & $J & ".mmb", 1)
Else
MsgBox(16, $ERR, "Kann Backup-Datei nicht finden" & @CRLF & "Script wird beendet...")
Exit
EndIf; ===> Prüfung OK!
EndFunc ;==>_NEWFILE
[/autoit][autoit][/autoit][autoit];BLOCK A ---> Func Neue Datei
[/autoit][autoit][/autoit][autoit]Func _NEWFILECHECK(); Prüfung neue Datei
FileGetSize("F:\BACKUP\MMB_BAK\Bilanz_2010_2011_BAK_" & $T & "." & $M & "." & $J & ".mmb")
If @error Then
MsgBox(16, $ERR, "Backup konnte nicht erstellt werden" & @CRLF & "Script wird beendet...")
Exit
Else
MsgBox(48, $MMB, "Es wurde eine aktuelles Backup erstellt", 3)
;DirRemove("C:\AutoBackup_temp", 1)
Exit
EndIf; ===> Prüfung OK!
EndFunc ;==>_NEWFILECHECK
;BLOCK B ---> Func alte Dateien löschen
Func _REMOVEOLD(); Ordner löschen
If FileExists("F:\BACKUP\MMB_BAK") Then
DirRemove("F:\BACKUP\MMB_BAK", 1)
Else
MsgBox(16, $ERR, "Kann Backup-Ordner nicht finden" & @CRLF & "Script wird beendet...")
Exit
EndIf; ===> Prüfung OK!
EndFunc ;==>_REMOVEOLD
Func _REMOVEOLDCHECK(); Prüfen ob Ordner gelöscht
MsgBox(48, $MMB, "Es wurden " & Round($Size / 1024 / 1024, 2) & " MB gelöscht" & @CRLF & $array[1] & " Datei(en)", 3)
EndFunc ;==>_REMOVEOLDCHECK
;BLOCK B ---> Func alte Dateien löschen
Func _NEWDIRCREATE(); Neuen Ordner erzeugen & Errorcode
DirCreate("F:\BACKUP\MMB_BAK")
If @error Then
MsgBox(16, $ERR, "Backup-Ordner konnte nicht erstellt werden" & @CRLF & "Script wird beendet...")
Exit
EndIf
EndFunc ;==>_NEWDIRCREATE
Func _FILECOPY(); Backup Datei in Ordner Kopieren & Errorcode
FileCopy("C:\Dokumente und Einstellungen\Stafan_Admin\Eigene Dateien\Bilanz_2010_2011.mmb", "F:\BACKUP\MMB_BAK\Bilanz_2010_2011_BAK_" & $T & "." & $M & "." & $J & ".mmb", 1)
If @error Then
MsgBox(16, $ERR, "Backup konnte nicht erstellt werden" & @CRLF & "Script wird beendet...")
Exit
EndIf
EndFunc ;==>_FILECOPY
;BLOCK C ---> Dateianzahl & Größe auslesen
Func _Size(); Output Dateianzahl & Größe
DirGetSize("F:\BACKUP\MMB_BAK")
If @error Then
MsgBox(16, $ERR, "Backup-Ordner konnte nicht gefunden werden" & @CRLF & "Script wird beendet...")
Exit
Else
MsgBox(48, $MMB, "Es werden " & Round($Size / 1024 / 1024, 2) & " MB gelöscht" & @CRLF & $array[1] & " Datei(en)", 3)
EndIf
EndFunc ;==>_Size
;BLOCK D ---> Prüfung ob Backup erfolgreich
Func _AfternewFile()
If FileExists("F:\BACKUP\MMB_BAK\Bilanz_2010_2011_BAK_" & $T & "." & $M & "." & $J & ".mmb") Then
MsgBox(48, $MMB, "Aktuelles Backup erstellt", 3)
;DirRemove("C:\AutoBackup_temp", 1)
Exit
Else
MsgBox(16, $ERR, "Es konnte kein Backup erstellt werden" & @CRLF & "Script wird beendet...")
Exit
EndIf
Exit
EndFunc ;==>_AfternewFile
;****************************************************************
;******************************GUI*******************************
;****************************************************************
$frmMN = GUICreate("MMB - AutoBackup", 323, 148, 348, 253)
GUISetIcon("D:\Ico_png_bmp\ico\32x32\actions\document-export-2.ico")
$grbOPT = GUICtrlCreateGroup("Optionen", 87, 16, 202, 82)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$rbND = GUICtrlCreateRadio("Erzeuge neue Datei", 95, 39, 185, 17)
$rbAD = GUICtrlCreateRadio("Lösche alte Dateien", 96, 64, 185, 17)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$btnBK = GUICtrlCreateButton("Start Backup", 87, 112, 202, 25, 0)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
$imgBK = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Stafan_Admin\Desktop\label.jpg", 5, 3, 70, 140, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
;*****************************************************************
;********************WHILE SCHLEIFE*******************************
;*****************************************************************
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $frmMN
Case $rbND
GUICtrlSetState($rbND, $GUI_CHECKED)
GUICtrlSetState($rbAD, $GUI_UNCHECKED)
Case $rbAD
GUICtrlSetState($rbAD, $GUI_CHECKED)
GUICtrlSetState($rbND, $GUI_UNCHECKED)
Case $btnBK
;********************KEINE OPTION*****************************
[/autoit][autoit][/autoit][autoit]If BitAND(GUICtrlRead($rbAD), $GUI_UNCHECKED) And BitAND(GUICtrlRead($rbND), $GUI_UNCHECKED) Then
MsgBox(48, $MMB, "Bitte wählen Sie zuerst eine Option")
;********************OPTION NEUE DATEI********************
[/autoit][autoit][/autoit][autoit]ElseIf BitAND(GUICtrlRead($rbND), $GUI_CHECKED) Then
;Funktionsaufrufe rbNeueDatei
_NEWFILE()
Sleep(100)
_NEWFILECHECK()
;********************OPTION ALTE DATEI************************
[/autoit][autoit][/autoit][autoit]Else
If BitAND(GUICtrlRead($rbAD), $GUI_CHECKED) Then
;Funktionsaufrufe rbAlteDatei
_Size()
Sleep(100)
_REMOVEOLD()
Sleep(100)
_REMOVEOLDCHECK()
Sleep(100)
_NEWDIRCREATE()
Sleep(100)
_FILECOPY()
Sleep(100)
_AfternewFile()
EndIf
EndIf
EndSwitch
WEnd
Bitte nicht lachen, der Code ist sicher nicht Perfekt, aber ich bin noch AutoIt Anfänger
LG Junio
Hab den Fehler mittlerweile gefunden!
$imgBK = GUICtrlCreatePic("C:\Dokumente und Einstellungen\Stafan_Admin\Desktop\label.jpg"
Vergessen den Pfad anzupassen !!!
Trotzdem Danke LG junio