1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. RR04

Beiträge von RR04

  • Outlook & OExpress Saver...

    • RR04
    • 31. Mai 2008 um 00:13

    ...sprich „OES“ dient zur Sicherung der E-Mail Daten von Outlook & OExpress. Es ist sehr klein und schnell gestaltet. Mit dem Programm, jetzt mit Benutzeroberfläche (GUI) und im "GUIOnEventMode", kann der Nutzer Speicherort sowie Speicherformat (Copy, Zip, 7zip) selbst frei wählen. Die plakativen Funktionen der 3er Version sind beseitigt und mit Phase 4 wird ein neuer Abschnitt eingeleitet. Nun mehr, steht der Fokus auf Rücksicherung. Die Sprachausgabe wurde verbessert. Zu Gunsten von Ressourcen und Performance habe ich auf „FileInstall“ verzichtet. Diese Aufgabe hat jetzt die Setuproutine übernommen und richtet einen Unterordner „OESsys“ ein. In diesem Unterordner werden 7zip sowie das Wave-File hinterlegt.
    Eine Statusleiste ist hinzu gekommen.
    Die Schalter Start, Beenden, Info und About können über die neue Menüleiste erreicht werden.
    Das Adressbuch kann nun auch gesichert und rück gesichert werden.
    Anpassungen wurden vorgenommen.
    Startbutton, Tooltip und Menü/Datei - Bezeichnung wechselt jeweils von "Sichern nach Restore". Der Zielpfad wird gespeichert.
    Multilingual - Hier kann man schnell auch selbst eine fehlende Sprache erstellen und einfügen.

    Einige Anpassungen wurden vorgenommen.
    Für mehr Performance und um Ressourcen zu schonen, wurde auf Fileinstall verzichtet. Alle nötigen Komponenten wurden zur ordnungsgemäßen Platzierung der Installationsroutine übergeben. Hier werden Ordner und Unterordner erstellt, sowie befüllt. Die OES.ini-Datei wurde bewusst installiert um auch eine rückstandslose Deinstallation gewährleisten zu können. Bei einem Wechsel der Sprache, wird der Blick auf den Neustart der Oberflächen geschickt durch das Auswahlfenster abgedeckt. So wird der Wechsel mehr als ein schließen des Auswahlfensters wahrgenommen. Die drei Sprachen des Hauptscripts, kann auch das Installationsscript vorweisen. Dem Nutzer bleibt auch künftig die Möglichkeit, eine andere Sprache seiner Wahl zu erstellen. OES ist in der Lage die Neue Sprache zu erkennen und wird sie von nun an zur Auswahl anbieten. Eine mitgelieferte Liesmich.txt-Datei kommt mehrfach zum Einsatz, wenn es um Hinweise oder Infos für den Nutzer geht.

    Gleich zwei Funktionen, eine Benutzeroberfläche und eine Programmbibliothek nehmen ihren Dienst auf.

    Mit Überprüfung und Nutzung eines vorhandenen 7zip geht es weiter.
    Eine kleine HTML-Info soll das Ganze abrunden.

    Das 7zip aktualisiert.
    Pfade wurden angepasst.
    Die blaue Farbe der Ctrl abgestimmt (immer das gleiche Blau - Stilwechsel).
    Die DLL von 620kb zu 33kb, bei gleicher Funktionalität.

    OES wurde mit Windows XP, Outlook2, Outlook Express und XP-Address Book getestet.

    Sicherheitsabfragen und viele Kommentare wurden eingefügt (i=Info, !=Wichtig).

    Speziellen Dank an:
    - Alina für ihre umgangssprachliche Übersetzung ins Dänische.
    - Oscar für die fachliche Unterstützung

    Danke für die bisherigen über 245 Downloads.

    Viel Spaß mit OES ! :rolleyes:

    Script
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=OES.ico
    #AutoIt3Wrapper_Outfile=OESv5100.exe
    #AutoIt3Wrapper_Res_Description=Outlook & OExpress Saver
    #AutoIt3Wrapper_Res_Fileversion=5.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(C) 2009 by Ritzelrocker04
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=AutoIt Version|%AutoItVer%
    #AutoIt3Wrapper_Res_Field=Compiled by|Ritzelrocker04
    #AutoIt3Wrapper_Res_Field=Original Name|Outlook & OExpress Saver
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit] [autoit][/autoit] [autoit]

    ; Thx to Crazy-A, Peethebee, Xenobiologist, BugFix, Progandy & Oscar

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### Include Section ###
    #include <AVIConstants.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #EndRegion ### Include Section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### Optionen Section ###
    Opt('GUIOnEventMode', 1) ;i 1 Schaltet den OnEvent-Mode ein
    Opt('MustDeclareVars', 1) ;i Variablen müssen vor der Benutzung deklariert werden
    Opt('TrayAutoPause', 0) ;i das Script nicht pausieren, wenn auf das Tray-Icon geklickt wird
    Opt('GUICloseOnESC', 0) ;i das drücken der ESC-Taste führt nicht zum beenden des Programms
    #EndRegion ### Optionen Section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### Variablen Section ###
    ;i directories & files
    Global $identPath = _
    RegRead("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Local AppData")
    Global $ident = RegRead("HKEY_CURRENT_USER\Identities", "Default User ID") ;i Identities read
    Global $ini = @ScriptDir & "\OESsys\oes.ini" ;i Path & Name Inifile
    Global $OESmedia = @ScriptDir & "\OESsys\oes_rc.dll" ;! Path & Name zur Ressource-DLL - erstellt mit AutoIT-Bordmitteln ;)
    Global $info = @ScriptDir & '\OESsys\OES_Info.chm'
    Global $ndDing = @WindowsDir & "\Media\ding.wav" ;i M$sound
    Global $languages, $actual_lang, $actual_lang_name, $new_lang
    Global $lang_dir = @ScriptDir & "\lang"

    [/autoit] [autoit][/autoit] [autoit]

    Global $7zip
    Global $version = "5.1.00"
    Global $title = "Outlook & Outlook Express Saver"
    ;i array
    Global $aFormat[3] = ['Copy', 'Zip', '7zip'], $aFormatGB[3]
    Global $aDateien[3] = ['Microsoft Outlook', 'Outlook Express', 'Address Book'], $aDateienGB[3]
    Global $ziel, $ident, $dest, $src

    [/autoit] [autoit][/autoit] [autoit]

    ;! Guicontrols vor der Func _ini_read_lang()
    Global $GUI, $fileMenu, $startItem, $exitItem, $OptMenu, $langItem, $helpMenu, $helpItem, $aboutItem, _
    $gbSources, $tbDest, $bnDest, $lbLocation, $gbFormat, $ckbRest, $bnStart, $bnCancel, $tatusLine

    [/autoit] [autoit][/autoit] [autoit]

    _ini_read_lang()
    #EndRegion ### Variablen Section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### Check Section ###
    ;i ist 7zip auf dem PC schon installiert ?
    If FileExists(RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip", "Path") & "\7z.exe") Then
    ;i dann verwende das installierte 7zip !
    $7zip = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\7-Zip", "Path") & "\7z.exe"
    Else
    ;i ist kein 7zip installiert, verwende dieses 7zip.
    $7zip = @ScriptDir & "\OESsys\7za.exe"
    If Not FileExists($7zip) Then Exit MsgBox(262144 + 16, 'Error ' & $title, $7zip & @CRLF & @CRLF & 'File Not Found ! ')
    ;! Beenden & Nachricht an User, wenn 7zip nicht existiert
    EndIf
    #EndRegion ### Check Section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START OES GUI section ###
    $GUI = GUICreate($title, 350, 200)
    WinSetOnTop($title, '', 1) ;i 1 = den Wert für "Immer im Vordergrund" setzen
    GUISetOnEvent($GUI_EVENT_CLOSE, '_quit')

    [/autoit] [autoit][/autoit] [autoit]

    ;i Menüleiste - Datei
    $fileMenu = GUICtrlCreateMenu($languages[1][1])
    $startItem = GUICtrlCreateMenuItem($languages[2][1], $fileMenu)
    GUICtrlSetOnEvent(-1, '_start')
    GUICtrlCreateMenuItem("", $fileMenu, -1)
    $exitItem = GUICtrlCreateMenuItem($languages[3][1], $fileMenu)
    GUICtrlSetOnEvent(-1, '_quit')

    [/autoit] [autoit][/autoit] [autoit]

    ;i Menüleiste - Optionen
    $OptMenu = GUICtrlCreateMenu($languages[4][1])
    $langItem = GUICtrlCreateMenuItem($languages[5][1], $OptMenu)
    GUICtrlSetOnEvent(-1, '_lang')

    [/autoit] [autoit][/autoit] [autoit]

    ;i Menüleiste - Hilfe
    $helpMenu = GUICtrlCreateMenu("?")
    $helpItem = GUICtrlCreateMenuItem($languages[6][1], $helpMenu)
    GUICtrlSetOnEvent(-1, '_info')
    $aboutItem = GUICtrlCreateMenuItem($languages[7][1], $helpMenu)
    GUICtrlSetOnEvent(-1, '_about')

    [/autoit] [autoit][/autoit] [autoit]

    #Region Group Quelle
    $gbSources = GUICtrlCreateGroup($languages[8][1], 5, 2, 340, 38) ;i create group Quelle
    GUICtrlSetColor(-1, 0x0046D5) ; blau
    For $i = 0 To 2
    $aDateienGB[$i] = GUICtrlCreateRadio($aDateien[$i], 20 + $i * 110, 17, 102, 17) ;i erstellt 3 Optionsfelder (Radio button)
    GUICtrlSetState($aDateienGB[1], $GUI_CHECKED)
    GUICtrlSetTip(-1, $languages[14][1])
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i close group Quelle
    #EndRegion Group Quelle

    [/autoit] [autoit][/autoit] [autoit]

    $tbDest = GUICtrlCreateInput(IniRead($ini, "Destination", "Path", "C:\$Backup$"), 90, 61, 255, 17, $ES_READONLY)
    ;! $ES_READONLY - Eingaben nur über $bnDest möglich
    GUICtrlSetBkColor(-1, 0xFFFFFF) ;i weiss
    $bnDest = GUICtrlCreateButton("...", 5, 61, 75, 17, 0)
    GUICtrlSetOnEvent(-1, '_dest')
    GUICtrlSetTip(-1, $languages[16][1])
    $lbLocation = GUICtrlCreateLabel($languages[9][1], 13, 44, 70, 17)
    GUICtrlSetColor(-1, 0x0046D5) ; blau

    [/autoit] [autoit][/autoit] [autoit]

    #Region Group Format
    $gbFormat = GUICtrlCreateGroup($languages[10][1], 5, 87, 340, 38) ;i create group $gbFormat
    GUICtrlSetColor(-1, 0x0046D5) ; blau
    For $i = 0 To 2
    $aFormatGB[$i] = GUICtrlCreateRadio($aFormat[$i], 52 + $i * 100, 102, 45, 17) ;i erstellt 3 Optionsfelder (Radio button)
    GUICtrlSetState($aFormatGB[1], $GUI_CHECKED)
    GUICtrlSetTip(-1, $languages[18][1])
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i close group $gbFormat
    #EndRegion Group Format

    [/autoit] [autoit][/autoit] [autoit]

    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 0)
    $ckbRest = GUICtrlCreateCheckbox("Restore", 10, 132, 60, 17)
    GUICtrlSetTip(-1, $languages[20][1])
    GUICtrlSetOnEvent(-1, '_restore')
    DllCall("uxtheme.dll", "none", "SetThemeAppProperties", "int", 7)
    $bnStart = GUICtrlCreateButton($languages[11][1], 185, 134, 75, 22, $BS_DEFPUSHBUTTON) ;i DEF PUSH
    GUICtrlSetOnEvent(-1, '_start')
    GUICtrlSetTip(-1, $languages[21][1])
    $bnCancel = GUICtrlCreateButton($languages[12][1], 265, 134, 75, 22, 0)
    GUICtrlSetOnEvent(-1, '_quit')
    GUICtrlSetTip(-1, $languages[22][1])
    GUICtrlCreateLabel("RR04 for AutoIT.de", 5, 150, 100, 17)
    GUICtrlSetFont(-1, 8, 400, 0, "Arial")
    GUICtrlSetColor(-1, 0x808080)
    $tatusLine = GUICtrlCreateLabel("", 0, 164, 350, 17, BitOR($SS_SUNKEN, $SS_CENTER))
    GUICtrlSetData($tatusLine, 'Version ' & $version & @TAB & @MDAY & ' - ' & @MON & ' - ' & @YEAR)

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $GUI)
    #EndRegion ### START OES GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### Language GUI section ###
    Global $aFlag[3] = ['151', '150', '152'], $aFlagAvi[3]

    [/autoit] [autoit][/autoit] [autoit]

    Global $langGUI = GUICreate($title, 330, 250, -1, -1, $WS_SYSMENU, -1, $GUI)
    GUISetBkColor(0xFFFFFF);i Hintergrundfarbe des Fensters
    WinSetOnTop($title, '', 1) ;i den Wert für "Immer im Vordergrund" setzen
    GUISetOnEvent($GUI_EVENT_CLOSE, '_closeLang')
    GUICtrlCreateGroup("", 5, 0, 315, 185) ;i create group

    [/autoit] [autoit][/autoit] [autoit]

    For $m = 0 To 2
    $aFlagAvi[$m] = GUICtrlCreateAvi($OESmedia, $aFlag[$m], 25 + $m * 100, 40, 70, 50, $ACS_AUTOPLAY) ;i erstellt 3 AVI´s
    Next

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateLabel("Please choose your language:", 10, 120, 305, 17, $SS_CENTER)
    GUICtrlSetColor(-1, 0x0046D5) ;i blau
    Global $gui_combo_lang = GUICtrlCreateCombo("", 65, 140, 200, 17)
    _read_lang()

    [/autoit] [autoit][/autoit] [autoit]

    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i close group
    GUICtrlCreateButton("OK", 124, 190, 76, 22, $BS_DEFPUSHBUTTON) ;i DEF PUSH
    GUICtrlSetOnEvent(-1, '_closeLang')
    #EndRegion ### Language GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### AboutGUI section ###
    Global $aAbout[7] = ['Product Name :', 'Outlook and Outlook Express Saver', 'Version : ', _
    $version & @TAB & 'Build 2008 - 09 - 11', 'Copyright (C) 2008 by Ritzelrocker04', 'Thx an das http://www.AutoIT.de - Team', _
    'Special thanks to Crazy-A and Oscar'], $aAboutLB[7]

    [/autoit] [autoit][/autoit] [autoit]

    Global $aboutGUI = GUICreate($title, 330, 250, -1, -1, $WS_SYSMENU, -1, $GUI)
    WinSetOnTop($title, '', 1) ;i den Wert für "Immer im Vordergrund" setzen
    GUISetOnEvent($GUI_EVENT_CLOSE, '_closeAbout')
    GUICtrlCreateGroup("", 5, 0, 315, 185) ;i create group
    GUICtrlCreateAvi($OESmedia, 160, 25, 40, 40, 44, $ACS_AUTOPLAY)
    GUICtrlCreateIcon($OESmedia, -1, 28, 120, 32, 32)
    For $i = 0 To 6
    $aAboutLB[$i] = GUICtrlCreateLabel($aAbout[$i], 100, 16 + $i * 24, 200, 17) ;i erstellt 7 Label
    Next
    GUICtrlCreateGroup("", -99, -99, 1, 1) ;i close group
    GUICtrlCreateButton("OK", 124, 190, 76, 22, $BS_DEFPUSHBUTTON) ;i DEF PUSH
    GUICtrlSetOnEvent(-1, '_closeAbout')
    #EndRegion ### AboutGUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### AniGUI section ###
    Global $aniGUI = GUICreate($title, 300, 100, -1, -1, $WS_SYSMENU, -1, $GUI)
    Global $Avi = GUICtrlCreateAvi("shell32.dll", 167, 14, 10) ;i soll die XP-Animation abspielen
    GUICtrlSetState($Avi, 1)
    #EndRegion ### AniGUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    Sleep(900)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _start()
    $ziel = GUICtrlRead($tbDest) ;i auslesen der Nutzereingaben
    IniWrite($ini, 'Destination', 'Path', $ziel) ;i ini write the $ziel

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 0 To 2
    If BitAND(GUICtrlRead($aDateienGB[$i]), $GUI_CHECKED) = $GUI_CHECKED Then
    Switch $i
    Case 0
    ;i Outlook
    ;original $src = @UserProfileDir & '\Lokale Einstellungen\Anwendungsdaten\Microsoft\Outlook\'
    $src = @AppDataDir & '\Microsoft\Outlook\'
    ;! Quelle für FileExists, DirCopy, 7zip & Identities einfügen
    If Not FileExists($src) Then Exit MsgBox(262144 + 16, 'Error ' & $title, $src & @CRLF & @CRLF & "File Not Found ! ")
    ;! Beenden & Nachricht an User, wenn bezeichnete Datei oder Verzeichnis nicht existiert
    $dest = $ziel & "\$Outlook$\Outlook" ;i Destination

    [/autoit] [autoit][/autoit] [autoit]

    Case 1
    ;i Outlook Express
    ;original $ident = RegRead("HKEY_CURRENT_USER\Identities", "Default User ID") ;i die Identities auslesen
    ;original $src = @UserProfileDir & '\Lokale Einstellungen\Anwendungsdaten\Identities\' & $ident & '\Microsoft\Outlook Express\'
    $src = $identPath & '\Identities\' & $ident & '\Microsoft\Outlook Express\'
    ;! Quelle für FileExists, DirCopy, 7zip & Identities einfügen
    If Not FileExists($src) Then Exit MsgBox(262144 + 16, 'Error ' & $title, $src & @CRLF & @CRLF & "File Not Found ! ")
    ;! Beenden & Nachricht an User, wenn bezeichnete Datei oder Verzeichnis nicht existiert
    $dest = $ziel & "\$OutlookExpress$\OutlookExpress" ;i Destination

    [/autoit] [autoit][/autoit] [autoit]

    Case 2
    ;i Address Book
    ;original $src = @UserProfileDir & '\Anwendungsdaten\Microsoft\Address Book\'
    $src = @AppDataDir & '\Microsoft\Address Book\'
    ;! Quelle für FileExists, DirCopy, 7zip & Identities einfügen
    If Not FileExists($src) Then Exit MsgBox(262144 + 16, 'Error ' & $title, $src & @CRLF & @CRLF & "File Not Found ! ")
    ;! Beenden & Nachricht an User, wenn bezeichnete Datei oder Verzeichnis nicht existiert
    $dest = $ziel & "\$AddressBook$\AddressBook" ;i Destination
    EndSwitch
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    For $j = 0 To 2
    If BitAND(GUICtrlRead($aFormatGB[$j]), $GUI_CHECKED) = $GUI_CHECKED Then ;i Radiobutton prüfen ; wenn ein, dann...
    Switch $j
    Case 0
    If BitAND(GUICtrlRead($ckbRest), $GUI_CHECKED) = $GUI_CHECKED Then
    _recopy()
    Else
    If FileExists($dest) Then ;! prüfen, ob bezeichnete Datei oder Verzeichnis existiert
    FileDelete($dest) ;! löscht eine bezeichnete oder mehr Dateien
    EndIf
    _copy()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case 1
    $dest &= '.zip ' ;i Packformat "*.zip"

    [/autoit] [autoit][/autoit] [autoit]

    If BitAND(GUICtrlRead($ckbRest), $GUI_CHECKED) = $GUI_CHECKED Then
    _unzip()
    Else
    $7zip &= " a -tzip " ;i Packformat "*.zip"
    _zip()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Case 2
    $dest &= '.7z ' ;i Packformat "*.7z"

    [/autoit] [autoit][/autoit] [autoit]

    If BitAND(GUICtrlRead($ckbRest), $GUI_CHECKED) = $GUI_CHECKED Then
    _unzip()
    Else
    $7zip &= " a -t7z " ;i Packformat "*.7z"
    _zip()
    EndIf
    EndSwitch
    EndIf
    Next

    [/autoit] [autoit][/autoit] [autoit]

    ;SoundSetWaveVolume(50) ;i Lautstärke 50% optional
    SoundPlay($ndDing, 1) ;i M$Sound abspielen
    MsgBox(262144 + 64, $title, $languages[27][1] & @CRLF & @CRLF & @MDAY & "-" & @MON & "-" & @YEAR & " - " & @HOUR & ":" & @MIN & " " & $languages[28][1])
    ;! Erfolgsmeldung ausgeben
    _quit() ;i Programm autom. beenden
    EndFunc ;==>_start

    [/autoit] [autoit][/autoit] [autoit]

    Func _quit()
    Exit
    EndFunc ;==>_quit

    [/autoit] [autoit][/autoit] [autoit]

    Func _dest()
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)

    [/autoit] [autoit][/autoit] [autoit]

    Local $path = FileSelectFolder($languages[26][1], "::{00000000-1080-F9E5-6311-4162E05A6BEE}", 1)
    If Not @error Then
    GUICtrlSetData($tbDest, $path)
    EndIf
    EndFunc ;==>_dest

    [/autoit] [autoit][/autoit] [autoit]

    Func _copy()
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)
    GUISetState(@SW_SHOW, $aniGUI) ;i aniGUI anzeigen
    FileCopy($src, $dest & "\*.*", 1 + 8)
    ;i ausführen der eigentlichen Sicherung
    GUISetState(@SW_HIDE, $aniGUI) ;i aniGUI verstecken
    EndFunc ;==>_copy

    [/autoit] [autoit][/autoit] [autoit]

    Func _recopy()
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)
    GUISetState(@SW_SHOW, $aniGUI) ;i aniGUI anzeigen
    FileCopy($dest & "\*.*", $src, 1 + 8)
    ;i ausführen der eigentlichen Rücksicherung
    GUISetState(@SW_HIDE, $aniGUI) ;i aniGUI verstecken
    EndFunc ;==>_recopy

    [/autoit] [autoit][/autoit] [autoit]

    Func _zip()
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)
    GUISetState(@SW_SHOW, $aniGUI) ;i aniGUI anzeigen
    If FileExists($dest) Then ;! prüfen, ob bezeichnete Datei oder Verzeichnis existiert
    FileDelete($dest) ;! löscht eine bezeichnete oder mehr Dateien
    EndIf
    RunWait(@ComSpec & ' /c ' & $7zip & $dest & '"' & $src & '*.*"', @ScriptDir, @SW_HIDE)
    ;i Aufruf von 7z zum packen
    GUISetState(@SW_HIDE, $aniGUI) ;i aniGUI verstecken
    EndFunc ;==>_zip

    [/autoit] [autoit][/autoit] [autoit]

    Func _unzip()
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)
    GUISetState(@SW_SHOW, $aniGUI) ;i aniGUI anzeigen
    RunWait(@ComSpec & ' /c ' & $7zip & ' x -aoa -o' & '"' & $src & '"' & ' ' & $dest, @ScriptDir, @SW_HIDE)
    ;i Aufruf von 7z zum entpacken
    GUISetState(@SW_HIDE, $aniGUI) ;i aniGUI verstecken
    EndFunc ;==>_unzip

    [/autoit] [autoit][/autoit] [autoit]

    Func _restore()
    If BitAND(GUICtrlRead($ckbRest), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetData($startItem, "Restore")
    GUICtrlSetData($bnStart, "Restore")
    GUICtrlSetColor($ckbRest, 0xFF0000) ;i rot
    GUICtrlSetTip($ckbRest, $languages[23][1], 'Restore', 2, 3) ;i mit Icon, als Ballon-Tip, zentriert, nach unten
    MsgBox(262144 + 64, "Restore Modus", $languages[24][1] & @CRLF & $languages[25][1] & @CRLF & "" & @CRLF & 'Copyright: (C) 2009 by Ritzelrocker04 (http://www.AutoIT.de) ')
    Else
    GUICtrlSetData($startItem, $languages[2][1])
    GUICtrlSetData($bnStart, $languages[11][1])
    GUICtrlSetColor($ckbRest, 0x000000) ;i schwarz
    GUICtrlSetTip($ckbRest, $languages[20][1])
    EndIf
    EndFunc ;==>_restore

    [/autoit] [autoit][/autoit] [autoit]

    Func _about()
    GUISetState(@SW_SHOW, $aboutGUI) ;i aboutGUI anzeigen
    EndFunc ;==>_about

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeAbout()
    GUISetState(@SW_HIDE, $aboutGUI) ;i aboutGUI verstecken
    EndFunc ;==>_closeAbout

    [/autoit] [autoit][/autoit] [autoit]

    Func _info() ;by Oscar
    WinSetOnTop($title, '', 0) ;! 1 = den Wert für "Immer im Vordergrund" setzen und 0 = nicht ;)
    Local $rc
    ShellExecute($info)
    $rc = WinWait('OES_Info', '', 3)
    If $rc = 0 Then Return MsgBox(0, $title, 'Die Hilfedatei konnte nicht geöffnet werden!')
    ControlMove('OES_Info', '', '[CLASS:HH Child; INSTANCE:2]', 0, 40, 280)
    ControlMove('OES_Info', '', '[CLASS:HH Child; INSTANCE:1]', 284, 40)
    ControlTreeView('OES_Info', '', '[CLASS:SysTreeView32; INSTANCE:1]', 'Expand', '#0')
    EndFunc ;==>_info

    [/autoit] [autoit][/autoit] [autoit]

    Func _lang()
    GUISetState(@SW_SHOW, $langGUI) ;i $langGUI anzeigen
    EndFunc ;==>_lang

    [/autoit] [autoit][/autoit] [autoit]

    Func _closeLang()
    _gui_config()
    _ini_read_lang()
    GUISetState(@SW_HIDE, $langGUI) ;i $langGUI verstecken
    EndFunc ;==>_closeLang

    [/autoit] [autoit][/autoit] [autoit]

    Func _read_lang()
    Local $aFList = '', $sFiles, $hXls = FileFindFirstFile($lang_dir & '\*.lng')

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $sFiles = FileFindNextFile($hXls)
    If @error = 1 Or $sFiles = "" Then
    FileClose($hXls)
    ExitLoop
    EndIf
    If StringRight($sFiles, 4) = ".lng" Then
    $aFList = $aFList & "|" & StringTrimRight($sFiles, 4)
    EndIf
    If FileExists($actual_lang) = 1 Then
    GUICtrlSetData($gui_combo_lang, $aFList, StringTrimRight($actual_lang_name, 4))
    ElseIf FileExists($actual_lang) = 0 Then
    GUICtrlSetData($gui_combo_lang, $aFList, "Deutsch")
    EndIf
    WEnd
    EndFunc ;==>_read_lang

    [/autoit] [autoit][/autoit] [autoit]

    Func _gui_config()
    $new_lang = GUICtrlRead($gui_combo_lang) & ".lng"
    If $new_lang = "" Or FileExists($lang_dir & "\" & $new_lang) = 0 Then
    $new_lang = "Deutsch.lng"
    EndIf
    IniWrite($ini, "language", "current", $new_lang)
    EndFunc ;==>_gui_config

    [/autoit] [autoit][/autoit] [autoit]

    Func _ini_read_lang()
    ;read_options
    $actual_lang_name = IniRead($ini, "language", "current", "Deutsch.lng")
    $actual_lang = $lang_dir & "\" & $actual_lang_name
    ;ini_read_lang

    [/autoit] [autoit][/autoit] [autoit]

    $languages = IniReadSection($actual_lang, "default_values")
    If @error Then MsgBox(4096, "", "Error occurred, probably no lng file.")

    [/autoit] [autoit][/autoit] [autoit]

    Global $Label[23] = ['', $fileMenu, $startItem, $exitItem, $OptMenu, $langItem, $helpItem, $aboutItem, $gbSources, _
    $lbLocation, $gbFormat, $bnStart, $bnCancel, $aDateienGB[0], $aDateienGB[1], $aDateienGB[2], $bnDest, _
    $aFormatGB[0], $aFormatGB[1], $aFormatGB[2], $ckbRest, $bnStart, $bnCancel]

    [/autoit] [autoit][/autoit] [autoit]

    For $i = 1 To 12
    GUICtrlSetData($Label[$i], $languages[$i][1])
    Next
    For $i = 13 To 22
    GUICtrlSetTip($Label[$i], $languages[$i][1])
    Next
    EndFunc ;==>_ini_read_lang

    [/autoit] [autoit][/autoit] [autoit]

    ; Ende

    [/autoit]


    [align=center]Die aktuelle Version hier:

    Download OESv5.1.00_2009-04-03.zip

  • RD Daten sichern

    • RR04
    • 29. Mai 2008 um 15:42

    Erstmalig für mich und Runnig Disk, hier im "GUIOnEventMode". Mit einer Tastenkombination kann man den Sourcecode ausgeben. ;)
    siehe Post 10

    Viel Spaß mit Running Disk !

  • The Stick

    • RR04
    • 29. Mai 2008 um 15:07

    ...kommt wieder mit Installer und der SourceCode wird nicht mehr separat mitgeliefert !

    Ein kleines "Osterei" - Mit einer Tastenkombination kann man den SourceCode ausgeben.
    Welche wohl ? Natürlich "Alt-Shift-r" ! ;)

    siehe Post 1
    Edit: Anpassungen vorgenommen 2008-05-30_17:10 Uhr

    Viel Spaß mit "The Stick" !

  • 4096 mb ram drin 3200 mb werden angezeigt - Asus

    • RR04
    • 28. Mai 2008 um 18:29

    Hallo GtaSpider,

    das Wichtige zu erst - Herzlichen Glückwunsch !

    Zu Deinem Problem schau Dir mal das SP von Win Server an, man kann es loaden und ein RamDisk-Treiber ist auch bei. Der läuft auch unter Windows, sowie auch Robocopy. ;)

    Viel Erfolg!

  • Digitaluhr

    • RR04
    • 27. Mai 2008 um 15:57

    Hallo Oscar,

    Glückwunsch zu den verdienten drei blauen Sternen.
    Der Neubau der Icons sicherlich sehr aufwendig, aber es hat sich gelohnt und ist gut gelungen. Ich kann gar nicht genug meckern ! :D

    Hut ab und Daumen hoch. :thumbup:

  • FileInstall

    • RR04
    • 27. Mai 2008 um 15:48

    Hi,

    habe auch einiges probiert mit FileInstall, gibt es einen Bug in FileInstall?

    Das hier funktioniert – richtig lt. Hilfe

    Spoiler anzeigen
    [autoit]


    FileInstall("test.bmp", @ScriptDir & "\")

    [/autoit]


    und das nur auf C – sollte nicht sein lt. Hilfe ?(

    Spoiler anzeigen
    [autoit]


    FileInstall("test.bmp", @ScriptDir)

    [/autoit]
  • FileInstall - Ausgabe erst nach Klick

    • RR04
    • 26. Mai 2008 um 20:06

    Hallo FireFlyer,

    danke für Dein Interesse und Hinweis. Mein Projekt SiS habe ich bisher auch so entwickelt und festgestellt, dass es besser gleich im GUIOnEventModus hätte erstellt werden sollen. Also werde ich mich künftig so orientieren. :thumbup:

  • FileInstall - Ausgabe erst nach Klick

    • RR04
    • 26. Mai 2008 um 17:39

    Danke FireFlyer,

    hat super funktioniert. Bei mir sieht es jetzt so aus:

    Spoiler anzeigen
    [autoit]


    ; by FireFlyer
    #include<GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ###
    $Form = GUICreate("Test - FileInstall by FireFlyer", 251, 100, -1, -1)
    $ButtonOk = GUICtrlCreateButton("&Source", 86, 64, 75, 23, 0)
    $ButtonCancel = GUICtrlCreateButton("&Cancel", 167, 64, 75, 23, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Select
    Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $ButtonCancel
    Exit
    Case $nMsg = $ButtonOk
    _install()
    Exit
    EndSelect
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _install()
    FileInstall("Neu AutoIt v3 Script_4.au3", @ScriptDir & "\") ; "1" Wenn die Datei schon existiert wird sie überschrieben
    EndFunc ;==>_install

    [/autoit]
  • FileInstall - Ausgabe erst nach Klick

    • RR04
    • 26. Mai 2008 um 15:52

    Hi,

    ich möchte mit FileInstall den SourceCode mitgeben und erst nach einem Klick freigeben (siehe Bsp.). Hierfür ist ein zweifacher Aufruf von FileInstall nötig und löschen der ersten Ausgabe(1.includen, 2.löschen, 3.ausgeben).

    Gibt es bessere Möglichkeiten, oder vielleicht ganz Andere ? ?(

    Spoiler anzeigen
    [autoit]


    #include<GUIConstantsEx.au3>

    [/autoit] [autoit][/autoit] [autoit]

    FileInstall("Neu AutoIt v3 Script.au3", @ScriptDir & "\")
    FileDelete(@ScriptDir & "\Neu AutoIt v3 Script.au3")

    [/autoit] [autoit][/autoit] [autoit]

    #Region ### START Koda GUI section ###
    $Form2 = GUICreate("RR04 - Test mit FileInstall", 316, 238, 347, 263)
    $Button1 = GUICtrlCreateButton("&Source", 65, 203, 75, 25, 0)
    $Button2 = GUICtrlCreateButton("&Cancel", 162, 203, 75, 25, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Select
    Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $Button2
    Exit
    Case $nMsg = $Button1
    FileInstall("Neu AutoIt v3 Script.au3", @ScriptDir & "\")
    EndSelect
    WEnd

    [/autoit]


    Danke

  • The Stick

    • RR04
    • 25. Mai 2008 um 18:17

    Hallo Schnuffel,

    die genutzte AutoIT-Version kann man hier einsehen:

    Spoiler anzeigen
    [autoit]


    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=USBsys\compile.ico
    #AutoIt3Wrapper_Outfile=USBv3763.exe
    #AutoIt3Wrapper_Res_Description=The Stick
    #AutoIt3Wrapper_Res_Fileversion=3.7.6.3
    #AutoIt3Wrapper_Res_LegalCopyright=by Ritzelrocker04
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=Compiled by|Ritzelrocker04
    #AutoIt3Wrapper_Res_Field=AutoIt Version|3.2.12.0
    #AutoIt3Wrapper_Res_Field=Original Name|USBv3763.exe
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

    [/autoit]


    Nochmals Dank für Deine Bemühungen.
    Mit einem Rechtsklick auf die EXE-Datei:

    Dateien

    2008-25-05_18.04.07.png 6,36 kB – 0 Downloads
  • The Stick

    • RR04
    • 25. Mai 2008 um 16:39

    Hi,

    ja Danke Progandy, jetzt kann ich wieder ruhig weiteratmen. Aber immer sehr unangenehm so etwas.

    Sei Vorsichtig Du durchbrichst gleich eine Schallmauer "971" - Respekt !

  • The Stick

    • RR04
    • 25. Mai 2008 um 15:39

    Hi Schnuffel,

    anbei im Paket ist auch der originale Code, bitte mal selbst kompilieren. Derartige Dinge wurden von mir nicht integriert ! :(

    ? Haben auch Andere ähnliches bemerkt ?

    Also Sorry und Danke für den Hinweis!

    2008-05-25_16:30
    Hi Schnuffel, ich noch mal.
    Ich habe eben selbst einen Check gemacht, bei dem es zu keinen Auffälligkeiten kam und kann mir Deine nicht erklären ! ?(

  • Func aus Func herraus aufrufen

    • RR04
    • 25. Mai 2008 um 14:29

    Hi Fredooo,

    vielleicht ist hier etwas für Dich dabei ?

    The Stick

    Weiterhin viel Erfolg !

  • Sicher ist Sicher...

    • RR04
    • 25. Mai 2008 um 14:08

    möchte ich heute vorstellen. ;)

    Dank an
    Oscar und Bugfix

    Viel Spaß!

  • The Stick

    • RR04
    • 25. Mai 2008 um 13:59

    Angepasst in neuer Version (USBv3763) ! ;)
    Viel Spaß!

  • Digitaluhr

    • RR04
    • 23. Mai 2008 um 16:04

    Hallo,

    Vers. 1201 war sehr ausgewogen, selbst der Obfuscator wusste nichts hinzu zufügen. Daher meine Anregung die Includes weglassen (ca. 10 Zeilen zusätzlich, siehe meine Post vom 17.05.2008 ).

    In der 142er wurde auf die kl. Uhr zu Gunsten der Transparents verzichtet, wie auch die Msgbox beim Timer nicht mehr verdeckt wird. :thumbup:

    Ein (bei mir) leichtes flackern der Sekunden, könnte vielleicht durch Verkleinerung (in "Sec.") behoben werden ?

    Als Anregung:
    Eine Anzeige des Wochentages (Mo;Die;Fr) könnte ich mir gut vorstellen. ;)
    Die Änderung der GUI - Größe ist wohl schwieriger ?

    Ein schönes Projekt und weiterhin viel Erfolg !

  • The Stick

    • RR04
    • 23. Mai 2008 um 15:24

    ...könnte man sagen, aber seht selbst und viel Spaß mit "The Stick" (USBv3763)! ;)

    Schönes WE und weiterhin viel Erfolg!

    Bilder

    • TheStick3762.png
      • 13,21 kB
      • 310 × 157
  • Digitaluhr

    • RR04
    • 17. Mai 2008 um 11:00

    Hallo Oscar,

    gefällt mir gut Dein Programm, aber es geht noch mehr !

    Warum überhaupt Includes, in diesem Fall ? ;)

    Digitaluhr by Oscar - GANZ OHNE INCLUDES

    Spoiler anzeigen
    [autoit]


    #NoTrayIcon
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Outfile=Digitaluhr1201.exe
    #AutoIt3Wrapper_Res_Fileversion=1.2.0.1
    #AutoIt3Wrapper_Res_LegalCopyright=by Oscar
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Run_Tidy=y
    #AutoIt3Wrapper_Run_Obfuscator=y
    #Obfuscator_Parameters=/striponly
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    Global Const $GUI_CHECKED = 1
    Global Const $GUI_UNCHECKED = 4
    Global Const $GUI_BKCOLOR_TRANSPARENT = -2
    Global Const $GUI_WS_EX_PARENTDRAG = 0x00100000
    Global Const $WS_MINIMIZEBOX = 0x00020000
    Global Const $WS_SYSMENU = 0x00080000
    Global Const $WS_CAPTION = 0x00C00000
    Global Const $WS_POPUP = 0x80000000
    Global Const $WS_EX_TOOLWINDOW = 0x00000080
    Global Const $WS_EX_LAYERED = 0x00080000
    Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)

    [/autoit] [autoit][/autoit] [autoit]

    Opt('GUIOnEventMode', 1) ; Schaltet den OnEvent-Mode ein
    Opt('GUICloseOnESC', 0) ; das drücken der ESC-Taste führt nicht zum beenden des Programms
    Global $H = -1, $M = -1, $S = -1, $W = -1, $Path = @ScriptDir & '\gfx\', $Ini = @ScriptDir & '\Digitaluhr.ini'
    Global $X = IniRead($Ini, 'Position', 'X', -1) ; X-Position der Uhr aus der Inidatei lesen, wenn nicht vorhanden, dann zentrieren
    Global $Y = IniRead($Ini, 'Position', 'Y', -1) ; Y-Position der Uhr aus der Inidatei lesen, wenn nicht vorhanden, dann zentrieren
    Global $ExStyle = IniRead($Ini, 'Style', 'ExStyle', $WS_EX_TOOLWINDOW) ; den erweiterten Stil (ToolWindow und evtl. Transparent) für die GUI aus der Inidatei lesen
    Global $OnTop = IniRead($Ini, 'Style', 'OnTop', 1) ; Den Wert für "Immer im Vordergrund" aus der Inidatei lesen
    Global $Color = IniRead($Ini, 'Style', 'Color', 'yellow\') ; Den Wert für die Farbe der Anzeige aus der Inidatei lesen. Wenn Ini-Eintrag nicht vorhanden, dann Gelb auswählen
    Global $BKColor = IniRead($Ini, 'Style', 'BKColor', 0x000000) ; Den Wert der Hintergrundfarbe aus der Inidatei lesen. Wenn Ini-Eintrag nicht vorhanden, dann Schwarz auswählen

    [/autoit] [autoit][/autoit] [autoit]

    Global $GUI = GUICreate('Digitaluhr', 336, 128, $X, $Y, $WS_POPUP, $ExStyle) ; GUI erstellen
    WinSetOnTop('Digitaluhr', '', $OnTop) ; den Wert für "Immer im Vordergrund" setzen
    GUISetBkColor($GUI_BKCOLOR_TRANSPARENT) ; Hintergrundfarbe der Anzeige

    [/autoit] [autoit][/autoit] [autoit]

    Global $label = GUICtrlCreateLabel('', 0, 0, 336, 128, -1, $GUI_WS_EX_PARENTDRAG) ; ein transparentes Label erstellen, damit man die Uhr verschieben kann
    GUICtrlSetBkColor(-1, $BKColor)
    Global $menu = GUICtrlCreateContextMenu($label) ; Kontextmenü (rechte Maustaste) erstellen
    GUICtrlCreateMenuItem('Digitaluhr', $menu) ; Kontextmenü-Überschrift erstellen
    GUICtrlCreateMenuItem('', $menu) ; horizontaler Balken
    Global $cmenu = GUICtrlCreateMenu('Anzeigefarbe', $menu)
    Global $cmenuy = GUICtrlCreateMenuItem('Gelb/Schwarz', $cmenu)
    GUICtrlSetOnEvent(-1, '_ColorChangeY') ; wenn angeklickt, dann die Funktion _ColorChange() ausführen
    Global $cmenub = GUICtrlCreateMenuItem('Blau/Weiß', $cmenu)
    GUICtrlSetOnEvent(-1, '_ColorChangeB') ; wenn angeklickt, dann die Funktion _ColorChange() ausführen
    Switch $Color
    Case 'yellow\' ; Wenn Anzeigefarbe = Gelb/Schwarz
    GUICtrlSetState($cmenuy, $GUI_CHECKED) ; Haken bei Gelb/Schwarz setzen
    GUICtrlSetState($cmenub, $GUI_UNCHECKED) ; und bei Blau/Weiß entfernen
    Case 'blue\' ; Wenn Anzeigefarbe = Blau/Weiß
    GUICtrlSetState($cmenub, $GUI_CHECKED) ; Haken bei Blau/Weiß setzen
    GUICtrlSetState($cmenuy, $GUI_UNCHECKED) ; und bei Gelb/Schwarz entfernen
    EndSwitch
    Global $G_OnTop = GUICtrlCreateMenuItem('Immer im Vordergrund', $menu) ; Kontextmenüeintrag "Immer im Vordergrund" erstellen
    GUICtrlSetOnEvent(-1, '_OnTop') ; wenn angeklickt, dann die Funktion _OnTop() ausführen
    If $OnTop = 1 Then ; Wenn OnTop auf "Immer im Vordergrund",
    GUICtrlSetState(-1, $GUI_CHECKED) ; dann einen Haken neben den Menüeintrag setzen
    Else
    GUICtrlSetState(-1, $GUI_UNCHECKED) ; sonst den Haken löschen
    EndIf
    Global $trans = GUICtrlCreateMenuItem('Transparent', $menu) ; Kontextmenüeintrag "Transparent" erstellen
    GUICtrlSetOnEvent(-1, '_Transparent') ; wenn angeklickt, dann die Funktion _Transparent() ausführen
    If $ExStyle = $WS_EX_TOOLWINDOW Then ; Wenn der erweitere Stil nur ToolWindow (kein Transparent) enthält,
    GUICtrlSetState(-1, $GUI_UNCHECKED) ; dann den Haken von Transparent löschen
    Else
    GUICtrlSetState(-1, $GUI_CHECKED) ; sonst den Haken setzen
    EndIf
    Global $end = GUICtrlCreateMenuItem('Beenden', $menu) ; Kontextmenüeintrag "Beenden" erstellen
    GUICtrlSetOnEvent(-1, '_End') ; wenn angeklickt, dann die Funktion _End() ausführen

    [/autoit] [autoit][/autoit] [autoit]

    Global $DA[6], $DP[2], $DD[2] ; Arrays für die Dummys (Abstandshalter, Doppelpunkt und Punkt)
    Global $GUI_H1 = GUICtrlCreatePic($Path & $Color & '0.gif', 0, 0, 46, 78) ; 10er Stelle für die Stunden
    Global $GUI_H2 = GUICtrlCreatePic($Path & $Color & '0.gif', 46, 0, 46, 78) ; 1er Stelle für die Stunden
    $DA[0] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 92, 0, 12, 78) ; Abstandshalter
    $DP[0] = GUICtrlCreatePic($Path & $Color & 'dp.gif', 104, 0, 12, 78) ; Doppelpunkt
    Global $GUI_M1 = GUICtrlCreatePic($Path & $Color & '0.gif', 116, 0, 46, 78) ; 10er Stelle für die Minuten
    Global $GUI_M2 = GUICtrlCreatePic($Path & $Color & '0.gif', 162, 0, 46, 78) ; 1er Stelle für die Minuten
    $DA[1] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 208, 0, 12, 78) ; Abstandshalter
    $DP[1] = GUICtrlCreatePic($Path & $Color & 'dp.gif', 220, 0, 12, 78) ; Doppelpunkt
    Global $GUI_S1 = GUICtrlCreatePic($Path & $Color & '0.gif', 232, 0, 46, 78) ; 10er Stelle für die Sekunden
    Global $GUI_S2 = GUICtrlCreatePic($Path & $Color & '0.gif', 278, 0, 46, 78) ; 1er Stelle für die Sekunden
    $DA[2] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 324, 0, 12, 78) ; Abstandshalter

    [/autoit] [autoit][/autoit] [autoit]

    Global $GUI_D1 = GUICtrlCreatePic($Path & $Color & '0.gif', 60, 85, 23, 39) ; 10er Stelle für den Tag
    Global $GUI_D2 = GUICtrlCreatePic($Path & $Color & '0.gif', 83, 85, 23, 39) ; 1er Stelle für den Tag
    $DA[3] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 106, 85, 6, 39) ; Abstandshalter
    $DD[0] = GUICtrlCreatePic($Path & $Color & 'd.gif', 112, 85, 6, 39) ; Punkt
    Global $GUI_Mo1 = GUICtrlCreatePic($Path & $Color & '0.gif', 118, 85, 23, 39) ; 10er Stelle für den Monat
    Global $GUI_Mo2 = GUICtrlCreatePic($Path & $Color & '0.gif', 141, 85, 23, 39) ; 1er Stelle für den Monat
    $DA[4] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 164, 85, 6, 39) ; Abstandshalter
    $DD[1] = GUICtrlCreatePic($Path & $Color & 'd.gif', 170, 85, 6, 39) ; Punkt
    Global $GUI_Y1 = GUICtrlCreatePic($Path & $Color & '0.gif', 176, 85, 23, 39) ; 1000er Stelle für das Jahr
    Global $GUI_Y2 = GUICtrlCreatePic($Path & $Color & '0.gif', 199, 85, 23, 39) ; 100er Stelle für das Jahr
    Global $GUI_Y3 = GUICtrlCreatePic($Path & $Color & '0.gif', 222, 85, 23, 39) ; 10er Stelle für das Jahr
    Global $GUI_Y4 = GUICtrlCreatePic($Path & $Color & '0.gif', 245, 85, 23, 39) ; 1er Stelle für das Jahr
    $DA[5] = GUICtrlCreatePic($Path & $Color & 'nd.gif', 268, 85, 6, 39) ; Abstandshalter

    [/autoit] [autoit][/autoit] [autoit]

    GUISetState(@SW_SHOW, $GUI) ; GUI anzeigen

    [/autoit] [autoit][/autoit] [autoit]

    While 1 ; Endlosschleife
    If $H <> @HOUR Then ; Wenn sich die Stunden verändert haben,
    _SetClock($GUI_H1, $GUI_H2, @HOUR) ; dann die Control-IDs der Stunden an die Funktion _SetClock() übergeben
    $H = @HOUR ; Neuen Vergleichswert setzen
    EndIf
    If $M <> @MIN Then ; Wenn sich die Minuten verändert haben,
    _SetClock($GUI_M1, $GUI_M2, @MIN) ; dann die Control-IDs der Minuten an die Funktion _SetClock() übergeben
    $M = @MIN ; Neuen Vergleichswert setzen
    EndIf
    If $S <> @SEC Then ; Wenn sich die Sekunden verändert haben,
    _SetClock($GUI_S1, $GUI_S2, @SEC) ; dann die Control-IDs der Sekunden an die Funktion _SetClock() übergeben
    $S = @SEC ; Neuen Vergleichswert setzen
    EndIf
    If $W <> @WDAY Then ; Wenn sich der Tag geändert hat
    _SetClock($GUI_D1, $GUI_D2, @MDAY) ; dann die Control-IDs des Tages an die Funktion _SetClock() übergeben
    _SetClock($GUI_Mo1, $GUI_Mo2, @MON) ; die Control-IDs des Monats an die Funktion _SetClock() übergeben
    _SetClock($GUI_Y1, $GUI_Y2, StringLeft(@YEAR, 2)) ; die linken 2 Control-IDs des Jahres an die Funktion _SetClock() übergeben
    _SetClock($GUI_Y3, $GUI_Y4, StringRight(@YEAR, 2)) ; und die rechten 2 Control-IDs des Jahres an die Funktion _SetClock() übergeben
    $W = @WDAY ; Neuen Vergleichswert setzen
    EndIf
    Sleep(900) ; um den Prozessor nicht zu sehr zu belasten
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _SetClock($first, $second, $value)
    $v1 = $Path & $Color & StringLeft($value, 1) & '.gif' ; 10er Stelle aus dem übergebenen Wert lesen und entsprechende Grafik + Pfad erstellen
    $v2 = $Path & $Color & StringRight($value, 1) & '.gif' ; 1er Stelle aus dem übergebenen Wert lesen und entsprechende Grafik + Pfad erstellen
    GUICtrlSetImage($first, $v1) ; die neue Grafikdatei für die 10er Stelle setzen
    GUICtrlSetImage($second, $v2) ; die neue Grafikdatei für die 1er Stelle setzen
    EndFunc ;==>_SetClock

    [/autoit] [autoit][/autoit] [autoit]

    Func _ColorChangeY()
    GUICtrlSetState($cmenuy, $GUI_CHECKED) ; Kontextmenueintrag: Haken bei Gelb/Schwarz setzen
    GUICtrlSetState($cmenub, $GUI_UNCHECKED) ; Kontextmenueintrag: Haken bei Blau/Weiß löschen
    $Color = 'yellow\' ; Pfad zur Farbe setzen
    $BKColor = 0x000000 ; Hintergrundfarbe auswählen
    Global $H = -1, $M = -1, $S = -1, $W = -1 ; Stunden, Minuten, Sekunden und Tag auf -1 setzen, damit Anzeige refresht wird
    _DummyRefresh()
    EndFunc ;==>_ColorChangeY

    [/autoit] [autoit][/autoit] [autoit]

    Func _ColorChangeB()
    GUICtrlSetState($cmenub, $GUI_CHECKED) ; Kontextmenueintrag: Haken bei Blau/Weiß setzen
    GUICtrlSetState($cmenuy, $GUI_UNCHECKED) ; Kontextmenueintrag: Haken bei Gelb/Schwarz löschen
    $Color = 'blue\' ; Pfad zur Farbe setzen
    $BKColor = 0xffffff ; Hintergrundfarbe auswählen
    Global $H = -1, $M = -1, $S = -1, $W = -1 ; Stunden, Minuten, Sekunden und Tag auf -1 setzen, damit Anzeige refresht wird
    _DummyRefresh()
    EndFunc ;==>_ColorChangeB

    [/autoit] [autoit][/autoit] [autoit]

    Func _DummyRefresh()
    For $i = 0 To 1 ; Die Grafikdateien der Abstandshalter, Doppelpunkte und Punkte neu laden
    GUICtrlSetImage($DA[$i], $Path & $Color & 'nd.gif')
    GUICtrlSetImage($DA[2 + $i], $Path & $Color & 'nd.gif')
    GUICtrlSetImage($DA[4 + $i], $Path & $Color & 'nd.gif')
    GUICtrlSetImage($DP[$i], $Path & $Color & 'dp.gif')
    GUICtrlSetImage($DD[$i], $Path & $Color & 'd.gif')
    Next
    GUICtrlSetBkColor($label, $BKColor) ; Hintergrundfarbe der Anzeige setzen
    If BitAND(GUICtrlRead($trans), $GUI_CHECKED) Then _Newstart(); Wenn Transparent, dann Programm neustarten
    EndFunc ;==>_DummyRefresh

    [/autoit] [autoit][/autoit] [autoit]

    Func _End()
    $Pos = WinGetPos('Digitaluhr') ; die momentane Position der Uhr ermitteln und in dem Array $Pos speichern
    IniWrite($Ini, 'Position', 'X', $Pos[0]) ; X-Position in die Inidatei speichern
    IniWrite($Ini, 'Position', 'Y', $Pos[1]) ; Y-Position in die Inidatei speichern
    IniWrite($Ini, 'Style', 'OnTop', $OnTop) ; Den Wert von "Immer im Vordergrund" in die Inidatei speichern
    IniWrite($Ini, 'Style', 'Color', $Color) ; Den Wert der Anzeigefarbe in die Inidatei speichern
    IniWrite($Ini, 'Style', 'BKColor', $BKColor) ; Den Wert der Anzeigefarbe in die Inidatei speichern
    Exit ; Programm beenden
    EndFunc ;==>_End

    [/autoit] [autoit][/autoit] [autoit]

    Func _Newstart()
    If @Compiled Then ; Wenn das Script bereits kompiliert ist,
    Run(@AutoItExe) ; dann direkt aufrufen
    Else
    Run('"' & @AutoItExe & '" /ErrorStdOut "' & @ScriptFullPath & '"') ; sonst als Script
    EndIf
    _End() ; die Beenden-Funktion aufrufen
    EndFunc ;==>_Newstart

    [/autoit] [autoit][/autoit] [autoit]

    Func _Transparent()
    If BitAND(GUICtrlRead($trans), $GUI_CHECKED) Then ; Wenn Transparent,
    $ExStyle = $WS_EX_TOOLWINDOW ; dann neuer Stil = nicht transparent
    Else
    $ExStyle = BitOR($WS_EX_LAYERED, $WS_EX_TOOLWINDOW) ; sonst neuer Stil = transparent
    EndIf
    IniWrite($Ini, 'Style', 'ExStyle', $ExStyle) ; den neuen Stil in die Inidatei speichern
    _Newstart() ; und Programm neustarten
    EndFunc ;==>_Transparent

    [/autoit] [autoit][/autoit] [autoit]

    Func _OnTop()
    If $OnTop = 1 Then ; Wenn "Immer im Vordergrund" angehakt ist,
    $OnTop = 0 ; dann Wert auf Null setzen
    GUICtrlSetState($G_OnTop, $GUI_UNCHECKED) ; Haken entfernen
    Else
    $OnTop = 1 ; sonst Wert auf Eins setzen
    GUICtrlSetState($G_OnTop, $GUI_CHECKED) ; Haken setzen
    EndIf
    WinSetOnTop('Digitaluhr', '', $OnTop) ; und den Wert setzen
    EndFunc ;==>_OnTop

    [/autoit]


    Schönes WE und weiterhin viel Erfolg !

  • Progress Bar mit Bitmaps

    • RR04
    • 16. Mai 2008 um 20:40

    Hi Greenhorn,

    sieht richtig Gut aus, inzwischen kann man aus den verschiedenen Fortschrittsbalken wählen. ^^
    Gefällt mir gut.

    Schönes WE und weiterhin viel Erfolg!

  • Pic aus dlls holen

    • RR04
    • 16. Mai 2008 um 20:33

    Hi,
    IcoFX ist zB eine Möglichkeit ;)

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™