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

  • Daten (TXT File) in einem Excel Sheet speichern

    • BugFix
    • 10. April 2007 um 14:47

    Als erstes empfehle ich dir, nicht den Umweg über die TXT-Datei zu gehen, sondern beim Zusammenstellen der Daten im Überwachungsscript die Daten gleich in ein Array zu speichern um sie dann von dort in Excel zu übertragen.

    Erstelle zuerst (kannst du per Hand machen) ein Exceldokument mit einem Sheet für jeden Server. Falls die Servernamen wechseln, solltest du das automatisieren.

    Wenn deine Daten zusammengestellt sind:
    - Exceldokument öffnen ( _ExcelBookOpen($sFilePath, $fVisible = 1, $fReadOnly = False) )
    - benötigten Sheet aktivieren ( _ExcelSheetActivate($oExcel, $vSheet) )
    - Daten eintragen ( _ExcelWriteCell($oExcel, $sValue, $sRangeOrRow, $iColumn = 1) )
    du kannst ja, z.B. in A1 hinterlegen, welche Zelle zuletzt beschrieben wurde und dies vor dem neuen Schreibvorgang auslesen ( _ExcelReadCell($oExcel, $sRangeOrRow, $iColumn = 1) ) um die Addressierung vorzunehmen
    - Exceldokument speichern ( _ExcelBookSave($oExcel, $fAlerts = 0) )
    - Exceldokument schließen ( _ExcelBookClose($oExcel, $fSave = 1, $fAlerts = 0) )

  • Daten (TXT File) in einem Excel Sheet speichern

    • BugFix
    • 10. April 2007 um 13:01

    Benutze Excel-UDF hier im EN-Forum.

  • AutoIt Window Info zeigt nicht genug Infos an

    • BugFix
    • 10. April 2007 um 12:03

    Prüf doch mal mit WinGetHandle( ) ob es wirklich nur ein Fenster ist, das umgabaut wird oder nicht doch unterschiedliche Fenster gleichen Titels.

  • Automatisch ein Tab ?

    • BugFix
    • 9. April 2007 um 21:28

    Schau dir mal die Funktion Assign( ) an.
    Oder deklariere ein ausreichend großes Array für die Controls.

  • was iss das? LAND_WIW_FILE_JGSDB

    • BugFix
    • 8. April 2007 um 09:44

    Geraten: Wer ist wo? - Datenbankdatei

  • Problem mit Eval und Array's

    • BugFix
    • 8. April 2007 um 09:34

    Oder um die Funktion Eval zu verdeutlichen:

    Eval() baut aus einem String den Variablennamen auf und zwar aus jedem einzelnen Zeichen:

    [autoit]

    $Variable = 10
    $outEval = Eval("V"&"a"&"r"&"i"&"a"&"b"&"l"&"e")
    MsgBox(0,"",$outEval) ; zeigt 10

    [/autoit]

    Geht nicht mit Arraynamen!

  • RTF Edit multi?

    • BugFix
    • 8. April 2007 um 07:55

    Wenn du mit Funktionen arbeitest, die weder in der Prod noch in der Beta enthalten sind, dann solltest du sie in deinem Code anführen oder zumindest drauf verlinken (was ich hiermit tue: Lazycat's RTF Plugin).
    Eine Kristallkugel haben schließlich die wenigsten von uns. :D
    Zum Problem selber, da schau ich nochmal.

    Kurze Antwort:
    Dieses Control kannst du nicht in ein Tab einbetten.

  • Dateien installieren+Status

    • BugFix
    • 7. April 2007 um 13:57
    Zitat

    Ich denke, dass die Funktion (die sich übrigends FileInstall() nennt) für deine Verwendungszwecke besser geeignet ist.....


    Und falls es mal ein paar Dateien mehr sind, kannst du dir das Script auch automatisch mit dem Install-Script-Generator erstellen lassen.

  • Dateien installieren+Status

    • BugFix
    • 7. April 2007 um 13:09

    Guckst du hier auch: Dateien / Ordner rekursiv lesen
    ;)

  • Zielordner Auswahlmöglichkeit

    • BugFix
    • 6. April 2007 um 19:04

    Als grundsätzlichen Tipp mal überlegen, generell 'OnEventMode' zu verwenden. Da treten solche Probleme nicht auf.

  • Dateien installieren+Status

    • BugFix
    • 6. April 2007 um 18:25

    Oder, wenn du das Kopier-Avi dabei haben möchtest:

    Spoiler anzeigen
    [autoit]

    #include <guiconstants.au3>
    Dim $arFiles[100] ; zu kopierende Dateien
    For $i = 0 To 99
    $arFiles[$i] = "Datei " & $i ; nur als Muster
    Next
    $Form1 = GUICreate("Kopieren von Dateien . . .", 343, 194, -1, -1, $WS_CAPTION, $WS_EX_TOPMOST)
    $n1=GUICtrlCreateAvi (@SystemDir & "\shell32.dll",160, 40,20)
    GUICtrlSetState ($n1, 1)
    $Label = GUICtrlCreateLabel("", 70, 93, 203, 17, $SS_CENTER)
    $status = GUICtrlCreateProgress(20, 120, 303, 17 ,$PBS_SMOOTH)
    GUISetState()

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

    While 1
    Sleep(100)
    For $i = 0 To UBound($arFiles)-1
    ;Kopieren.. FileCopy( )
    GUICtrlSetData($Label, $arFiles[$i])
    GUICtrlSetData($status, Round(100/UBound($arFiles)*$i))
    Sleep(50)
    Next
    Exit
    WEnd

    [/autoit]


    Kannst du natürlich noch um die Anzeige der Prozentzahl erweitern.

  • Router - Internet trennen/verbinden

    • BugFix
    • 6. April 2007 um 08:22

    Eh du selbst was schreibst, probier doch mal ob der Router mit dem Barricade-Monitor von FRIFA (Barricade-Monitor 6.2.0.4) zusammenarbeitet. Da hast du schon alle Optionen dabei. Ist mit vielen Routern kompatibel.

  • Msgbox solange kopiert wird

    • BugFix
    • 5. April 2007 um 19:59

    Erstelle eine kleine GUI: 'bin beschäftigt'
    setze sie auf @GUI_SHOW während des Sicherungsvorgangs und danach auf @GUI_HIDE

    [autoit]

    $Busy = GUICreate("",160,110,-1,-1,$WS_POPUP)
    GUISetBkColor(0x708090)
    $label_busy = GUICtrlCreateLabel("Einen Moment bitte." & @LF & @LF & "Die Sicherung läuft...", 20, 15, 120, 100, $SS_CENTER)
    GUICtrlSetFont(-1, 10, Default,2)
    GUICtrlSetColor(-1, 0xF0E68C)

    [/autoit]
  • Hilfe brauche ein script

    • BugFix
    • 4. April 2007 um 23:21
    Zitat

    wenn der mehrere tasten trücken soll in bestimmten zeit abständen


    Gib mal Bsp.
    Verstehe nicht genau, was du möchtest.
    - mehrere Tasten nacheinander?
    - oder gleichzeitig?
    - zur gleichen Farge?
    - oder zu anderer Farbe?

  • Hilfe brauche ein script

    • BugFix
    • 4. April 2007 um 22:28
    [autoit]

    HotKeySet("^e", "Ende") ; Beenden mit STRG+e
    While 1
    If PixelGetColor(475,24) <> 0xFFFFFF Then
    Sleep(100)
    Send("8")
    Sleep(5000)
    Send("2")
    EndIf
    WEnd
    Func Ende()
    Exit
    EndFunc

    [/autoit]
  • Variablen aufsplitten!?

    • BugFix
    • 4. April 2007 um 15:17

    So, nun brauchst du nur noch für die User-Nummern anpassen:

    EDIT
    Ich hab den Code nochmal etwas 'gesäubert'. Einiges war ja nur zur Demo:

    Spoiler anzeigen
    [autoit]

    #include <string.au3>
    Dim $arUser, $string = "admin:99:*user:1:*user:12:*user:3:*user:4:*user:5:*"

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

    $arUser = StringSplit($string, "*")
    If Not IsArray($arUser) Then
    MsgBox(16, "Fehler", "Userlist ist leer")
    Else
    Dim $arUserList[$arUser[0]-1]
    MsgBox(0, '', $arUser[0]-1 & " User sind online")
    For $i = 1 To $arUser[0]-1 ; da auch am Ende des Strings ein Trennzeichen ist, folgt noch ein leerer String
    $var = StringTrimRight($arUser[$i], 1) & ")"
    $arUserList[$i-1] = StringReplace($var, ":", "(")
    Next
    For $i = 0 To UBound($arUserList)-1
    $var = _StringBetween($arUserList[$i], "(", ")")
    Switch $var[0]
    Case 4
    ; code für User 4
    Case 12
    ; code für User 12
    ; etc.
    EndSwitch
    Next
    EndIf

    [/autoit]

    Wenn du die Bezeichnungen (admin, user) gar nicht auswertest, sondern nur die Werte zwischen den ":" kannst du das noch mehr schrumpfen:

    Spoiler anzeigen
    [autoit]

    #include <string.au3>
    Dim $arUser, $string = "admin:99:*user:1:*user:12:*user:3:*user:4:*user:5:*"

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

    $arUser = StringSplit($string, "*")
    If Not IsArray($arUser) Then
    MsgBox(16, "Fehler", "Userlist ist leer")
    Else
    MsgBox(0, '', $arUser[0]-1 & " User sind online")
    For $i = 1 To $arUser[0]-1
    $var = _StringBetween($arUser[$i], ":", ":")
    Switch $var[0]
    Case 4
    ; code für User 4
    Case 12
    ; code für User 12
    ; etc.
    EndSwitch
    Next
    EndIf

    [/autoit]
  • Problem mit einer Schleife / TreeView auslesen

    • BugFix
    • 4. April 2007 um 13:30

    Verwende anstelle von:

    [autoit]

    $test = GUICtrlCreateTreeViewItem($archivename, $archivetree)

    [/autoit]


    ein Array.

    [autoit]

    $arItem[$i] = GUICtrlCreateTreeViewItem($archivename, $archivetree)

    [/autoit]

    Das Array definierst du vorher mit einer max. Anzahl von Elementen, z.B. Dim $arItem[200], oder du mußt es in der Schleife immer mit ReDim anpassen.


    EDIT

    Hurra, Beförderung zum Haudegen ==> mein 500. Post

  • Variablen aufsplitten!?

    • BugFix
    • 4. April 2007 um 12:35

    Sicher geht das auch noch kürzer mit Regulären Ausdrücken.
    So ist es aber auch ganz praktikabel.

    [autoit]

    $string = "admin:99:*user:1:*user:2:*user:3:*user:4:*user:5:*"
    $arUser = StringSplit($string, "*")
    $OutString = ""
    For $i = 1 To $arUser[0]-1 ; da auch am Ende des Strings ein Trennzeichen ist, folgt noch ein leerer String - deshalb '-1'
    $var = StringTrimRight($arUser[$i], 1) & ")"
    $OutString &= StringReplace($var, ":", "(") & @LF
    Next
    MsgBox(0, '', $OutString)

    [/autoit]
  • Aktion bei TrayTip-Klick

    • BugFix
    • 2. April 2007 um 21:17

    Also TrayTip hat keinen Rückgabewert. TraySetToolTip gibt zumindest bei Erfolg '1' zurück.
    Soweit ich sehen kann, wird aber durch ein Klick auf den Tip kein Ereignis ausgelöst.
    Etwas um die Ecke: Du kannst doch ermitteln, in welchem Sektor des Monitors der TrayTip erscheint. Frage ab, ob Übereinstimmung mit Mausposition und Klick ==> dann hast du dein Ereignis.

  • TreeView auslesen/verarbeiten

    • BugFix
    • 2. April 2007 um 20:55

    Holger hat mal ein schönes Tristate-Treeview erstellt. Das häng ich mal an.
    Damit hatte ich auch schon mal ein Installationsscript begonnen. Ein bischen farbig gestaltet.

    Spoiler anzeigen
    [autoit]

    ; ----------------------------------------------------------------------------
    ;
    ; Script: Tristate TreeView
    ; Version: 0.2
    ; AutoIt Version: 3.1.1.128 Beta min.needed!
    ; Author: Holger Kotsch
    ;
    ; Script Function:
    ; Demonstrates a tristate treeview control -> just more like a fifthstate treeview ;)
    ;
    ; 5 item checkbox! states are usable:
    ; (can only used with TreeView with TVS_CHECKBOXES-style)
    ; - $GUI_CHECKED
    ; - $GUI_UNCHECKED
    ; - $GUI_INDETERMINATE
    ; - $GUI_DISABLE + $GUI_CHECKED
    ; - $GUI_DISABLE + $GUI_UNCHECKED
    ;
    ; ----------------------------------------------------------------------------

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

    #include <GUIConstants.au3>
    #include "TristateTreeViewLib.au3"
    #include <GuiTreeView.au3>
    Opt("GUIOnEventMode", 1)
    ; You could also use a integrated bmw (with ResourceHacker)
    ; Please see TristateTreeViewLib.au3 in line 257 (LoadStateImage)
    ; !!! You must not compiled it full with UPX, just use after compiling: upx.exe --best --compress-resources=0 xyz.exe !!!
    ; If you choose another reource number then 170 you have to change the LoadStateImage() function
    ;
    ; Userfunction My-WM_Notify() is registered in TristateTreeViewLib.au3 !
    ;
    ; You can get other check bitmaps also together with freeware install programs like i.e. NSIS
    ; it must have 5 image states in it:
    ; 1.empty, 2.unchecked, 3.checked, 4.disabled and unchecked, 5.disabled and checked

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

    Global $sStateIconFile = @ScriptDir & "\simple.bmp"
    ;~ Global $sStateIconFile = @ScriptDir & "\modern.bmp"

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

    $gui = GUICreate("Treeview - Install Script", 400, 400, -1, -1, Default, $WS_EX_TOPMOST)
    GUISetOnEvent($GUI_EVENT_CLOSE, "guiClose")
    GUISetBkColor(0xFFD700, $gui)
    GUISetIcon(@WindowsDir & "\system32\shell32.dll", 205)
    $nTV = GUICtrlCreateTreeView(10, 10, 380, 360, BitOr($TVS_HASBUTTONS, $TVS_HASLINES, $TVS_LINESATROOT, $TVS_DISABLEDRAGDROP, $TVS_CHECKBOXES), $WS_EX_CLIENTEDGE)
    LoadStateImage($nTV, $sStateIconFile)
    _GUICtrlTreeViewSetBkColor ($nTV, 0x191970)
    _GUICtrlTreeViewSetTextColor($nTV, 0xFFFAF0)
    _GUICtrlTreeViewSetLineColor ($nTV, 0xFFD700)
    $nItem1 = GUICtrlCreateTreeViewItem("Messenger", $nTV)
    GUICtrlSetColor(-1, 0xFF0000)
    $nItem2 = GUICtrlCreateTreeViewItem("Internet", $nTV)
    GUICtrlSetColor(-1, 0xFF00FF)
    $nItem3 = GUICtrlCreateTreeViewItem("Tools", $nTV)
    GUICtrlSetColor(-1, 0xFF8C00)
    $nItem4 = GUICtrlCreateTreeViewItem("Mediaplayer", $nTV)
    GUICtrlSetColor(-1, 0x00BFFF)
    $nSubItem1 = GUICtrlCreateTreeViewItem("InterCafe Client", $nItem1)
    $nSubItem2 = GUICtrlCreateTreeViewItem("ICQ 5.1", $nItem1)
    $nSubItem3 = GUICtrlCreateTreeViewItem("AOL Messenger", $nItem1)
    $nSubItem4 = GUICtrlCreateTreeViewItem("YAHOO Messenger", $nItem1)
    $nSubItem5 = GUICtrlCreateTreeViewItem("WinLive Messenger", $nItem1)
    $nSubItem6 = GUICtrlCreateTreeViewItem("Trillian 3.1", $nItem1)
    $nSubItem7 = GUICtrlCreateTreeViewItem("Skype", $nItem1)
    $nSubItem8 = GUICtrlCreateTreeViewItem("TeamSpeak", $nItem1)
    $nSubItem9 = GUICtrlCreateTreeViewItem("TS Overlay", $nItem1)
    $nSubItem10 = GUICtrlCreateTreeViewItem("Opera", $nItem2)
    $nSubItem11 = GUICtrlCreateTreeViewItem("Mozilla Firefox 2", $nItem2)
    $nSubItem12 = GUICtrlCreateTreeViewItem("NetFramework 2.0", $nItem2)
    $nSubItem13 = GUICtrlCreateTreeViewItem("LimeWire 4.12.0", $nItem2)
    $nSubItem14 = GUICtrlCreateTreeViewItem("Usenext", $nItem2)
    $nSubItem15 = GUICtrlCreateTreeViewItem("Adobe Reader", $nItem3)
    $nSubItem16 = GUICtrlCreateTreeViewItem("WinRar", $nItem3)
    $nSubItem17 = GUICtrlCreateTreeViewItem("GoBack", $nItem3)
    $nSubItem18 = GUICtrlCreateTreeViewItem("Ahead Nero 7.5", $nItem3)
    $nSubItem19 = GUICtrlCreateTreeViewItem("OpenOffice 2.0", $nItem3)
    $nSubItem20 = GUICtrlCreateTreeViewItem("VLC Player", $nItem4)
    $nSubItem21 = GUICtrlCreateTreeViewItem("QuickTime Player", $nItem4)
    $nSubItem22 = GUICtrlCreateTreeViewItem("RealPlayer", $nItem4)
    $nSubItem23 = GUICtrlCreateTreeViewItem("Windows Media Player 11", $nItem4)
    $nSubItem24 = GUICtrlCreateTreeViewItem("FlashPlayer", $nItem4)
    $text1 = "Ausklappen"
    $text2 = "Einklappen"
    $Btn_expand = GUICtrlCreateButton($text1, 30, 375, 90, 20)
    GUICtrlSetOnEvent(-1, "_expand")
    $text3 = "Alle wählen"
    $text4 = "Wahl aufheben"
    $Btn_all = GUICtrlCreateButton($text3, 280, 375, 90, 20)
    GUICtrlSetOnEvent(-1, "_all")
    $Btn_Info = GUICtrlCreateButton("Info zum Programm", 150, 375, 100, 20)
    GUICtrlSetOnEvent(-1, "_info")

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

    ; GUI Info
    $InfoGUI = GUICreate("", 333, 174, -1, -1, $WS_POPUP, $WS_EX_TOPMOST)
    GUISetBkColor(0xFFD700, $InfoGUI)
    $Edit1 = GUICtrlCreateLabel("", 5, 5, 320, 161, $ES_CENTER)
    GUICtrlSetBkColor(-1, 0xFFD700)

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

    GUISetState(@SW_SHOW, $gui)
    $expand = 0
    $switch = 0

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

    While 1
    Sleep(100)
    WEnd

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

    Func _all()
    If $switch = 0 Then
    SelectFull()
    $switch = 1
    GUICtrlSetData($Btn_all, $text4)
    Else
    ReSelect()
    $switch = 0
    GUICtrlSetData($Btn_all, $text3)
    EndIf
    EndFunc

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

    Func _expand()
    If $expand = 0 Then
    Ausklappen()
    $expand = 1
    GUICtrlSetData($Btn_expand, $text2)
    Else
    Einklappen()
    $expand = 0
    GUICtrlSetData($Btn_expand, $text1)
    EndIf
    EndFunc

    Func _info()
    $h_item = GUICtrlSendMsg($nTV, $TVM_GETNEXTITEM, $TVGN_CARET, 0)
    $val = _GUICtrlTreeViewGetText($nTV, $h_item)
    Switch $val
    Case "InterCafe Client"
    GUICtrlSetData($Edit1, $val & @LF & "xhcjvkblnk oüwpqem+vc+" & @LF & " üewq+mvc +w p,mc +wpoidülöe" & @LF & "klfrsdzfghkjl")
    GUISetState(@SW_SHOW, $InfoGUI)
    Sleep(4000)
    GUISetState(@SW_HIDE, $InfoGUI)
    GUICtrlSetData($Edit1, "")
    Case "ICQ 5.1"
    GUICtrlSetData($Edit1, $val & @LF & "5551111" & @LF & " üewq+mvc +w p,mc +wpoidülöe" & @LF & "klfrsdzfghkjl")
    GUISetState(@SW_SHOW, $InfoGUI)
    Sleep(4000)
    GUISetState(@SW_HIDE, $InfoGUI)
    GUICtrlSetData($Edit1, "")
    EndSwitch
    EndFunc

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

    Func guiClose()
    Exit
    EndFunc

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

    Func SelectFull()
    For $i = $nItem1 To $nItem4
    MyCtrlSetItemState($nTV, $i, $GUI_CHECKED)
    Next
    For $i = $nsubItem1 To $nsubItem24
    MyCtrlSetItemState($nTV, $i, $GUI_CHECKED)
    Next
    EndFunc

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

    Func ReSelect()
    For $i = $nItem1 To $nItem4
    MyCtrlSetItemState($nTV, $i, $GUI_UNCHECKED)
    Next
    For $i = $nsubItem1 To $nsubItem24
    MyCtrlSetItemState($nTV, $i, $GUI_UNCHECKED)
    Next
    EndFunc

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

    Func Ausklappen()
    _GUICtrlTreeViewExpand($nTV)
    EndFunc

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

    Func Einklappen()
    _GUICtrlTreeViewExpand($nTV, 0)
    EndFunc

    [/autoit]

    Dateien

    tristatestuff.zip 6,27 kB – 447 Downloads Treeview-InstallScript.au3 6,35 kB – 519 Downloads

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™