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

  • Newbeeprobleme...

    • BugFix
    • 27. Januar 2008 um 11:47

    Versuchs mal mit Zeitdifferenz, statt Sleep:

    [autoit]

    $start = TimerInit()
    While 1
    If TimerDiff($start) >= 5000 Then
    Send('2')
    $start = TimerInit()
    EndIf
    Sleep(100)
    ; anderer Code in der Schleife
    WEnd

    [/autoit]
  • Mit auto it etwas in excel exportieren?

    • BugFix
    • 27. Januar 2008 um 11:27

    zu 1.
    Such mal nach der Excel-UDF. Da kannst du direkt von AutoIt Exceldokumente erstellen, bearbeiten...

    zu 2.
    Ist deine Tabelle ein ListView?
    Da gibt es extra einen Style, der die abwechselnde Hintergrundfarbe ermöglicht. ( GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) )

    Hier mal ein Bsp.:

    [autoit]

    #include <GuiConstants.au3>
    #include <GuiListView.au3>

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

    GuiCreate("Sample List View", 140, 100, -1, -1, $WS_OVERLAPPEDWINDOW)
    $listView = GuiCtrlCreateListView("|Sample|ListView", 10, 10, 120, 80, -1, $LVS_EX_HEADERDRAGDROP)
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_LV_ALTERNATE) ; legt fest, dass Hintergrundfarbe wechselt
    GUICtrlSetBkColor(-1, 0xE6E6FA) ; Hintergrundfarbe 1
    GuiCtrlCreateListViewItem("|A|One", $listView)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
    GuiCtrlCreateListViewItem("|B|Two", $listView)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2
    GuiCtrlCreateListViewItem("|C|Three", $listView)
    GUICtrlSetBkColor(-1, 0xcccccc) ; Hintergrundfarbe 2

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

    GuiSetState()
    _GUICtrlListView_SetColumnWidth($listView, 1, $LVSCW_AUTOSIZE_USEHEADER)
    While GuiGetMsg() <> $GUI_EVENT_CLOSE
    WEnd

    [/autoit]
  • Q: Abfrage GUI Control Typ über controlID

    • BugFix
    • 27. Januar 2008 um 11:07

    Du kannst dir den Klassennamen ausgeben lassen, vielleicht reicht dir das schon.
    Hier mal ein Beispiel, Ausgabe in die Console:

    [autoit]

    #Include <WinAPI.au3>
    #include <guiconstants.au3>
    $gui = GUICreate('')
    Global $aCtrl[6] = [ _
    GUICtrlCreateButton('', 20, 20), _
    GUICtrlCreateCheckbox('', 20, 50), _
    GUICtrlCreateRadio('', 40, 50), _
    GUICtrlCreateEdit('', 100, 20), _
    GUICtrlCreateInput('', 20, 80), _
    GUICtrlCreateCombo('', 20, 110)]
    GUISetState()

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

    Do
    For $i = 0 To UBound($aCtrl) -1
    ConsoleWrite(_WinAPI_GetClassName($aCtrl[$i]) & @CRLF)
    Next
    Exit
    Until 1

    [/autoit]


    Ausgabe:

    Code
    Button
    Button
    Button
    Edit
    Edit
    ComboBox


    Das geht grundsätzlich auch mit WinGetClassList(), da hast du aber den Nachteil, dass keine Zuordnung zu den Controls besteht. Deshalb ist Einzelprüfung wohl günstiger.

  • An Text einer WORD (Doc) Datei kommen?

    • BugFix
    • 27. Januar 2008 um 09:52

    Alina
    Hi, es ist mit der Word.au3 allein nicht zu lösen. Wie TrueMue schon richtig erwähnt hat, muß man hierzu auf das Word-Objektmodell zurückgreifen.
    Es gibt darin aber eine Vielzahl von Objekten und Methoden, deren Anwendung teilweise ziemlich tricky ist.
    Für deinen Fall benötigt man Select, Find, Replace und Execute. Wenn mich heut noch die Arbeitswut packen sollte, versuche ich mal das in eine UDF zu bringen. :S

  • Q: Abfrage GUI Control Typ über controlID

    • BugFix
    • 26. Januar 2008 um 19:59

    Dann nimm doch ein 2D-Array und speichere in D1 das Handle und in D2 einen Verweis auf den Typ.

  • SciTE - Version im Portal anzeigen

    • BugFix
    • 26. Januar 2008 um 13:48

    Hi,
    mit folgendem Code läßt sich die aktuelle SciTE-Version im Web auslesen.
    Vielleicht kann dies ja mit im Portal integriert werden.

    [autoit]

    #include <ie.au3>
    $url = 'http://www.autoitscript.com/autoit3/scite/'
    $oIE = _IECreate($url, 0, 0)
    $oFrame = _IEFrameGetCollection($oIE, 0)
    $txt = _IEPropertyGet($oFrame, "innertext")
    $aVer = StringRegExp($txt, '(?<=with SciTE )\d\.\d{2}', 1)
    $aDate = StringRegExp($txt, '(?<=History \().+(?=\))', 1)
    MsgBox(0, 'SciTE Version', 'Aktuelle Version: ' & $aVer[0] & @LF & 'vom: ' & $aDate[0])
    _IEQuit($oIE)

    [/autoit]
  • An Text einer WORD (Doc) Datei kommen?

    • BugFix
    • 24. Januar 2008 um 21:43

    Hi,
    so kannst du Text aus dem Dokument lesen (hier Ausgabe in Console):

    [autoit]

    #include <word.au3>
    $path = 'C:\Dokumente und Einstellungen\...\Test.doc'
    $oWordApp = _WordCreate ("", 0, 0)
    $oDoc = _WordDocOpen ($oWordApp, $path)
    ConsoleWrite($oDoc.Range.Text & @CRLF)
    _WordDocClose ($oDoc)
    _WordQuit ($oWordApp)

    [/autoit]
  • _arryamax

    • BugFix
    • 24. Januar 2008 um 21:24

    So gehts:

    [autoit]

    #include <array.au3>
    Global $string = _FileListToArray("G:\12 2007\", "*.txt")
    Global $aTmp[1]
    For $i = 1 To UBound($string) -1
    _ArrayAdd($aTmp, StringTrimLeft(StringTrimRight($string[$i], 4), 2))
    Next
    $indx = _ArrayMaxIndex($aTmp, 1, 1)
    MsgBox(0, 'Höchster Wert', $string[$indx])

    [/autoit]
  • bestimmten Eintrag im ListView editieren (über Context-Menü)

    • BugFix
    • 22. Januar 2008 um 16:06

    Die Funktion alleine nützt dir nichts. Dazu brauchst du auch die 'WinAPI.au3'.

  • Eingaben versteckt senden

    • BugFix
    • 22. Januar 2008 um 15:36

    Schau dir mal: ControlSend() und ControlCommand() an.

  • bestimmten Eintrag im ListView editieren (über Context-Menü)

    • BugFix
    • 22. Januar 2008 um 15:13

    Ich hab mal aus der Hilfedatei ein kleines Bsp. gebastelt mit Rechtsklick zum Ändern des Sub-Items.
    Für alle, die es mal brauchen können.
    Die Zeile: $hWnd = ControlGetHandle('','',$hListView) läßt sich nicht umgehen. Für die neuen Funktionen wird fast immer das Handle benötigt.

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiListView.au3>

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

    GUICreate("(Internal) ListView Get Column", 400, 300)
    $hListView = GUICtrlCreateListView("col1|col2|col3", 2, 2, 394, 268)
    _GUICtrlListView_SetExtendedListViewStyle ($hListView, BitOR($LVS_EX_FULLROWSELECT, $LVS_EX_CHECKBOXES))
    _GUICtrlListView_SetColumnWidth($hListView, 0, 100)
    GUISetState()

    GUICtrlCreateListViewItem("index 0|data1|more1", $hListView)
    GUICtrlCreateListViewItem("index 1|data2|more2", $hListView)
    GUICtrlCreateListViewItem("index 2|data3|more3", $hListView)
    GUICtrlCreateListViewItem("index 3|data4|more4", $hListView)
    GUICtrlCreateListViewItem("index 4|data5|more5", $hListView)

    Do
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_SECONDARYUP
    $hWnd = ControlGetHandle('','',$hListView)
    $indx = _GUICtrlListView_SubItemHitTest($hWnd)
    $newText = InputBox('Wert ändern', 'Zeile: ' & $indx[0]+1 & '/Spalte: ' & $indx[1]+1, _GUICtrlListView_GetItemText($hWnd, $indx[0], $indx[1]))
    If $newText <> '' Then _GUICtrlListView_SetItemText($hWnd, $indx[0], $newText, $indx[1])
    EndSwitch
    Until $msg = $GUI_EVENT_CLOSE
    GUIDelete()

    [/autoit]
  • bestimmten Eintrag im ListView editieren (über Context-Menü)

    • BugFix
    • 22. Januar 2008 um 14:49
    [autoit]

    _GUICtrlListView_SubItemHitTest($ListView)

    [/autoit]


    Kannste alt wer'n, wie 'ne Kuh - lernste immer noch dazu :rofl:
    Bei der Vielzahl von Func's findet man sich kaum noch durch :wacko:

  • bestimmten Eintrag im ListView editieren (über Context-Menü)

    • BugFix
    • 22. Januar 2008 um 14:29

    Achso, du möchtest ein Subitem per Klick auswählen und bearbeiten - das ist meines Wissens nicht möglich.
    Du kannst dir nur den Index (oder auch Text) eines gesamten Items (inkl. Subitems) zurückgeben lassen. z.B. Auslösen mit re. Maustaste.
    Für das Subitem selber mußt du den Spaltenindex selber angeben.

    [autoit]

    $msg = GUIGetMsg()
    Case $msg = $GUI_EVENT_SECONDARYUP
    $indxRow = _GUICtrlListView_GetSelectedIndices($hListView, True)
    $SpaltenText = _GUICtrlListView_GetItemText($hListView, $indxRow[1], 'SpaltenIndex') ; 'SpaltenIndex' mußt du vorgeben

    [/autoit]
  • Dateien teilen

    • BugFix
    • 22. Januar 2008 um 13:46

    Hi,
    versuchs mal so:

    [autoit]

    #include <File.au3>
    Global $Quelle = 'Dateipfad'
    Global $aFile, $n = 0, $FileOut = 'Datei1_', $sfx = '.txt'

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

    _FileReadToArray($Quelle, $aFile)
    For $i = 1 To UBound($aFile) -1
    If Mod($i, 100) = 1 Then $n += 1
    FileWriteLine($FileOut & $n & $sfx, $aFile[$i])
    Next

    [/autoit]
  • Schreiben in eine XML Datei

    • BugFix
    • 22. Januar 2008 um 12:54

    Oder so:

    [autoit]

    $fh = FileOpen($Datei, 0)
    $str = FileRead($fh)
    $str = StringRegExpReplace($str, '(?<=<entry name="W">)\d{1,4}(?=</entry>)', 1920)
    FileClose($fh)
    FileDelete($Datei)
    $fh = FileOpen($Datei, 1)
    FileWrite($fh, $str)
    FileClose($fh)

    [/autoit]
  • cplexe.exe

    • BugFix
    • 22. Januar 2008 um 12:39

    Büddeschön ;)

    Dateien

    cplexe.zip 21,15 kB – 548 Downloads
  • _FileReadToArray, StringInStr & StringReplace

    • BugFix
    • 22. Januar 2008 um 00:44

    Mach es doch komplett mit AutoIt, dann ist es sicher einfacher.
    Ungetestet:

    [autoit]

    $str = "********013000.000000-420"
    $num = 1
    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $objNewJob = $objWMIService.Get("Win32_ScheduledJob")
    $errJobCreated = $objNewJob.Create("C:\BKU\Update\update.exe", $str, True , $num, , , 'JobID')
    MsgBox(0, '', $errJobCreated)

    [/autoit]
  • Radiobuttons

    • BugFix
    • 22. Januar 2008 um 00:29

    Du hast das Event für den Button falsch gesetzt.
    Du hast:

    [autoit]

    GUISetOnEvent($button, "_button")

    [/autoit]


    Richtig:

    [autoit]

    GUICtrlSetOnEvent($button, "_button")

    [/autoit]
  • Radiobuttons

    • BugFix
    • 21. Januar 2008 um 22:18

    Na Punkt 1, 2 und 3 meiner Antwort.
    Du solltest zuerst alle Elemente der GUI deklarieren und erst dann anzeigen lassen.
    Außerdem hast du keine Endlos-Schleife drin. Die brauchst du aber, sonst flackert dein Monitor nur kurz und dann ist das Programm beendet.
    Vergleiche doch meinen Code mit deinem, dann siehst du den Unterschied.

  • Radiobuttons

    • BugFix
    • 21. Januar 2008 um 21:56

    Naja, ein paar grundlegende Fehler:
    1. Alle Elemente der GUI deklarieren
    und erst dann
    2. GUI anzeigen
    3. wird eine Endlosschleife benötigt
    4. Ist der Button total überflüssig

    Spoiler anzeigen
    [autoit]

    #include <guiconstants.au3>
    Opt("GUIOnEventMode", 1)
    GUICreate ("blubb", 400, 120) ; GUI NAME
    GUISetOnEvent($GUI_EVENT_CLOSE, '_ende')
    $haha1 = GUICtrlCreateRadio ("1", 70, 25) ; Wahlfelder
    GUICtrlSetOnEvent(-1, '_go1')
    $haha2 = GUICtrlCreateRadio ("2", 150, 25)
    GUICtrlSetOnEvent(-1, '_go2')
    $haha3 = GUICtrlCreateRadio ("3", 230, 25)
    GUICtrlSetOnEvent(-1, '_go3')
    $haha4 = GUICtrlCreateRadio ("4", 310, 25)
    GUICtrlSetOnEvent(-1, '_go4')

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

    GUISetState(@SW_SHOW)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _ende()
    Exit
    EndFunc

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

    func _go1()
    run ("C:/Programme/Mozilla Firefox/firefox.exe")
    exit
    endfunc

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

    func _go2()
    run ("C:/Programme/Mozilla Firefox/firefox.exe")
    exit
    endfunc

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

    func _go3()
    run ("C:/Programme/Mozilla Firefox/firefox.exe")
    exit
    endfunc

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

    func _go4()
    run ("C:/Programme/Mozilla Firefox/firefox.exe")
    exit
    endfunc

    [/autoit]

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™