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

Beiträge von Oscar

  • Prüfen ob Programm richtig installiert wurde

    • Oscar
    • 3. April 2009 um 17:03

    Naja, ob es wirklich richtig installiert wurde kann man wohl nur feststellen indem man das Programm startet, aber ich denke, das wird wohl nicht nötig sein, oder?
    Ansonsten reicht es vielleicht aus, nach der Installation mit DirGetSize() die Größe des Zielverzeichnisses mit einem vorher abgespeicherten Wert zu vergleichen.

  • System Active Time

    • Oscar
    • 3. April 2009 um 15:55

    Hier noch eine WMI-Version (mit Datum und Uhrzeit):

    Spoiler anzeigen
    [autoit]


    $objWMIService = ObjGet('winmgmts:\\localhost\root\CIMV2')
    $colItems = $objWMIService.ExecQuery('SELECT * FROM Win32_OperatingSystem', 'WQL', 0x30)
    If IsObj($colItems) Then
    For $objItem In $colItems
    $Output = 'Zuletzt gestartet: ' & _WMIDateStringToDate($objItem.LastBootUpTime)
    Next
    Else
    $Output = 'No WMI Objects Found for class: Win32_OperatingSystem'
    EndIf
    MsgBox(0,0,$Output)

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

    Func _WMIDateStringToDate($dtmDate)
    Return StringRegExpReplace($dtmDate, '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2}).*', '$3.$2.$1 $4:$5:$6')
    EndFunc

    [/autoit]
  • TCP Port der Fritz Box abhören?

    • Oscar
    • 3. April 2009 um 15:38

    Das funktioniert ja tatsächlich?! :thumbup:
    Obwohl ich bei meiner FritzBox ein Passwort gesetzt habe, werden die Anruf-Informationen an das Programm weitergeleitet.
    Das eröffnet ja ungeahnte Möglichkeiten... :)

  • StringRegExp...ich habe keine Ahnung :(

    • Oscar
    • 3. April 2009 um 04:32

    @Xeno: Wieso sollte das so nicht klappen? Es werden alle Groß- und alle Kleinbuchstaben jeweils einmal aus dem String entfernt (sofern vorhanden) und wenn dann ein Leerstring überbleibt, dann waren keine doppelten Buchstaben dabei.

    Andy: Könnte man so lösen:

    [autoit]


    $string = 'BlablaLambruscoNoch mehr Text'
    $teilstring = 'Lambrusco'
    $array = StringRegExp($string, $teilstring, 3)
    If UBound($array) = 1 Then MsgBox(0, '', '1x vorhanden!')

    [/autoit]
  • StringRegExp...ich habe keine Ahnung :(

    • Oscar
    • 2. April 2009 um 18:11

    Die RegExp-freie Version: :rolleyes:

    [autoit]


    $string = 'Lambrusco'
    MsgBox(0,0,_Double($string))

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

    Func _Double($sTest)
    For $i = 0 To 25
    $sTest = StringReplace($sTest, Chr(65 + $i), '', 1, 1)
    $sTest = StringReplace($sTest, Chr(97 + $i), '', 1, 1)
    Next
    Return $sTest <> ''
    EndFunc

    [/autoit]

    Aber die RegExp-Version gefällt mir besser. :)

  • WIldcard oder sonstige möglichkeit zum filtern

    • Oscar
    • 2. April 2009 um 16:49

    Das kann man ganz anders machen:

    Spoiler anzeigen
    [autoit]


    #include <IE.au3>
    $oIE = _IECreate ("https://www.xing.com/app/search?op=search&no-cache=1&oldop=&keywords=&myc=0&first_name=&last_name=&education=&interests=&org_member=&group=&type=student&company=&title=&previous_company=&previous_title=&industry=&wants=&haves=&zip_code=4*+%22OR%22+5*&city=&province=&country=&lng=de&completed=14")
    $oLinks = _IELinkGetCollection ($oIE)
    $iNumLinks = @extended
    If $iNumLinks = 0 Then Exit MsgBox(0, "Link Info", "No Links found")
    MsgBox(0, "Link Info", $iNumLinks & " links found")
    $file = FileOpen("c:\test.txt", 1)
    For $oLink In $oLinks
    $sLink = $oLink.href
    ConsoleWrite($sLink & @CRLF)
    If StringLeft($sLink, 29) = "https://www.xing.com/profile/" Then FileWriteLine($file, $sLink)
    Next
    FileClose($file)

    [/autoit]


    Allerdings gibt es auf der Seite gar keine Links mit der "/profile/"-Endung. :huh:

  • PCTools falsche Trojanermeldung???

    • Oscar
    • 2. April 2009 um 12:46

    Weil die CB genauso "kompetent" ist, wie die B*ld bei den Tageszeitungen. ;)

  • PCTools falsche Trojanermeldung???

    • Oscar
    • 2. April 2009 um 12:24

    Da, er hat es geschrieben...das "verbotene" Wort... ;)

    Ein solches "Testergebnis" wäre für mich eher ein Grund, das Programm nicht zu nutzen. :D

  • WIldcard oder sonstige möglichkeit zum filtern

    • Oscar
    • 2. April 2009 um 11:37

    Schau mal hier: [ offen ] Youtube-links aus .txt raussuchen lassen

  • TCP Port der Fritz Box abhören?

    • Oscar
    • 2. April 2009 um 11:06

    Es gibt ja für die FritzBox bereits einen Anrufmonitor (von AVM). Vielleicht könnte man da mal den Netzwerk-Verkehr sniffen...
    Wenn man für die FritzBox allerdings ein Passwort gesetzt hat, wird das dort auch abgefragt. Insgesamt dürfte das dann also keine leichte Aufgabe werden.

  • ct Aprilscherz

    • Oscar
    • 2. April 2009 um 09:57

    Ja, ich habe die c't auch abonniert, aber ich lese nicht alles an einem Tag. Das dauert dann schon etwas, bis ich auf den Aprilscherz stosse.

    Stimmt! Die Cartoons von Ritsch&Renn sind auch immer wieder klasse. :)

  • Handling mit GUICtrlCreateMenu

    • Oscar
    • 2. April 2009 um 09:27

    So geht's:

    Spoiler anzeigen
    [autoit]


    #include <ButtonConstants.au3>
    #include <ComboConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>

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

    ;Variablen-Deklaration
    $frm_about = "0"

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

    Opt("GUIOnEventMode", 1)

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

    #Region Main_Dialog
    $Localization = GUICreate("Localization %v - RAG Bildung GmbH - %Time , %Date", 460, 410, 273, 250)
    GUISetFont(10, 400, 0, "Verdana")
    $FirmendatenGroup = GUICtrlCreateGroup("Firmendaten", 1, -1, 457, 145)
    $FirmenDatenList = GUICtrlCreateListView("|||", 16, 24, 426, 110)
    GUICtrlSendMsg(-1, 0x101E, 0, 125)
    GUICtrlSendMsg(-1, 0x101E, 1, 50)
    GUICtrlSendMsg(-1, 0x101E, 2, 75)
    GUICtrlSendMsg(-1, 0x101E, 3, 172)
    GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
    $FirmenDatenList_0 = GUICtrlCreateListViewItem("Ansprechpartner:", $FirmenDatenList)
    $FirmenDatenList_1 = GUICtrlCreateListViewItem("Straße:", $FirmenDatenList)
    $FirmenDatenList_2 = GUICtrlCreateListViewItem("Stadt:", $FirmenDatenList)
    $FirmenDatenList_3 = GUICtrlCreateListViewItem("Postleitzahl:", $FirmenDatenList)
    $FirmenDatenList_4 = GUICtrlCreateListViewItem("Telefonnummer:", $FirmenDatenList)
    $FirmenDatenList_5 = GUICtrlCreateListViewItem("Mobilnummer:", $FirmenDatenList)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $ButtonClose = GUICtrlCreateButton("Close", 367, 359, 91, 25, 0)
    GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
    $ServerDatenGroup = GUICtrlCreateGroup("Server-Daten", 1, 145, 457, 209)
    $StandortAuswahl = GUICtrlCreateCombo("Bildungszentrum wählen", 252, 161, 201, 25)
    GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
    $ServerDaten = GUICtrlCreateListView("|Server-Adresse", 16, 192, 426, 150)
    GUICtrlSendMsg(-1, 0x101E, 0, 125)
    GUICtrlSendMsg(-1, 0x101E, 1, 297)
    GUICtrlSetFont(-1, 8, 400, 0, "Verdana")
    $ServerDaten_0 = GUICtrlCreateListViewItem("DNS-Server:", $ServerDaten)
    $ServerDaten_1 = GUICtrlCreateListViewItem("Domäne:", $ServerDaten)
    $ServerDaten_2 = GUICtrlCreateListViewItem("Proxy:", $ServerDaten)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Datei = GUICtrlCreateMenu("&Datei")
    $DataReset = GUICtrlCreateMenuItem("Daten Zurücksetzen", $Datei)
    $MenuItem5 = GUICtrlCreateMenuItem("", $Datei)
    $SpotAdd = GUICtrlCreateMenuItem("Standort Hinzufügen", $Datei)
    $SpotEdit = GUICtrlCreateMenuItem("Standort Editieren", $Datei)
    $SpotDelete = GUICtrlCreateMenuItem("Standort Entfernen", $Datei)
    $MenuItem4 = GUICtrlCreateMenuItem("", $Datei)
    $Close = GUICtrlCreateMenuItem("Schließen", $Datei)
    $MenuStandorte = GUICtrlCreateMenu("&Standorte")
    $Info = GUICtrlCreateMenu("&Info")
    $About = GUICtrlCreateMenuItem("About", $Info)
    $ChangeLog = GUICtrlCreateMenuItem("Changelog", $Info)
    $MenuItem1 = GUICtrlCreateMenuItem("", $Info)
    $Update = GUICtrlCreateMenuItem("Check for Update", $Info)
    GUICtrlSetState(-1, $GUI_DISABLE)
    #EndRegion Main_Dialog
    GUISetState(@SW_SHOW)

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

    #Region GUICtrlSetOnEvents
    ;Main_Menu CTRLs
    ;~ GUICtrlSetOnEvent($About, "Window_About")
    GUICtrlSetOnEvent($ButtonClose, "Close")
    GUICtrlSetOnEvent($Close, "Close")
    GUISetOnEvent($GUI_EVENT_CLOSE, "Close")

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

    ;Standortbuttons
    ;~ GUICtrlSetOnEvent($ChangeLog, "test")

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

    #EndRegion GUICtrlSetOnEvents

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

    #Region Functions

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

    Init_Menu()

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

    While 1
    Sleep(20)
    WEnd

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

    Func test()
    MsgBox(0, "", $Standort_Anzahl[@GUI_CtrlId-$hMenu[0]+1])
    EndFunc ;==>test

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

    Func Init_Menu()
    ;~ $Standort_Anzahl = IniReadSectionNames("standorte.ini")
    Global $Standort_Anzahl[5] = [4, 'standort1', 'standort2', 'standort3', 'standort4']; nur zum testen

    Global $hMenu[UBound($Standort_Anzahl)]
    For $i = 1 To $Standort_Anzahl[0]
    $hMenu[$i-1] = GUICtrlCreateMenuItem($Standort_Anzahl[$i], $MenuStandorte)
    GUICtrlSetOnEvent(-1, 'test')
    Next
    EndFunc ;==>Init_Menu

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

    Func Close()
    Exit
    EndFunc ;==>Close

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

    #EndRegion Functions

    [/autoit]
  • ct Aprilscherz

    • Oscar
    • 2. April 2009 um 06:46

    Habt ihr den Aprilscherz in der aktuellen ct schon gefunden?

    "Druckertinte als Zahlungsmittel"

    Zitat

    Die Druckerhersteller wollen ihre Druckpatronen sogar optional mit einem Jugendschutz versehen. "Gegen Altersnachweis kann der Kunde spezielle PIN-geschützte Patronen erwerben, mit denen sich dann auch nicht jugendfreies Material zu den marktüblichen Preisen verkaufen lässt" heißt es bei den Druckerherstellern.

    Zitat

    Für den höheren Preis der "Porno-Patronen" spricht die Tatsache, dass Drucker für nicht jugendfreie Inhalte gemäß PPP-Spezifikation vorzugsweise mit einer zusätzlichen Aufnahme für eine weitere Schwarzpatrone versehen sein sollen.

    Ich schmeiss mich weg... :rofl:

    Müsst ihr euch durchlesen. Der Aprilscherz ist mal wieder wirklich gut. :thumbup:

  • Autoit und Koda

    • Oscar
    • 2. April 2009 um 06:29

    Ich benutze KODA schon lange nicht mehr. Ist mir zu umständlich. Die ganzen Parameter immer einzeln eintragen. Das geht "von Hand" mittlerweile schneller.
    Und wenn man mehrere gleiche GUI-Elemente erstellen will (z.B. Tastenfeld) dann ist KODA ein Graus. Bis man die alle richtig ausgerichtet hat...
    Nee...nee...eine einfache For...Next-Schleife, ein bißchen rechnen und gut ist... ;)
    Im "Trial & Error"-Verfahren klappt das eigentlich ganz gut. :)

    Aber "das ist jedem seine Sache", wie meine Oma immer zu sagen pflegte. :D

  • Youtube-links aus .txt raussuchen lassen

    • Oscar
    • 2. April 2009 um 06:15

    Und hier eine Lösung mit StringRegExp:

    Spoiler anzeigen
    [autoit]


    $sFile = FileRead(@ScriptDir & '\Neu Textdokument (2).txt')
    $aLinks = StringRegExp($sFile, '"(http://de\.youtube\.com.*?)"', 3)
    If Not IsArray($aLinks) Then Exit MsgBox(0, 0, 'Keine Links gefunden!')
    $hFile = FileOpen(@ScriptDir & '\YouTubeLinks.txt', 2)
    If $hFile <> -1 Then
    For $i = 0 To UBound($aLinks) - 1
    FileWrite($hFile, $aLinks[$i] & @CRLF)
    Next
    FileClose($hFile)
    EndIf

    [/autoit]
  • Dateien ausschließen

    • Oscar
    • 31. März 2009 um 17:44

    Beschreib mal was Du machen willst. Wobei sollen Dateien ausgeschlossen werden?

  • Hotkey & Remote- und ICA-Sitzungen

    • Oscar
    • 31. März 2009 um 16:16

    Bitte unterlasse das pushen nach noch nicht mal 2 Stunden. Es nervt gewaltig! Das hier ist kein Chat!

  • FReigabe von USB Laufwerken

    • Oscar
    • 31. März 2009 um 15:59

    Versuch's mal hiermit:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>

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

    Global $aDrives = DriveGetDrive('ALL')

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

    Global Const $WM_DEVICECHANGE = 0x0219

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

    GUICreate('USB-Netzwerk-Deaktivierer')
    GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE')

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

    While 1
    Sleep(100)
    WEnd

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

    Func MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam)
    Local Const $DBT_DEVICEARRIVAL = 0x8000 ; A device or piece of media has been inserted and is now available.
    Local Const $DBT_DEVICEREMOVECOMPLETE = 0x8004 ; A device or piece of media has been removed.
    Local $aNew = DriveGetDrive('ALL')
    Switch $wParam
    Case $DBT_DEVICEARRIVAL
    For $i = 1 To $aNew[0]
    $iHit = 0
    For $j = 1 To $aDrives[0]
    If $aNew[$i] = $aDrives[$j] Then
    $iHit = $j
    ExitLoop
    EndIf
    Next
    If $iHit = 0 Then TrayTip('Hinzugefügt', 'Laufwerk ' & $aNew[$i], 5, 1)
    Next
    $aDrives = $aNew
    Case $DBT_DEVICEREMOVECOMPLETE
    For $i = 1 To $aDrives[0]
    $iHit = 0
    For $j = 1 To $aNew[0]
    If $aDrives[$i] = $aNew[$j] Then
    $iHit = $j
    ExitLoop
    EndIf
    Next
    If $iHit = 0 Then TrayTip('Entfernt', 'Laufwerk ' & $aDrives[$i], 5, 1)
    Next
    $aDrives = $aNew
    EndSwitch
    Return $GUI_RUNDEFMSG
    EndFunc ;==>MY_WM_DEVICECHANGE

    [/autoit]

    Und keine MsgBoxen innerhalb der Funktion "MY_WM_DEVICECHANGE" benutzen. Zitat aus der Hilfe:

    Zitat


    Warning: blocking of running user functions which executes window messages with commands such as "Msgbox()" can lead to unexpected behavior, the return to the system should be as fast as possible !!!

  • GUIRegisterMsg($WM_MOUSEHOVER,"Hover") erklären?!

    • Oscar
    • 31. März 2009 um 04:42

    Sehe ich genauso wie Raupi. Den ersten Post zu löschen ist keine gute Idee, da der Bezug fehlt.
    [Hab ihn wiederhergestellt!]

  • Das in Arrays umwandeln

    • Oscar
    • 31. März 2009 um 04:39

    Es geht schon noch etwas kürzer: ;)

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <EditConstants.au3>

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

    $Form1_1 = GUICreate("Rechner", 184, 186, 554, 408)
    $Input6 = GUICtrlCreateInput("", 16, 16, 110, 20, BitOR($ES_CENTER, $ES_AUTOHSCROLL, $ES_NUMBER))
    GUICtrlSetFont(-1, 10, 400, 0, "Arial")
    Global $Button = StringSplit('1|4|7|.|2|5|8|0|3|6|9|=|+|-|*|/', '|', 2)
    For $i = 0 To UBound($Button) - 1
    $Button[$i] = GUICtrlCreateButton($Button[$i], 16 + Int($i / 4) * 32 + ($i > 11) * 8, 48 + Mod($i, 4) * 32, 25 + ($i > 11) * 16, 25)
    Next
    $Button17 = GUICtrlCreateButton("Clear", 128, 16, 33, 20)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button[11]
    GUICtrlSetData($Input6, Execute(GUICtrlRead($Input6)))
    EndSwitch
    For $j = 0 To UBound($Button) - 1
    If $nMsg = $Button[$j] And $j <> 11 Then
    ControlCommand($Form1_1, "", $Input6, "EditPaste", ControlGetText($Form1_1, "", $Button[$j]))
    ExitLoop
    EndIf
    Next
    WEnd

    [/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™