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

  • Konvertertool - Ordner übergreifend sauber Dateien suchen und auflisten

    • BugFix
    • 8. Oktober 2008 um 23:29
    Zitat von fachinformadiga

    da die Pfade von Computerprofis angelegt wurden sehen sie ca so aus: /Kunde Berater 34/Daten des Kunden, Beratung offen!/


    :P Das ist doch schon ein Widerspruch in sich. Wenn jemand solche Pfade erstellt, hat er das Recht verwirkt sich Profi zu nennen. :rofl:
    Nur, weil man etwas machen kann, heißt es noch lange nicht, dass man es auch tun muss.
    Und Sonderzeichen in Ordner- oder Dateinamen sind einfach krank. :wacko:

  • Keys aus einer ini auslesen und vergleichen

    • BugFix
    • 8. Oktober 2008 um 23:18

    Hi,
    ist nicht sehr kompliziert:

    [autoit]

    $INI = 'Dateipfad_Deiner.INI'
    $arSections = IniReadSectionNames($INI)
    $Free = ''
    For $i = 1 To UBound($arSections) -1
    If IniRead($INI, $arSections[$i], 'Available', -1) = 0 Then $Free &= $arSections[$i] & ','
    Next
    If StringLen($Free) > 0 Then
    $Free = StringTrimRight($Free, 1)
    Else
    $Free = 'Keine'
    EndIf
    MsgBox(0, '', 'Freie Speicherplätze: ' & $Free)

    [/autoit]
  • GUICtrlCreateListView aktualisieren / oder Inhalt löschen

    • BugFix
    • 8. Oktober 2008 um 23:04

    Es gibt kein "altes" oder "neues" Listview-Control. Es wird nur unterschiedlich generiert.
    Die LV-Form in der UDF gibt ein Handle zurück - alle weiteren Funktionen der UDF erfordern dieses.
    Um alle UDF-Funktionen mit dem "alten" LV nutzen zu können:

    [autoit]

    $ListView = GUICtrlCreateListView(....) ; gibt ID zurück
    $hListView = GUICtrlGetHandle($ListView) ; gibt das Handle zurück

    [/autoit]


    Ich handhabe das grundsätzlich so, und hatte bisher keinerlei LV-Probleme.

  • Wörter zählen

    • BugFix
    • 7. Oktober 2008 um 23:41

    Du hast ja soooo recht :D - an die Negation durch Großbuchstaben denke ich nie, bin irgendwie auf die Kleinen orientiert. :rofl:

  • Wörter zählen

    • BugFix
    • 7. Oktober 2008 um 23:25

    Muß nicht gleich 'ne UDF werden ;)
    Mit RegEx ist es eine Codezeile:

    [autoit]

    $str = 'Das ist ein Wort und auch das ist eins.'
    MsgBox(0, 'Wortzahl', 'Der String enthält: ' & UBound(StringRegExp($str, '[^\s]+', 3)) & ' Worte.')

    [/autoit]


    Man könnte hier noch verfeinern und definieren, was genau ein Wort ist (2 oder 3 Buchstaben min).
    In der momentanen Abfrage werden auch alleinstehende Ziffern, Zeichen als Wort erfaßt.

  • Wörter zählen

    • BugFix
    • 7. Oktober 2008 um 19:58

    Da man davon ausgehen kann, dass die Wörter durch Leerzeichen getrennt sind, einfach StringSplit mit Leerzeichen als Trenner.

  • Arrays vergleichen

    • BugFix
    • 6. Oktober 2008 um 22:11

    Könntest du z.B. so machen:

    [autoit]

    Global $oAList_1 = _ObjAListCreate()
    Global $oAList_2 = _ObjAListCreate()
    Global $Str1 = 'l|p|s|d|u|t'
    Global $Str2 = 'q|o|l|f|p|w'

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

    _ObjAListAddColl($oAList_1, $Str1)
    _ObjAListAddColl($oAList_2, $Str2)

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

    Global $sDiff = ''
    For $element In $oAList_1
    If Not _ObjAListSearch($oAList_2, $element) Then $sDiff &= $element & '|'
    Next
    ConsoleWrite('Unterschied: ' & StringTrimRight($sDiff, 1) & @CRLF)

    [/autoit]
  • Arrays vergleichen

    • BugFix
    • 6. Oktober 2008 um 20:09

    Guckst Du: UDF-Sammlung Array Alternativen ;)

  • Arrays vergleichen

    • BugFix
    • 6. Oktober 2008 um 19:58

    Verwende Array-Alternativen.
    In einer ArrayList kannst du ohne zu suchen direkt auf Existenz eines Elements abfragen. Damit sollte das relativ schnell ablaufen.

  • Programmtraffic ermitteln - wie?

    • BugFix
    • 5. Oktober 2008 um 18:00

    Hi,
    vllt. hilft dir das weiter:

    Spoiler anzeigen
    [autoit]

    $strComputer = "."
    $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")
    $objRefresher = ObjCreate("WbemScripting.SWbemRefresher")
    $colItems = $objRefresher.AddEnum _
    ($objWMIService, "Win32_PerfFormattedData_TCPIP_NetworkInterface").objectSet
    $objRefresher.Refresh

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

    For $i = 1 To 5
    For $objItem In $colItems
    ConsoleWrite("Bytes Received Per Second: " & $objItem.BytesReceivedPersec & @CRLF)
    ConsoleWrite("Bytes Sent Per Second: " & $objItem.BytesSentPersec & @CRLF)
    ConsoleWrite("Bytes Total Per Second: " & $objItem.BytesTotalPersec & @CRLF)
    ConsoleWrite("Caption: " & $objItem.Caption & @CRLF)
    ConsoleWrite("Current Bandwidth: " & $objItem.CurrentBandwidth & @CRLF)
    ConsoleWrite("Description: " & $objItem.Description & @CRLF)
    ConsoleWrite("Name: " & $objItem.Name & @CRLF)
    ConsoleWrite("Output Queue Length: " & $objItem.OutputQueueLength & @CRLF)
    ConsoleWrite("Packets Outbound Discarded: " & $objItem.PacketsOutboundDiscarded & @CRLF)
    ConsoleWrite("Packets Outbound Errors: " & $objItem.PacketsOutboundErrors & @CRLF)
    ConsoleWrite("Packets Per Second: " & $objItem.PacketsPersec & @CRLF)
    ConsoleWrite("Packets Received Discarded: " & $objItem.PacketsReceivedDiscarded & @CRLF)
    ConsoleWrite("Packets Received Errors: " & $objItem.PacketsReceivedErrors & @CRLF)
    ConsoleWrite("Packets Received Non-Unicast Per Second: " & $objItem.PacketsReceivedNonUnicastPersec & @CRLF)
    ConsoleWrite("Packets Received Per Second: " & $objItem.PacketsReceivedPersec & @CRLF)
    ConsoleWrite("Packets Received Unicast Per Second: " & $objItem.PacketsReceivedUnicastPersec & @CRLF)
    ConsoleWrite("Packets Received Unknown: " & $objItem.PacketsReceivedUnknown & @CRLF)
    ConsoleWrite("Packets Sent Non-Unicast Per Second: " & $objItem.PacketsSentNonUnicastPersec & @CRLF)
    ConsoleWrite("Packets Sent Per Second: " & $objItem.PacketsSentPersec & @CRLF)
    ConsoleWrite("Packets Sent Unicast Per Second: " & $objItem.PacketsSentUnicastPersec & @CRLF)
    Sleep(2000)
    $objRefresher.Refresh
    Next
    Next

    [/autoit]
  • Hab ma ne Frage zu meinem Script

    • BugFix
    • 5. Oktober 2008 um 17:36

    Deklarationen (Variablen, Hotkeys) am Skriptanfang!
    Endlosschleifen haben in Funktionen nichts zu suchen.

    Schau dir mal Skripte von anderen Usern an (findest eine reichliche Auswahl hier im Forum), damit du ein sauberes Konzept zusammbekommst.

    P.S. - Schon erstaunlich: Das Skript ist noch nicht mal lauffähig, aber die wichtigste Information, die eingebracht wird, ist ein Copyright!! :rofl:

  • Radio "Gruppen"

    • BugFix
    • 3. Oktober 2008 um 09:46
    Zitat von ManuIt

    BitAND(GUICtrlRead($RadioD[$o]), $GUI_CHECKED) = $GUI_CHECKED


    Das ist doppelt gemoppelt.
    BitAND(GUICtrlRead($RadioD[$o]), $GUI_CHECKED) liefert TRUE, wenn checked, sonst FALSE

  • Silkroad Process Manager

    • BugFix
    • 2. Oktober 2008 um 19:39

    Is klar blubbi :D aber wir waren rechts- und nicht linksorientiert. :rofl:

  • Silkroad Process Manager

    • BugFix
    • 2. Oktober 2008 um 19:15
    Zitat von anno2008


    Wenn ich jetzt StringTrimright("Hallo", 3) machen würde, würde "lo" rausgekommen.


    :D Da hast du aber 2 Befehle verwechselt.
    StringTrimRight("Hallo", 3) liefert "Ha" (die rechten 3 werden abgeschnippelt).
    StringRight("Hallo", 3) liefert "llo" (die rechten 3 werden zurückgegeben).

  • Radio "Gruppen"

    • BugFix
    • 2. Oktober 2008 um 19:08

    OK, hier mal ein Muster:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    Global $arRadio[10], $str

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

    $gui = GUICreate('test', 500, 400)
    GUICtrlCreateGroup('', 10, 10, 400, 60)
    $arRadio[0] = GUICtrlCreateRadio('Radio 1', 20, 20, 70)
    $arRadio[1] = GUICtrlCreateRadio('Radio 2', 20, 45, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup('', 10, 80, 400, 60)
    $arRadio[2] = GUICtrlCreateRadio('Radio 3', 20, 90, 70)
    $arRadio[3] = GUICtrlCreateRadio('Radio 4', 20, 115, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup('', 10, 150, 400, 60)
    $arRadio[4] = GUICtrlCreateRadio('Radio 5', 20, 160, 70)
    $arRadio[5] = GUICtrlCreateRadio('Radio 6', 20, 185, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup('', 10, 220, 400, 60)
    $arRadio[6] = GUICtrlCreateRadio('Radio 7', 20, 230, 70)
    $arRadio[7] = GUICtrlCreateRadio('Radio 8', 20, 255, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUICtrlCreateGroup('', 10, 290, 400, 60)
    $arRadio[8] = GUICtrlCreateRadio('Radio 9', 20, 300, 70)
    $arRadio[9] = GUICtrlCreateRadio('Radio 10', 20, 325, 70)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    For $i = 0 To UBound($arRadio) -2 Step 2
    GUICtrlSetState($arRadio[$i], $GUI_CHECKED)
    Next
    $bCheck = GUICtrlCreateButton('Check', 10, 370, 60, 20)
    GUISetState()

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

    Do
    $msg = GUIGetMsg()
    If $msg = $bCheck Then
    $str = ''
    For $i = 0 To UBound($arRadio) -1
    If BitAND(GUICtrlRead($arRadio[$i]), $GUI_CHECKED) Then
    $str &= ControlGetText("", "", $arRadio[$i]) & @LF
    EndIf
    Next
    MsgBox(0, '', 'Markiert sind: ' & @LF & $str )
    EndIf
    Until $msg = $GUI_EVENT_CLOSE

    [/autoit]
  • Radio "Gruppen"

    • BugFix
    • 2. Oktober 2008 um 18:25

    Klar kommen die MsgBoxen - es sind ja alle Bedingungen erfüllt. Du hast falsch abgefragt und keine Klammern verwendet.
    Case $RadioO[$o] - ist schonmal True
    And BitAND(GUICtrlRead($RadioO[$o]), $GUI_CHECKED) ergibt das True, welches für And notwendig ist und somit ist die gesamte Abfrage wahr!
    = $GUI_CHECKED wird gar nicht mehr geprüft
    Außerdem mußt du für diese Abfrageform Select-Case statt Switch-Case verwenden.

  • Radio "Gruppen"

    • BugFix
    • 2. Oktober 2008 um 18:14

    @Raupi: Was soll das werden? - Eine Zitatschlacht?
    Nur ein Zitat zu bringen ohne eigenen Kommentar ist weitgehend sinnfrei... :S

  • Exceldatenblatterstellung per GUI-Combo

    • BugFix
    • 2. Oktober 2008 um 18:12
    Zitat von BugFix

    In den Combos geht das ja auch jetzt schon - könnte man aber auch ersetzen wegen der Optik ;) .

    Deswegen ;)

  • Radio "Gruppen"

    • BugFix
    • 2. Oktober 2008 um 14:38

    Schau dir

    [autoit]

    GUICtrlCreateGroup()

    [/autoit]

    an.

  • hilfe bei endlos schleife

    • BugFix
    • 2. Oktober 2008 um 10:01
    Zitat von rewejo

    brauch nur noch den abbruch druch benutzer denke muss ne gui werden ,oder?

    HotKey geht auch - oder TrayMenü.

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™