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

  • Treeview und Ini

    • BugFix
    • 1. Oktober 2009 um 14:19

    Die Frage ist doch eher, was hältst du davon? Du mußt doch damit arbeiten und es muß in dein Gesamtkonzept passen.
    Bekanntlich führen viele Wege nach Rom und jeder hier würde irgendwo eine andere Gasse nehmen. :D
    Lerne strukturiert zu arbeiten. Das spart viel Zeit und Probiererei. Jede Arbeit sollte mit einem Konzept beginnen. Zumindest solltest du dieses vor deinem geistigen Auge haben. Planlos mal hier, mal da zu frickeln führt zu nix. ;)

  • GUI Progress

    • BugFix
    • 1. Oktober 2009 um 14:13
    Zitat von SchrotterCh

    und damit hat alles 25% und er macht alles immer wann er es fertig hat oder am ende dann 25% mehr dazu?

    da ändert er doch dann einfach am ende allesauf 25% oder gibt es nicht ne möglich keit das er wie bei einer installation immer mit geht um so mehr er hat und nicht immer so springt?

    JEDES Sleep erstezen! Einmal setzt du 25, nach dem zweiten 50,...nach dem vierten und letzten 100.
    Pure Mathematik ;)

  • Mehr infos zu Fileinstall

    • BugFix
    • 1. Oktober 2009 um 12:45

    Bei FileInstall darf als Quelle KEINE Variable oder Makro verwendet werden! Dort muß immer ein Pfad als String eingefügt werden.

    Oder du nutzt dieses: Fremddateien "includen" (ohne FileInstall)
    Da kannst du sowohl Makros als auch Variablen verwenden.

  • GUI Progress

    • BugFix
    • 1. Oktober 2009 um 12:42

    Schmeiß deine Sleep(500) raus - sind eh unsinnig - und füge dort einfach

    [autoit]

    GuiCtrlSetData($progress, 25) ; bzw. 50, 75, 100

    [/autoit]

    ein.

  • Treeview und Ini

    • BugFix
    • 1. Oktober 2009 um 12:37

    Ich wiederhole es nochmal: Mach dich mal mit den TreeView-Funktionen vertraut.

    Lies dir die Befehle in der Hilfe durch, da steht dabei, was sie tun.
    Parent - da bekommst du die nächst höhere Ebene, Child - die nächst tiefere, Sibling sind Geschwister - also gleiche Ebene.

    Ich vermute eher, dass du gar keinen Plan hast, wie du vorgehen sollst.
    Für diesen Fall gilt: Pseudo Code
    Also Aufschreiben, wie du es per Hand/Auge machen würdest.
    z.B.
    - gucke was geklickt ist
    - ist dort die Info, die ich brauche?
    - Ja -> OK
    - Nein -> gucke eine Ebene höher
    usw. usf.

    Und ERST DANN daraus den Code erstellen.

  • Domänen logon log erstellen

    • BugFix
    • 1. Oktober 2009 um 11:41

    Alles was du willst, läßt sich mit StdInWrite, StdoutRead erledigen.

  • Treeview und Ini

    • BugFix
    • 1. Oktober 2009 um 11:36

    Mach dich mal mit den TreeView-Funktionen vertraut.
    Wenn du im angeklickten Item nicht die gewünschte Info findest,laß dir das Parent zurückgeben, das muß ja dann: Forms, filemon oder cisco sein. Und schon weißt du dein Ziel.

  • Treeview und Ini

    • BugFix
    • 1. Oktober 2009 um 11:23
    Zitat von subzero007

    consolewrite = C:\backupordner\29.09.2009\filemon

    Funktioniert aber jetzt kriege ich die die verknüfung nicht zur ini hin also an die Quelle??

    [Quelle-Ziele]
    C:\filemon=C:\backupordner\29.09.2009
    C:\cisco=C:\backupordner\29.09.2009
    C:\Forms=C:\backupordner\29.09.2009

    Na, klingelts? Du brauchst nur vom ausgelesenen Backupordner den Teil nach dem letzten Backslash selektieren (filemon) fügst davor einfach 'C:\' an und fertig ist die Laube.

  • automatisch Tastenkombination nach 5 minuten ohne Eingabe möglich ?

    • BugFix
    • 1. Oktober 2009 um 11:15
    Zitat von maxl

    schön wäre wenn ich vor dem senden der Tastenkombination auf den richtigen Task wechseln könnte falls dieser nicht aktiv ist


    Beende den Process nicht mit Send-Befehl (immer eine unschöne Sache), sondern kill ihn. :D
    ProcessClose ( "process")

  • Rechtsklick auf Controls auswerten

    • BugFix
    • 1. Oktober 2009 um 11:09

    Hab auch eine gaaanz einfache Möglichkeit. ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <WindowsConstants.au3>
    Opt("GUIOnEventMode", 1)

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

    $Form1 = GUICreate("Form1", 377, 275, 192, 114)
    GUISetOnEvent($GUI_EVENT_CLOSE, "Form1Close")
    GUISetOnEvent($GUI_EVENT_SECONDARYDOWN, "Right_click")
    $Button1 = GUICtrlCreateButton("Button1", 32, 24, 81, 25, $WS_GROUP)
    $Button2 = GUICtrlCreateButton("Button2", 32, 64, 81, 25, $WS_GROUP)
    $Input1 = GUICtrlCreateInput("Input1", 136, 24, 137, 21)
    $Input2 = GUICtrlCreateInput("Input2", 136, 64, 137, 21)
    $Label1 = GUICtrlCreateLabel("Label1", 296, 24, 36, 17)
    $Label2 = GUICtrlCreateLabel("Label2", 296, 64, 36, 17)
    $ListView1 = GUICtrlCreateListView("Sp. 1|Sp. 2|Sp. 3", 32, 104, 305, 113)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 50)
    GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 2, 50)
    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    #cs Im GUIGetMsg-Mode:
    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    Form1Close()
    Case $GUI_EVENT_SECONDARYDOWN
    Right_click()
    EndSwitch
    WEnd
    #ce

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

    Func Form1Close()
    Exit
    EndFunc

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

    Func Right_click()
    $cursor = GUIGetCursorInfo($Form1)
    ConsoleWrite('Rechtsklick auf Control' & @LF & 'ID: ' & $cursor[4] & @LF & _
    'Text: ' & ControlGetText($Form1, '', $cursor[4]) & @CRLF)
    EndFunc

    [/autoit]
  • neues problem datenübertragung, bitte ganz schnell =(

    • BugFix
    • 1. Oktober 2009 um 10:43

    Vermutlich ist es dann besser nicht Zelle für Zelle auszulesen, sondern alles in ein Array einzufügen und dann dieses abzuarbeiten.
    Dazu bietet die Excel-UDF _ExcelReadSheetToArray($oExcel) an. Allerdings ist diese Funktion nicht für das Deutsche Excel geeignet (Notation R1C1 statt Z1S1). Deshalb mußt du eine kleine Änderung vornehmen. Habe im Code beschrieben, wie es geht.

    Spoiler anzeigen
    [autoit]

    ; Das Excel-Include ist fehlerhaft. Gehe in Scite mit dem Cursor auf #include <Excel.au3> und drücke: ALT+i
    ; Ändere im Include ab Zeile 780 auf Deutsche Notation:
    ;##############################################################################################################
    ; Extract integer last row and col
    Local $iLastRow = StringInStr($sLastCell, "Z");"R") <== Z statt R
    Local $iLastColumn = StringInStr($sLastCell, "S");"C") <== S statt C
    $iLastRow = Number(StringMid($sLastCell, $iLastRow + 1, $iLastColumn - $iLastRow - 1))
    $iLastColumn = Number(StringMid($sLastCell, $iLastColumn + 1))

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

    ; Return 0's if the sheet is blank
    ;~ If $sLastCell = "R1C1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
    If $sLastCell = "Z1S1" And $oExcel.Activesheet.Cells($iLastRow, $iLastColumn).Value = "" Then Return $avRET
    ;##############################################################################################################
    ; Beim Speichern wirst du aufgefordert einen Neuen Dateinamen zu vergeben (Excel_DE.au3)

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

    #include <Excel_DE.au3> ; <== auf Deutsche Notation geändertes Include

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

    Local $sFilePath = @MyDocumentsDir & '\test.xls'
    Local $oExcel = _ExcelBookOpen($sFilePath, 0)

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

    ; Tabelle in Array lesen
    Local $arSheet = _ExcelReadSheetToArray($oExcel)
    If Not IsArray($arSheet) Then
    $oExcel.Quit
    Exit MsgBox(0, 'Fehler', 'Tabelle konnte nicht gelesen werden.')
    Else
    If $arSheet[0][0] = 0 And $arSheet[0][1] = 0 Then
    $oExcel.Quit
    Exit MsgBox(0, 'Fehler', 'Tabelle enthält keine Daten.')
    EndIf

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

    ; Arrayinhalt verarbeiten
    For $i = 1 To UBound($arSheet) -1
    For $j = 1 To UBound($arSheet, 2) -1
    ; Verarbeiten: $arSheet[$i][$j]
    Next
    Next
    $oExcel.Quit

    [/autoit]
  • Phatangeaben Program soll wie Explorer zu Datei fuehren

    • BugFix
    • 1. Oktober 2009 um 09:56

    Also einen einfachen Datei-Explorer.
    Hatte ich vor Urzeiten mal gemacht. :D
    Inklusive Doppelklick zum Ausführen der Dateien und Kontextmenü (Ausführen, Kopieren, Einfügen, Umbenennen, Löschen).

    Spoiler anzeigen
    [autoit]

    #include<GUIConstantsEx.au3>
    #include<ListBoxConstants.au3>
    #include<WindowsConstants.au3>
    #include <GuiListBox.au3>
    #include <File.au3>

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

    Global $aFile, $aFolder, $aPath[1] = [@HomeDrive & '\'], $currPath, $sUp = '[ EBENE HÖHER ]'
    Global $Safed = '[SHOC]' ; mit diesen Attributen gesperrt für: Ausführen, Umbenennen, Löschen

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

    $GUI = GUICreate("Simple Explorer",400,300)
    $label = GUICtrlCreateLabel('', 5, 5, 390, 53)
    $List = GUICtrlCreateList( '', 2, 65, 396, 230, BitOR($WS_HSCROLL, $WS_VSCROLL, $WS_BORDER))
    $hList = GUICtrlGetHandle($List)
    $menu = GUICtrlCreateContextMenu($List)
    $itemRun = GUICtrlCreateMenuItem('Ausführen', $menu)
    $itemShape = GUICtrlCreateMenuItem('', $menu)
    $itemCopy = GUICtrlCreateMenuItem('Kopieren', $menu)
    $itemPaste = GUICtrlCreateMenuItem('Einfügen', $menu)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $itemRen = GUICtrlCreateMenuItem('Umbenennen', $menu)
    $itemShape = GUICtrlCreateMenuItem('', $menu)
    $itemDel = GUICtrlCreateMenuItem('Löschen', $menu)
    GUISetState(@SW_SHOW)

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

    GUIRegisterMsg($WM_COMMAND, 'WM_COMMAND')

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

    _WriteList($aPath[0])

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $itemRun
    _RunFile()
    Case $itemCopy
    _CopyFile()
    Case $itemPaste
    _PasteFile()
    Case $itemRen
    _RenFile()
    Case $itemDel
    _DelFile()
    EndSwitch
    Wend

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

    Func _WriteList($PATH)
    _GUICtrlListBox_ResetContent($hList) ; alte Inhalte löschen
    $aFolder = _FileListToArray($PATH, '*', 2)
    $aFile = _FileListToArray($PATH, '*', 1)
    If UBound($aPath) > 1 Then _GUICtrlListBox_AddString($hList, $sUp)
    If IsArray($aFolder) Then
    _GUICtrlListBox_AddString($hList, '--------------- ORDNER ---------------')
    For $i = 1 To UBound($aFolder) -1
    _GUICtrlListBox_AddString($hList, $aFolder[$i])
    Next
    EndIf
    If IsArray($aFile) Then
    _GUICtrlListBox_AddString($hList, '--------------- DATEIEN ---------------')
    For $i = 1 To UBound($aFile) -1
    _GUICtrlListBox_AddString($hList, $aFile[$i])
    Next
    EndIf
    GUICtrlSetData($label, $PATH)
    EndFunc

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

    Func _ListDblClick()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    Local $tmpPath = ''
    If $str = $sUp Then
    ReDim $aPath[UBound($aPath)-1]
    $currPath = $aPath[UBound($aPath)-1]
    _WriteList($currPath)
    Else
    $currPath = $aPath[UBound($aPath)-1] & $str & '\' ; neuer Pfad = letzter Pfad + geklickter Pfad
    If Not StringRegExp(FileGetAttrib($currPath), 'D') Then ; ist es kein Ordner ?
    _RunFile()
    Else
    ReDim $aPath[UBound($aPath)+1]
    $aPath[UBound($aPath)-1] = $currPath ; neuen Pfad hinzufügen
    _WriteList($currPath)
    EndIf
    EndIf
    EndFunc

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

    Func _RunFile()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    If $str = '' Then Return
    Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
    If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
    ShellExecuteWait($aPath[UBound($aPath)-1] & $str)
    EndFunc

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

    Func _CopyFile()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    If $str = '' Then Return
    Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
    If StringRegExp($attrib, 'D') Then Return MsgBox(0, 'Achtung', $str & ' ist keine Datei')
    ClipPut($aPath[UBound($aPath)-1] & $str)
    GUICtrlSetState($itemPaste, $GUI_ENABLE)
    EndFunc

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

    Func _PasteFile()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    If $str = '' Then Return
    Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
    If Not StringRegExp($attrib, 'D') Then Return MsgBox(0, 'Achtung', $str & ' - ist kein Ordner')
    Local $tmp = ClipGet(), $pos = StringInStr($tmp, '\', -1)
    Local $file = StringRight($tmp, StringLen($tmp)-$pos)
    If FileExists($aPath[UBound($aPath)-1] & $str & '\' & $file) Then $file = 'Kopie von ' & $file
    FileCopy($tmp, $aPath[UBound($aPath)-1] & $str & '\' & $file)
    _WriteList($aPath[UBound($aPath)-1])
    GUICtrlSetState($itemPaste, $GUI_DISABLE)
    EndFunc

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

    Func _RenFile()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    If $str = '' Then Return
    Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
    If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
    Local $tmp = InputBox('Umbenennen', 'Neuer Name:' & @LF & @LF & $aPath[UBound($aPath)-1], $str)
    If $tmp <> '' Then FileMove($aPath[UBound($aPath)-1] & $str, $aPath[UBound($aPath)-1] & $tmp)
    _WriteList($aPath[UBound($aPath)-1])
    EndFunc

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

    Func _DelFile()
    Local $str = _GUICtrlListBox_GetText($hList, _GUICtrlListBox_GetCurSel($hList))
    If $str = '' Then Return
    Local $attrib = FileGetAttrib($aPath[UBound($aPath)-1] & $str)
    If StringRegExp($attrib, $Safed) Then Return MsgBox(0, 'Geschützt!', $str & ' - Attribut: ' & $attrib)
    FileDelete($aPath[UBound($aPath)-1] & $str)
    _WriteList($aPath[UBound($aPath)-1])
    EndFunc

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

    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iIDFrom, $iCode, $hWndListBox
    If Not IsHWnd($hList) Then $hWndListBox = GUICtrlGetHandle($hList)
    $hWndFrom = $ilParam
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Switch $hWndFrom
    Case $hList, $hWndListBox
    Switch $iCode
    Case $LBN_DBLCLK ; Sent when the user double-clicks a string in a list box
    _ListDblClick()
    EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

    [/autoit]

    Oder meinst du evtl. einfach nur: FileOpenDialog() ?

  • Schleifen frage lesen aus .ini datei

    • BugFix
    • 1. Oktober 2009 um 09:45

    Du kannst INIWriteSection zum Schreiben und INIReadSection zum Auslesen nutzen. Dabei werden Die Daten als Array übergeben.

  • Problem bei "Taskleiste berechnen"

    • BugFix
    • 30. September 2009 um 23:23
    Zitat von Auszug Parameterbeschreibung WinAPI

    SPI_SETWORKAREA
    Sets the size of the work area. The work area is the portion of the screen not obscured by the taskbar. The pvParam parameter must point to the RECT structure that contains the coordinates of the work area.

  • Script verurscht hin und wieder Fehler im Clipboard

    • BugFix
    • 30. September 2009 um 22:35

    Ich verstehe nicht den Sinn, warum du den ganzen PDF-Kram abfragst. Du mußt doch sowieso auf das PDF-Dokument wechseln, um zu kopieren. Also welchen Sinn hat es dann vom Skript prüfen zu lassen ob das PDF offen ist? ?(
    Automatisieren ist schön und gut, aber du baust dir hier Fallen.
    Verwende doch ausschließlich mein Bsp., wie von mir beschrieben. Evtl. noch mit 'nem Fileopen-Dialog vornweg. Das funktioniert problemlos.

    Der Fehler ist derselbe. Kein Excelobjekt. Nur kann ich dazu wenig sagen, was weiß ich, wann du _copy() aufrufst.
    Aber kopier mal diese Zeile:

    [autoit]

    $oExcel = ObjGet("", "Excel.Application")

    [/autoit]


    zusätzlich nach Zeile 69. Das könnte evtl. helfen.

  • Script verurscht hin und wieder Fehler im Clipboard

    • BugFix
    • 30. September 2009 um 21:26

    Ich hab dein Skript erst mal lesbar gestaltet und ein paar Verbesserungen vorgenommen. Es läßt sich aber noch viel mehr machen, aber ich will dir ja nicht die Arbeit wegnehmen. :P

    Der Fehler kam, weil noch nicht auf die geöffnete Excelinstanz referenziert war. Du mußt das Objekt direkt nach dem Aufruf der Exceldatei erstellen.
    Habe das jetzt mal getan. Besser wäre eigentlich, die Datei über das Excelobjekt aufzurufen. Aber so sollte es zumindest schon mal gehen.
    Achja, ein Tipp noch: gewöhn dir Leerzeilen ab. Damit nimmst du jede Übersichtlichkeit aus deinem Code. Nur Einsetzen zum deutlichen Trennen von logischen Einheiten.

    Spoiler anzeigen
    [autoit]

    Opt("SendKeyDelay", 1)
    Opt("WinWaitDelay", 1)
    Opt("GUIOnEventMode", 1)
    Opt("WinTitleMatchMode", 2)
    Opt("TrayMenuMode",1)
    Opt("TrayOnEventMode", 1)

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

    #include <GUIConstants.au3>
    #include <Excel.au3>

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

    Global $oExcel

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

    ;---------------TRAYMENU-----------------------------
    $settingsitem = TrayCreateMenu("Settings")
    $abouttray = TrayCreateItem("About")
    TrayItemSetOnEvent ($abouttray, "ABOUT")
    $shortcut = TrayCreateItem("Set Shortcut", $settingsitem)
    TrayItemSetOnEvent ($shortcut, "SETTINGS")
    $exititem = TrayCreateItem("Exit")
    TrayItemSetOnEvent ($exititem, "CLOSEClicked")
    TraySetIcon("RegisCopyScript.exe")
    TrayTip ( "Reg-IS CopyScript", "gestartet", "5")
    TraySetToolTip ("Reg-IS CopyScript")
    ;----------------------------------------------------
    Global $SettingsGUI = GUICreate("Shortcut", 180, 160, 193, 128)
    GUISetIcon("E:\REG-IS Archiv\_REG_IS 20090419\Favicon.ico")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Hide")
    $CloseSet = GUICtrlCreateButton("Close", 40, 120, 97, 25, 0)
    GUICtrlSetOnEvent($CloseSet, "Hide")
    $SET = GUICtrlCreateButton("Set", 40, 90, 97, 25, 0)
    GUICtrlSetOnEvent($SET, "SET")
    ; $ABOUT = GUICtrlCreateButton("About", 40, 150, 97, 25, 0)
    ; GUICtrlSetOnEvent ($ABOUT, "ABOUT")
    Global $Input1 = GUICtrlCreateInput("", 75, 16, 33, 21)
    $Label1 = GUICtrlCreateLabel("alt = !", 30, 48, 30, 17)
    $Label2 = GUICtrlCreateLabel("shift = +", 30, 65, 41, 17)
    $Label3 = GUICtrlCreateLabel("strg = ^", 90, 48, 39, 17)
    $Label4 = GUICtrlCreateLabel("{F1} - {12}", 90, 65, 53, 17)
    ;------------------SHORTCUTSETTINGS------------------

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

    Func SETTINGS ()
    #Region ### START Koda GUI section ### Form=

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

    GUISetState(@SW_SHOW, $SettingsGUI)
    #EndRegion ### END Koda GUI section ###

    EndFunc

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

    Func SET ()
    $key = GUICtrlRead ( $Input1 )
    if $key = "" Then
    MsgBox ( 48, "Fehler", "Bitte legen sie eine Tastenkombination fest!")
    Else
    MsgBox ( 64, "Meldung", "Tastenkombination wurde gesetzt" )
    if winExists ("[CLASS:AcrobatSDIWindow]", "") = 1 Then
    GUISetState(@SW_MINIMIZE)
    WinActivate ("[CLASS:AcrobatSDIWindow]", "")
    WinWaitActive ("[CLASS:AcrobatSDIWindow]", "")
    Else
    if MsgBox (36, "Es ist kein PDF-File geöffnet!", "Wollen sie jetzt eine Quellpdf öffnen?") = 6 Then
    GUISetState(@SW_MINIMIZE)
    $pdfdir = FileOpenDialog("PDF öffnen", "", "Adobe PDF Files (*.pdf)")
    ShellExecute ($pdfdir)
    EndIf
    EndIf
    if WinExists ("[TITLE:Microsoft Excel]", "") Then
    GUISetState(@SW_MINIMIZE)
    WinActivate ("[CLASS:XLMAIN]", "")
    WinWaitActive ("[CLASS:XLMAIN]", "")
    Else
    if MsgBox (36, "Es ist kein Excel Tabelle geöffnet!", "Wollen sie jetzt eine Tabelle öffnen?") = 6 Then
    GUISetState(@SW_MINIMIZE)
    $xlsdir = FileOpenDialog("XLS öffnen", "", "Excel-Datein (*.xls;*.xlsx)")
    ShellExecute ($xlsdir)
    $oExcel = ObjGet("", "Excel.Application")
    EndIf
    EndIf
    EndIf
    HotKeySet ( $key, "_copy")
    EndFunc

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

    While True
    Sleep (100)
    WEnd

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

    Func _copy ()
    Send('^c')
    $oExcel.ActiveCell.Value = StringRegExpReplace(ClipGet(), @CRLF, ' ')
    $oExcel.ActiveCell.Offset(1, 0).Select
    EndFunc

    Func ABOUT ()
    MsgBox ( 64, "about:", "Scriped by Daniel Glauche ([email='d.glauche@gmx.de'][/email])")
    EndFunc

    Func Hide ()
    GUISetState (@SW_HIDE)
    EndFunc

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

    Func CLOSEClicked ()
    if MsgBox (36, "RegisCopyScript", "Wollen sie das Exceldokument speichern?") = 6 Then
    _ExcelBookSave($oExcel, $fAlerts = 0)
    Exit
    EndIf
    EndFunc

    [/autoit]
  • ListView - SubItem einzeln färben/formatieren, Finale Version! (v1.3)

    • BugFix
    • 30. September 2009 um 19:13

    FERTIG!  8o

    Die endgültige Version ist im Kasten. Nun ordentlich im UDF-Stil. Also einfach nur Funktionen aufrufen, auch WM_NOTIFY habe ich ausgelagert.
    Das Include: LV_Format_include.au3
    und ein Beispiel: Example_LV_Format.au3
    findet ihr in Post 1.

  • Hintergrund dunkelblau

    • BugFix
    • 30. September 2009 um 08:06

    Das Problem habe ich an meinem Laptop oft, weil das Touchpad kein wirklicher Mausersatz ist und ein Antippen als MOUSEDOWN erkannt wird, aber das MOUSEUP wird nicht immer erkannt. Somit hast du den Effekt, als ob du mit gedrückter Maustaste über den Text fährst ==> er wird markiert.

  • Desktop "einschränken" ?

    • BugFix
    • 29. September 2009 um 17:50

    Ja, damit geht es:

    [autoit]

    #include <winapi.au3>

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

    Const $SPI_SETWORKAREA = 47
    Const $SPIF_SENDCHANGE = 2

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

    $tRECT = DllStructCreate('int;int;int;int')
    DllStructSetData($tRECT, 1, 0) ; left
    DllStructSetData($tRECT, 2, 0) ; top
    DllStructSetData($tRECT, 3, 1024) ; right
    DllStructSetData($tRECT, 4, 768) ; buttom
    _WinAPI_SystemParametersInfo($SPI_SETWORKAREA, 0, DllStructGetPtr($tRECT), $SPIF_SENDCHANGE)

    [/autoit]

    Edit:
    Einen Nachsatz noch dazu. Das Begrenzen der Arbeitsfläche heißt natürlich auch, dass die Icons auf dem Desktop bei Veränderung des Bereiches gegebenenfalls verschoben werden.

    Edit peethebee [Tags für Foren-/Google-Suche]: Desktop verkleinern, einschränken, Sidebar, Seitenleiste, Vollbild verkleinern

  • ini im Unterordner auslesen und Verarbeiten

    • BugFix
    • 29. September 2009 um 16:59
    [autoit]

    Local $array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
    Local $sOut = ''

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

    For $i = 1 To UBound ( $array_Inis )-1
    $aSec = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
    For $j = 1 To UBound($aSec) -1
    $entry = $aSec[$j][0] & '=' & $aSec[$j][1] ; Key und Value zusammensetzen, wie in der INI
    $date = StringRegExp($entry, '\d{2}\.\d{2}\.\d{4}', 1)
    $date = $date[0] & '|'
    $local = StringLeft($entry, StringInStr($entry, '=')-1) & '|'
    $server = StringRegExp($entry, '(\\\\\w+\\)(\w+\\)+', 2)
    $server = $server[0]
    $string = $date & $local & $server
    $sOut &= $string & @CRLF
    Next
    Next
    ConsoleWrite($sOut & @CRLF)

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

    ; Da du alles aus der INI liest:
    ; [Quelle-Ziele]
    ; c:\0rdner1=\\server\share\28.09.2009\ordner1

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

    ; geht es aber auch so:
    Local $array_Inis = _GetFilesFolder_Rekursiv ( @ScriptDir , 'log.ini',0 )
    Local $sOut = ''

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

    For $i = 1 To UBound ( $array_Inis )-1
    $aSec = IniReadSection ( $array_Inis[$i], 'Quelle-Ziele' )
    For $j = 1 To UBound($aSec) -1
    $date = StringRegExp($aSec[$j][1], '\d{2}\.\d{2}\.\d{4}', 1)
    $date = $date[0] & '|'
    $local = $aSec[$j][0] & '|'
    $server = StringRegExp($aSec[$j][1], '(\\\\\w+\\)(\w+\\)+', 2)
    $server = $server[0]
    $string = $date & $local & $server
    $sOut &= $string & @CRLF
    Next
    Next
    ConsoleWrite($sOut & @CRLF)

    [/autoit]

    P.S. Gewöhn dir mal an Tidy zu verwenden, wenn du schon beim Coden nicht aufs Einrücken achtest. ;)

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™