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. BugFix

Beiträge von BugFix

  • variable nach send +1 rechnen

    • BugFix
    • 12. Juni 2008 um 16:41

    Schau mal in der Hilfe unter For-Schleife.

  • Ordner suchen und löschen

    • BugFix
    • 12. Juni 2008 um 16:39

    Dein Label ($S3_Zeile01) hat nach der Erstellung folgenden Inhalt: "Die Software wurde" & $schonFertig & "installiert." - wobei $schon Fertig ein Leerstring ist.
    Wenn du der Variablen $schonFertig einen neuen Inhalt zuweist, weiß das aber dein Label nicht. Du mußt den Inhalt des Labels jetzt mit GUICtrlSetData neu festlegen. Bei den 3 Worten würde ich auf Variablen verzichten:
    - Label ohne Text erstellen
    - Fall1: GUICtrlSetData($Label, 'Text1')
    - Fall2: GUICtrlSetData($Label, 'Text2')

  • Inhalt eines ListViewItems editieren??

    • BugFix
    • 12. Juni 2008 um 16:15

    Hi,
    also SubItems lassen sich leider so nicht bearbeiten. Ich hab dir aber mal eine recht passable Lösung gebastelt.
    Beachte, dass der Style $LVS_EDITLABELS hierbei nicht aktiviert sein darf.
    Per Doppelklick auf einen Eintrag wird ein kleines Editfenster an dieser Position geöffnet. Das Ereignis zum Schließen des Fensters ist ENTER nach Ändern des Inhalts. Darum habe ich zusätzlich ESC als HotKey zum Schließen aktiviert, falls keine Änderung vorgenommen wird (sonst könnte das Fenster nicht geschlossen werden :) ).

    Spoiler anzeigen
    [autoit]

    #include<StaticConstants.au3>
    #include<GUIConstantsEx.au3>
    #include<ListViewConstants.au3>
    #include<StructureConstants.au3>
    #include<WindowsConstants.au3>
    #include <GUIListView.au3>
    Opt("GUIOnEventMode", 1)
    Global $currentItem[2], $title

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

    $gui = GUICreate('test')
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ende')
    $hListView = GUICtrlCreateListView('Spalte1|Spalte2|Spalte3', 10, 10, 300, 200, $LVS_REPORT)
    _GUICtrlListView_SetColumnWidth($hListView, 0, 70)
    _GUICtrlListView_SetColumnWidth($hListView, 1, 60)
    _GUICtrlListView_SetColumnWidth($hListView, 2, $LVSCW_AUTOSIZE_USEHEADER )
    For $i = 1 To 9
    GUICtrlCreateListViewItem('Z. ' & $i & ' - Sp. 1|Z. ' & $i & ' - Sp. 2|Z. ' & $i & ' - Sp. 3', $hListView)
    Next

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

    $EditBox = GUICreate('', 200, 30, -1, -1, BitOR($WS_POPUP,$WS_BORDER), $WS_EX_TOPMOST)
    $edit = GUICtrlCreateInput('', 5, 5, 190, 20, $SS_CENTER)
    GUICtrlSetOnEvent(-1, '_EditEnter')
    HotKeySet('{ESC}', '_escEdit')

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

    GUISetState(@SW_SHOW, $gui)
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")

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

    While True
    Sleep(100)
    WEnd

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

    Func _LeftDblClick($Info)
    If $Info[3] = -1 Then Return
    _GUICtrlListView_SetSelectedColumn($Info[1], $Info[4])
    $title = WinGetTitle($gui)
    Local $mouse = MouseGetPos(), $wndEdit = WinGetPos($EditBox)
    Local $wndGUI = WinGetPos($gui), $wndLV = ControlGetPos($gui, '', $hListView)
    Local $colInfo = _GUICtrlListView_GetColumn($Info[1], $Info[4]), $sumWidth = 0, $tmp
    WinSetTitle($gui, '', 'Editiere: Zeile ' & $Info[3]+1 & ', ' & $colInfo[5])
    For $i = 0 To $Info[4]
    $tmp = _GUICtrlListView_GetColumn($Info[1], $i)
    $sumWidth += $tmp[4]
    Next
    $sumWidth -= $colInfo[4]
    Local $xPos = $wndGUI[0]+$wndLV[0]+$sumWidth
    If $xPos+$colInfo[4]+10 > @DesktopWidth Then $xPos = @DesktopWidth - ($colInfo[4] + 10)
    WinMove($EditBox, '', $xPos, $mouse[1]-$wndEdit[3], $colInfo[4]+10)
    GUICtrlSetData($edit, _GUICtrlListView_GetItemText($Info[1], $Info[3], $Info[4]))
    $currentItem[0] = $Info[3]
    $currentItem[1] = $Info[4]
    GUISetState(@SW_SHOW, $EditBox)
    EndFunc

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

    Func _escEdit()
    WinSetTitle($gui, '', $title)
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

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

    Func _EditEnter()
    WinSetTitle($gui, '', $title)
    _GUICtrlListView_SetItemText($hListView, $currentItem[0], GUICtrlRead($edit), $currentItem[1])
    GUISetState(@SW_HIDE, $EditBox)
    EndFunc

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

    Func _ende()
    Exit
    EndFunc

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

    Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView
    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iIDFrom = DllStructGetData($tNMHDR, "IDFrom")
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
    Case $hWndListView
    Switch $iCode
    Case $NM_DBLCLK ; Sent by a list-view control when the user double-clicks an item with the left mouse button
    Local $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
    Local $aInfo[12] = [$hWndFrom, _
    $iIDFrom, _
    $iCode, _
    DllStructGetData($tInfo, "Index"), _
    DllStructGetData($tInfo, "SubItem"), _
    DllStructGetData($tInfo, "NewState"), _
    DllStructGetData($tInfo, "OldState"), _
    DllStructGetData($tInfo, "Changed"), _
    DllStructGetData($tInfo, "ActionX"), _
    DllStructGetData($tInfo, "ActionY"), _
    DllStructGetData($tInfo, "lParam"), _
    DllStructGetData($tInfo, "KeyFlags")]
    _LeftDblClick($aInfo)
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit]


    Edit: Hab nach eine Codezeile eingefügt, um zu verhindern, dass bei einem Klick am rechten Bildschirmrand, das Eingabefenster außerhalb des Desktopbereiches erscheint.
    Edit2: Noch eine Verbesserung, das Eingabefenster paßt sich automatisch an die Breite der angeklickten Spalte an.
    Und wegen der besseren Optik markieren wir auch gleich noch die Spalte ;)

    Und noch ein bischen geschraubt :D
    Das Eingabefenster liegt jetzt immer exakt über der angeklickten Spalte.

    Noch eine Erweiterung: während des Editierens werden im Fenstertitel Zeilennummer und Spaltenbezeichnung angezeigt.

  • Ordner suchen und löschen

    • BugFix
    • 12. Juni 2008 um 14:28

    Du prüfst doch, ob installiert werden muß. Falls ja, beginnt die Installation und an deren Ende gibst die Meldung aus: "Installation erfolgreich".
    Falls nein, gibst du nur die Meldung aus: "Installation nicht erforderlich".

  • Script wird manchmal zu schnell ausgeführt

    • BugFix
    • 11. Juni 2008 um 22:46
    Zitat von Snoop

    dass die Scripts manchmal schneller laufen als sie progammiert wurden.


    CPU-Last unterschiedlich z.B.
    [Scherz]
    Meine Skripte laufen alle schneller, als ich gebraucht habe, sie zu programmieren. :D
    [/Scherz]

  • EM Liveticker + Livestream (ARD/ZDF)

    • BugFix
    • 11. Juni 2008 um 20:39

    Also dass die Wiedergabe sich aufgehängt hat, lag vermutlich daran, dass die Übertragung von ARD kam. Die schaffen es leider immer noch nicht, einen dauerhaft funktionierenden Stream zu produzieren.
    Schon komisch, denn der Stream vom ZDF ist absolute Klasse und kommt mit 1064 Kbit/s. Der beste ZDF-Stream ist: http://wgeostreaming.zdf.de/encoder/livestream15_vh.asx. Der ist nicht nur während der Spiele geschaltet.

  • Wo finde ich Doku zu den auoIt Klassenbibliotheken

    • BugFix
    • 11. Juni 2008 um 18:22
    Zitat von rolfschau

    Mit dem was da in der Funkrtionreferenz steht, kommt man ja nicht so weit.


    Dabei hilft die Hilfe ;)
    Wenn ein Befehl ein Include erfordert, so ist in der Hilfe das zugehörige Include aufgeführt.
    Bsp.:

    Zitat

    #Include <Array.au3>
    _ArrayDisplay(Const ByRef $avArray[, $sTitle = "Array: ListView Display"[, $iItemLimit = -1[, $iTranspose = 0[, $sSeparator = ""[, $sReplace = "|"]]]]])

    Xenobiologist hat ein Tool OrganizeIncludes erstellt, dass die Auswahl notwendiger Includes vornimmt.
    Die Includ-Dateien findest du in deiner AutoIt-Installation, i.A. unter "C:\Programme\AutoIt3\Include"

  • Funktionen verschachteln

    • BugFix
    • 11. Juni 2008 um 18:05
    [autoit]

    Func _ButtonClick()
    _BlaFunktion1()
    _BlaFunktion2()
    _BlaFunktion3()
    EndFunc

    [/autoit]
  • Wo finde ich Doku zu den auoIt Klassenbibliotheken

    • BugFix
    • 11. Juni 2008 um 17:56
    Zitat von rolfschau

    Ok, aber was ist dann System.Collections.ArrayList ?
    Irgendwoher muss das doch kommen und es sollte eine Doku dazu geben ?


    Das ist ein NET-Framework Objekt. Doku findest du bei MSDN

    Wie schon gesagt, man kann mit AutoIt Referenzen auf verschiedene Objekte erzeugen. z.B. Word-Objekt, Excel-Objekt, Outlook-Objekt...
    Wenn dies von allgemeinem Interesse ist, werden z.T. die daraus resultierenden UDF in die AutoIt-Version übernommen (s. Word-Management).

  • Ordner suchen und löschen

    • BugFix
    • 11. Juni 2008 um 17:48

    Hi,
    ich hab mal einige Korrekturen gemacht. Markiert mit "####################".
    Du verwendest noch nicht Version 3.2.12.0 - steig mal um ;)

    Spoiler anzeigen
    [autoit]

    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_outfile=PDFMAILER-Install.exe
    #AutoIt3Wrapper_Compression=4
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;
    ; AutoIt Version: 3.2.10
    ; Platform: WinXP
    ; Author: Iwu74
    ;
    ; Script Function:
    ; Open Project Installation
    ;

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

    AutoItSetOption("TrayIconHide", 1) ; versteckt das Icon in der Trayleiste, somit keine Funktionionen über Trayicon (beenden etc.)

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

    #region - Global
    Global $Paused
    Global $str
    Global $oFSO = ObjCreate('Scripting.FileSystemObject') ; ######################
    Global $Path = 'D:\Profile\Dokumente und Einstellungen' ; ######################
    Global $strPath = '' ; ######################
    $ProjectName = "PDFMAILER V4" ; Name des Programms. Wird an alle Fenster weiter gegeben.
    $Version = "0.7"
    $Erstellt = "Juni 2008"
    $Erteller = "wu2"
    $Abteilung = "IL"
    #endregion - Global

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

    ;===============================================================
    ;===============================================================

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

    #region - Dateien ins Skript einbinden
    ;~ FileInstall("H:\Auto-IT\Scripte\UpdatePack\Logo_klein.gif", "C:\Temp\Install\UpdatePacks\Logo_klein.jpg", 1)
    #endregion - Dateien ins Skript einbinden

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

    ;===============================================================
    ;===============================================================

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

    #region - HotKeys
    HotKeySet("{PAUSE}", "TogglePause") ;Skript wird unterbrochen und zeigt ToolTip an
    HotKeySet("{ESC}", "_Exit") ;zeigt Abbrechen Fenster an
    HotKeySet("{F1}", "Info") ; zeigt Hilfe Fenster an
    HotKeySet("^!x", "_AdminExit") ; beendet Skript, wenn Strg+Alt+X gedrückt wird
    #endregion - HotKeys

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

    ;===============================================================
    ;===============================================================

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

    #include <GuiConstants.au3> ; Wichtig zum erzeugen von einer GUI (OHNE keine GUI)
    #Include <GuiStatusBar.au3> ; Wichtig zum erzeugen von Statusbar (OHNE kein STATUSBAR)
    Opt("GUIOnEventMode", 1) ; Wechsle in den OnEvent Modus
    Opt("RunErrorsFatal", 0) ;1=fatal, 0=silent set @error ########################## GIBT ES NICHT MEHR in 3.2.12.0 #############

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

    GUISetOnEvent($GUI_EVENT_CLOSE, "_Exit") ; Legt fest, was passiert, wenn man das Fenster schließt

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

    #region - Seite1
    ; Erzeugen der Ersten Seite
    $Seite01 = GUICreate($ProjectName, 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 400, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY,$WS_GROUP))
    $GraphicS1_1 = GUICtrlCreateGraphic(20, 100, 600, 280)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $S1_Zeile01 = GUICtrlCreateLabel("Es wird jetzt der PDFMailer V4 installiert.", 30, 110, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile03 = GUICtrlCreateLabel("Die Installtion wird ca. 5 Minuten dauern.", 30, 170, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile04 = GUICtrlCreateLabel("Eventuell vorab installierte Versionen werden gelöscht.", 30, 200, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile06 = GUICtrlCreateLabel("Am Ende wird ein maxx PDFMailer Drucker in der Druckerliste erscheinen.", 30, 260, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile08 = GUICtrlCreateLabel("Sie können mittels des Abbrechen-Knopfes die Installation bis zum nächsten", 30, 320, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S1_Zeile09 = GUICtrlCreateLabel("Neustart verhindern.", 30, 350, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $StartButton01 = GUICtrlCreateButton("START", 50, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($StartButton01, "Seite01_OK")
    $AbbrechenButton01 = GUICtrlCreateButton("Abbrechen", 260, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetColor(-1, 0xFF0000)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($AbbrechenButton01, "_Exit")
    $HilfeButton01 = GUICtrlCreateButton("Hilfe", 470, 400, 100, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($HilfeButton01, "Hilfe")
    #endregion - Seite1

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

    #region - Seite2
    ; Erzeugen der zweiten Seite
    $Seite02 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_APPWINDOW)
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 396, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
    $GraphicS2_1 = GUICtrlCreateGraphic(168, 100, 308, 270)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $GraphicS2_2 = GUICtrlCreateGraphic(168, 380, 308, 60)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $Versionkontrolle = GUICtrlCreateLabel("Versionskontrolle", 180, 110, 149, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $ALTloeschen = GUICtrlCreateLabel("Alte Version löschen", 180, 140, 150 , 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Install = GUICtrlCreateLabel("Programminstallation", 180, 170, 170, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Feld_Fertig = GUICtrlCreateLabel(" ", 185, 400, 270, 22)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Versionkontrolle_Fertig = GUICtrlCreateLabel(" ", 410, 110, 37, 20) ; siehe unten in der funktion
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $ALTloeschen_Fertig = GUICtrlCreateLabel(" ", 410, 140, 37, 20)
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $Install_Fertig = GUICtrlCreateLabel(" ", 410, 170, 37, 20)
    GUICtrlSetFont(-1, 10, 400, 2, "Arial")
    GUICtrlSetColor(-1, 0x008080)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    #endregion - Seite 2

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

    #region Statusbar Seite 2
    ; Erzeugen eines Statusbar mit 5 Feldern, davon 2 Progressbars
    Local $StatusBar1, $ProgressBar1, $ProgressBar2, $Progress1 = 0, $Progress2 = 0
    Local $a_Parts[5] = [169, 309, 335 , 475, -1] ; ProgressFelder und StartBreite = 140
    $StatusBar1 = _GUICtrlStatusBar_Create ($Seite02); Erzeugt eine Statusbar bei der $Seite02
    _GUICtrlStatusBar_SetMinHeight ($StatusBar1, 20); Setzt die Höhe der Statusbar
    _GUICtrlStatusBar_SetParts ($StatusBar1, $a_Parts) ; Setzt fest, aus wie vielen Teilen die Statusbar bestehen soll
    $progressBar1 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
    $progressBar2 = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH) ; Erzeugt einen Prozessbalken
    $hProgress1 = GUICtrlGetHandle($progressBar1) ; Erlaubt das "Händling" des Prozessbalkens
    _GUICtrlStatusBar_EmbedControl ($StatusBar1, 1, $hProgress1) ; legt fest, in welcher Spalte der erste Prozessbalken laufen soll
    $hProgress2 = GUICtrlGetHandle($progressBar2) ; Erlaubt das "Händling" des Prozessbalkens
    _GUICtrlStatusBar_EmbedControl ($StatusBar1, 3, $hProgress2) ; legt fest, in welcher Spalte der zweite Prozessbalken laufen soll
    GUICtrlSetColor($ProgressBar1,32250); setzt die Farbe für den ersten "Laufbalken"
    #endregion Statusbar Seite 2

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

    #region -Seite 3
    ; Erzeugen der dritten Seite
    $Seite03 = GUICreate($ProjectName , 641, 481, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST) ;, $WS_EX_APPWINDOW
    $Ueberschrift = GUICtrlCreateLabel($ProjectName & " Installation", 30, 30, 396, 36)
    GUICtrlSetFont(-1, 20, 800, 0, "Arial")
    $Logo = GUICtrlCreatePic("C:\Temp\Install\PDFMailer-V4\Logo_klein.gif", 430, 15, 200, 41, BitOR($SS_NOTIFY, $WS_GROUP))
    $GraphicS3_1 = GUICtrlCreateGraphic(20, 100, 600, 290)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetColor(-1, 0x000000)
    $S3_Zeile01 = GUICtrlCreateLabel("Die Software wurde erfolgreich installiert.", 30, 110, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile02 = GUICtrlCreateLabel("Viel Spaß beim Benutzen des Programms.", 30, 170, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile03 = GUICtrlCreateLabel("Info:", 30, 230, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile04 = GUICtrlCreateLabel("Sie können jetzt ISO Zertifizierte PDF/A Dateien erzeugen.", 30, 260, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile05 = GUICtrlCreateLabel("_______________", 30, 300, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile06 = GUICtrlCreateLabel("Informationslogistik", 30, 320, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile07 = GUICtrlCreateLabel("Team System", 30, 340, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $S3_Zeile08 = GUICtrlCreateLabel("wu2", 30, 360, 570, 22)
    GUICtrlSetFont(-1, 12, 400, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    $BeendenButton = GUICtrlCreateButton("Beenden", 270, 410, 80, 50, 0)
    GUICtrlSetFont(-1, 12, 800, 0, "Arial")
    GUICtrlSetBkColor(-1, 0xC0C0C0)
    GUICtrlSetOnEvent($BeendenButton, "_AdminExit")
    #endregion - Seite 3

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

    ;===============================================================
    ;===============================================================

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

    #region - Startet erste Seite
    GUISetState(@SW_SHOW, $Seite01)
    #endregion - Startet erste Seite

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

    ;===============================================================
    ;===============================================================

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

    #region - Schleife
    While 1
    Sleep (1000)
    WEnd
    Exit
    #endregion - Schleife

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

    ;===============================================================
    ;===============================================================

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

    #region - Funktion Seite 1
    Func Seite01_OK()
    Sleep(1000)
    GUISetState( @SW_SHOW, $Seite02 ) ;öffnet Seite02
    GUISetState( @SW_HIDE, $Seite01 ) ;versteckt Seite01
    Sleep(2000)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installations Status Gesamt", 4)
    $Progress1 = 0 ; setzt die erste Statusbar auf 0
    $Progress2 = 0 ; setzt die zweite Statusbar auf 0
    ;~ ***********************
    Func_Install()
    ;~ ***********************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation beendet", 4)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation beendet", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 100)
    Sleep(2000)
    GUISetState( @SW_SHOW, $Seite03 ) ;öffnet Seite03
    GUISetState( @SW_HIDE, $Seite02 ) ;versteckt Seite02
    EndFunc ;==>Seite01_OK
    #endregion - Funktion Seite 1

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

    ;---------------------------------------------------------------

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

    #region - Funktion Seite 3
    Func Neustart()
    Sleep(500)
    ProgressOn("Neustart", "Laufzeit", "0 Sek bis Neustart")
    For $i = 1 To 60 Step 1
    Sleep(1000)
    ProgressSet($i, 60 - $i & " Sekunden bis Neustart")
    Next
    ProgressSet(100, "Laufzeit", "Neustart wird ausgelöst")
    Sleep(1000)
    ProgressOff()
    Shutdown(2)
    Exit
    EndFunc ;==>Neustart

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

    ;---------------------------------------------------------------

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

    Func Neustart2()
    Sleep (2000)
    Shutdown (2)
    Exit
    EndFunc ;==>Neustart2
    #endregion - Funktion Seite 3

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

    ;===============================================================
    ;===============================================================

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

    #region - Installationen
    ;~ ***************************************************
    Func Func_Install()
    ;===============================================================
    GUICtrlSetData($Feld_Fertig, "Versionskontrolle")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle", 0)
    GUICtrlSetData($Versionkontrolle_Fertig, "läuft")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 10)
    $i = 0
    ; Abfragen V3
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{528EC8F4-1C19-41BA-80A1-0B5EA21BA628}","DisplayName")
    If @error = 1 then ; Wenn keine Alte Version gefunden wurde, dann 2
    $i = $i + 2
    Else ; Wenn Alte Version gefunden, dann Wert auf 4
    $i = $i + 4
    GUICtrlSetData ($ProgressBar1, $Progress1 + 50)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
    EndIf
    Sleep(1000)
    ; Abfragen V4
    ; ----------------------------------------------------------
    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{01310914-E3B8-40E8-BCF7-9C42E0639A43}","DisplayName")
    If @error = 1 then ; Wenn keine Neue Version gefunden wurde, dann Wert 8
    $i = $i + 8
    Else ; Wenn Neue Version gefunden wurde, dann Wert 16
    $i = $i + 16
    EndIf
    Sleep(500)
    _GUICtrlStatusBar_SetText ($StatusBar1, "Versionskontrolle beendet", 0)
    GUICtrlSetData($Versionkontrolle_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 30)
    Sleep(2000)
    ; ******************** Verarbeitung ************************
    Select
    Case $i = 10 ; Alt Nein - Neu Nein / Install
    ; ************ Kein Deinstallation *****************
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    Sleep(5000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 4.1.40")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""C:\Temp\Install\PDFMailer-V4\pdfmailer4de.msi"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(5000)
    ShellExecuteWait("C:\Temp\Install\PDFMailer-V4\einst.bat", "", @SW_HIDE)
    If @error = 1 then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL"); bei Fehler MSGBOX und Exit
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    ; ******************************************************
    Case $i = 12 ; Alt Ja - Neu Nein / Deinstall Alt + Install Neu
    ; ************ Deinstallation ************************
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version wird gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "läuft")
    _GUICtrlStatusBar_SetText ($StatusBar1, "Deinstallation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 20)
    Sleep(500)
    ProcessClose("EXCEL.EXE") ; Excel beenden falls geöffnet
    $PID = ProcessExists("EXCEL.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("WINWORD.EXE") ; Word beenden falls geöffnet
    $PID = ProcessExists("WINWORD.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    ProcessClose("POWERPNT.EXE") ; Powerpoint beenden falls geöffnet
    $PID = ProcessExists("POWERPNT.EXE")
    If $PID Then ProcessClose($PID)
    Sleep(500)
    ProcessClose("GEngine.EXE") ; PDFMAILER beenden falls geöffnet
    $PID = ProcessExists("GEngine.EXE")
    If $PID Then ProcessClose($PID)
    sleep(500)
    ProcessClose("PDFMailerApp.EXE") ; PDFMAILER beenden falls geöffnet
    $PID = ProcessExists("PDFMailerApp.EXE")
    If $PID Then ProcessClose($PID)
    sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    Sleep(500)
    RunWait("C:\WINDOWS\system32\msiexec.exe" & " /x{528EC8F4-1C19-41BA-80A1-0B5EA21BA628}" & " /qb" & " /norestart", "", @SW_HIDE)
    Sleep(5000)
    ; ************************************************
    ; ************************************************
    ; ------------------------------------------------
    ;~ Dim $oFSO = ObjCreate('Scripting.FileSystemObject') ; muß global deklariert werden!! ==> s. Skriptanfang
    ;~ Dim $Path = 'D:\Profile\Dokumente und Einstellungen'
    ;~ Dim $str = ''
    _ShowSubFolders($oFSO.GetFolder($Path))

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

    ;~ func _ShowSubFolders($Folder) ############ Funktionen können nicht in Funktionen erstellt werden!! #######
    ;~ For $Subfolder in $Folder.SubFolders
    ;~ $strPath &= $Subfolder.Path & @LF
    ;~ _ShowSubFolders($Subfolder)
    ;~ Next
    ;~ EndFunc
    $aAllFolder = StringSplit($strPath, @LF)
    For $su = 1 To UBound($aAllFolder) -1
    If StringInStr($aAllFolder[$su], 'gotomaxx') And $oFSO.FolderExists($aAllFolder[$su]) Then _
    $oFSO.DeleteFolder($aAllFolder[$su])
    Next

    ; ------------------------------------------------
    ; ************************************************
    ; ************************************************
    Sleep(5000)
    If FileExists("c:\temp\install\PDFMailer") Then DirRemove("c:\temp\install\PDFMailer", 1) ; Löscht Verzeichniss des alten PDFMailers
    Sleep(2000)
    If FileExists("C:\Programme\gotomaxx") Then DirRemove("C:\Programme\gotomaxx", 1) ; Löscht Verzeichniss des alten PDFMailers
    Sleep(2000)
    RunWait("cscript c:\windows\system32\prnmngr.vbs -d -p ""maxx PDFMAILER Standard""","", @SW_HIDE) ; Löscht den Drucker, falls er nicht Deinstalliert wurde
    Sleep(2000)
    GUICtrlSetData($Feld_Fertig, "Alte Version gelöscht")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 50)
    Sleep(2000)
    ; ************ Installation *****************
    _GUICtrlStatusBar_SetText ($StatusBar1, "Installation", 0)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 10)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 60)
    GUICtrlSetData($Install_Fertig, "läuft")
    GUICtrlSetData($Feld_Fertig, "Installation Version 4.1.40")
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 20)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 70)
    Sleep(500)
    $Return = RunWait("msiexec /i ""C:\Temp\Install\PDFMailer-V4\pdfmailer4de.msi"" /qn", "", @SW_HIDE)
    If @error = 1 Or ($Return > 1600 And $Return < 1650 ) then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL" & @CRLF & "MSI-Fehler-Code: " & $Return); bei Fehler MSGBOX und Exit
    Sleep(5000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 60)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(5000)
    ShellExecuteWait("C:\Temp\Install\PDFMailer-V4\einst.bat", "", @SW_HIDE)
    If @error = 1 then Exit MsgBox(262160, "Fehlermeldung", "Es ist ein Fehler aufgetreten, bitte melden Sie sich bei der IL"); bei Fehler MSGBOX und Exit
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 90)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 90)
    Sleep(2000)
    ; ******************************************************
    Case Else ; Nix machen
    ; ************ Kein Deinstallation *****************
    Sleep(2000)
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 40)
    GUICtrlSetData($Feld_Fertig, "Deinstallation nicht nötig")
    GUICtrlSetData($ALTloeschen_Fertig, "fertig")
    Sleep(3000)
    ; ************ Kein Installation *******************
    GUICtrlSetData($Install_Fertig, "fertig")
    GUICtrlSetData($Feld_Fertig, "PDFMailer V4 schon installiert")
    GUICtrlSetData ($ProgressBar1, $Progress1 + 100)
    GUICtrlSetData ($ProgressBar2, $Progress2 + 80)
    Sleep(3000)
    ; ******************************************************
    EndSelect

    ; **********************************************************
    EndFunc

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

    ;~ ***************************************************
    ;~ ****** Suchfunktion ******
    Func _ShowSubFolders($Folder)
    For $Subfolder in $Folder.SubFolders
    $strPath &= $Subfolder.Path & @LF
    _ShowSubFolders($Subfolder)
    Next
    EndFunc
    ;~ ***************************************************

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

    #region - Generelle Funktionen
    ;******** Beenden mit Nachfrage = ESC oder Abbrechen oder auf X im Fenster
    Func _Exit()
    $Box = MsgBox(262452, "Installation abbrechen", "Wenn Sie jetzt die Installation abbrechen, wird sie beim nächsten Neustart wieder gestartet." & @CRLF & @CRLF & "Wirklich beenden?")
    If $Box = 6 Then
    Exit
    EndIf
    EndFunc ;==>_Exit
    ;---------------------------------------------------------------

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

    ;******** Skript per Hotkey beenden = Strg + Alt + X **********
    Func _AdminExit()
    Exit
    EndFunc ;==>_AdminExit
    ;---------------------------------------------------------------

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

    ;******** Skript per Hotkey pausieren = Pause Taste **********
    Func TogglePause()
    $Paused = Not $Paused
    While $Paused
    Sleep(100)
    ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
    EndFunc ;==>TogglePause
    ;---------------------------------------------------------------

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

    ;******** Info *************************************************
    Func Info() ; Zeigt Hilfe Fenster an
    MsgBox(262208, "Info", $ProjectName & " Installation" & @CRLF & "Version: " & $Version & @CRLF & "Erstellt: " & $Erstellt & @CRLF & "Ersteller: " & $Erteller & @CRLF & "Abteilung: " & $Abteilung& @CRLF & "Mit Freundlicher Unterstützung des AutoIT Forums" & @CRLF & "Special THX an BugFix und Progandy")
    EndFunc ;==>Info
    ;---------------------------------------------------------------

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

    ;******** Hilfe ************************************************
    Func Hilfe()
    MsgBox(262176, "Hilfe", "Haben Sie Fragen zu dieser Installation," & @CRLF & "dann rufen Sie bitte den Helpdesk " & @CRLF & "" & @CRLF & "unter Tel. 2000 an.")
    EndFunc ;==>Hilfe

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

    #endregion - Generelle Funktionen
    ;---------------------------------------------------------------

    [/autoit]
  • mehrere Aufgaben zugleich?

    • BugFix
    • 10. Juni 2008 um 21:31

    Echtes Multitasking geht nicht mit AutoIt. Du kannst einiges mit AdlibEnable simulieren.
    Es gibt auch eine UDF, die Multitasking versucht zu simulieren. Suche mal im EN-Forum.

  • Hide all

    • BugFix
    • 10. Juni 2008 um 21:27
    Zitat von commonleader

    warum soll ich control dingens nehmen?


    Weil MouseMouve / MouseClick nur der allerletzte Notnagel ist, wenn nichts anderes funktioniert. Ein Control über dessen Koordinaten anzusprechen birgt immer die Gefahr, dass du nabenhaust. ;)

  • daten aus einem 2-D-Array vergleichen

    • BugFix
    • 10. Juni 2008 um 18:22

    Alle Fehlermeldungen beziehen sich darauf, dass die verwendeten Variablen z.B. erstmals innerhalb einer Funktion verwendet (somit als Local deklariert) werden und dann außerhalb der Funktion weitergenutzt werden sollen.
    Am Skriptanfang alle betroffenen Variablen als Global deklarieren.

  • AutoIT Filemove

    • BugFix
    • 10. Juni 2008 um 17:06

    [OT]
    Du hast als Avatar Bayern München.. Ist das nicht der Verein, wo der *Auf-Holländisches-Tor-Schieß-Verweigerer* Luca Toni spielt? :rofl:
    [/OT]

  • Wo finde ich Doku zu den auoIt Klassenbibliotheken

    • BugFix
    • 10. Juni 2008 um 16:53

    Ich hatte dazu mal eine Zusammenstellung gemacht: UDF-Sammlung Array Alternativen

    Anmerkung:
    AutoIt selber hat keine Klassenbibliotheken, da es keine Objektorientierte Sprache ist. Die aufgeführten Bsp. nutzen die Möglichkeit, sich per Referenz auf ein Objekt, dessen Methoden verfügbar zu machen.

  • AutoIT Filemove

    • BugFix
    • 10. Juni 2008 um 16:50

    & ist ein Stringoperator, d.h. damit werden Zeichenketten zusammengefügt.
    Wenn ein Teil der Zeichenkette in einer Variablen steht wird halt die Variable angefügt.
    z.B.

    [autoit]

    $a = "Text1" & "-Text2"
    MsgBox(0, '', $a) ; ergibt: "Text1-Text2"
    $a = "Text1"
    $b = "-Text2"
    $c = $a & $b
    MsgBox(0, '', $c) ; ergibt wieder: "Text1-Text2"

    [/autoit]
  • AutoIT Filemove

    • BugFix
    • 10. Juni 2008 um 16:35

    :D Hatte gar nicht gesehen, dass das Datum da mit reingequetscht war.

    [autoit]

    FileMove(@UserProfileDir & "\Eigene Dateien\Firefox 2.0.0.14 (de) - " & $2 & ".xxx", $1 & ":\")

    [/autoit]
  • Import CSV Datei

    • BugFix
    • 10. Juni 2008 um 16:31

    Ich glaube, jetzt verstehe ich. Du möchtest die Datei in einen OU-Container des AD stecken und von dort kann sich dann jeder User diese Datei importieren. Oder doch anders?

  • AutoIT Filemove

    • BugFix
    • 10. Juni 2008 um 16:14
    [autoit]

    FileMove("C:\Dokumente und Einstellungen\$3\Eigene Dateien\Firefox 2.0.0.14 (de) - $2.xxx", $1 & ":\")

    [/autoit]

    Und aktuellen Nutzer brauchst du nicht abfragen - nimm: @UserName.

  • daten aus einem 2-D-Array vergleichen

    • BugFix
    • 10. Juni 2008 um 16:08

    1. Du verwendest beim Scan Schrittweite 5. Ist das gewollt? Das bedeutet, dass aus einem 5x5 Pixel großen Raster nur die erste gefundene Koordinate zurückgegeben wird.

    2. Gib mir bitte mal die ganze Fehlermeldung, kopier sie aus der Commandline von SciTE. Hier in dem gezeigten Code ist nicht ersichtlich, wo eine fehlerhafte Deklaration sein soll. Kopier bitte den Verweis auf die Fehlerzeile und auch die entsprechende Zeile im Skript.

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™