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.
Beiträge von Oscar
-
-
Hier noch eine WMI-Version (mit Datum und Uhrzeit):
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [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)Func _WMIDateStringToDate($dtmDate)
[/autoit]
Return StringRegExpReplace($dtmDate, '(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2}).*', '$3.$2.$1 $4:$5:$6')
EndFunc -
Das funktioniert ja tatsächlich?!
Obwohl ich bei meiner FritzBox ein Passwort gesetzt habe, werden die Anruf-Informationen an das Programm weitergeleitet.
Das eröffnet ja ungeahnte Möglichkeiten...
-
@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]
[/autoit]
$string = 'BlablaLambruscoNoch mehr Text'
$teilstring = 'Lambrusco'
$array = StringRegExp($string, $teilstring, 3)
If UBound($array) = 1 Then MsgBox(0, '', '1x vorhanden!') -
Die RegExp-freie Version:
[autoit]
[/autoit][autoit][/autoit][autoit]
$string = 'Lambrusco'
MsgBox(0,0,_Double($string))Func _Double($sTest)
[/autoit]
For $i = 0 To 25
$sTest = StringReplace($sTest, Chr(65 + $i), '', 1, 1)
$sTest = StringReplace($sTest, Chr(97 + $i), '', 1, 1)
Next
Return $sTest <> ''
EndFuncAber die RegExp-Version gefällt mir besser.

-
Das kann man ganz anders machen:
Spoiler anzeigen
[autoit]
[/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)
Allerdings gibt es auf der Seite gar keine Links mit der "/profile/"-Endung.
-
Weil die CB genauso "kompetent" ist, wie die B*ld bei den Tageszeitungen.

-
Da, er hat es geschrieben...das "verbotene" Wort...

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

-
Schau mal hier: [ offen ] Youtube-links aus .txt raussuchen lassen
-
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. -
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.

-
So geht's:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <ListViewConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>;Variablen-Deklaration
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
$frm_about = "0"Opt("GUIOnEventMode", 1)
[/autoit] [autoit][/autoit] [autoit]#Region Main_Dialog
[/autoit] [autoit][/autoit] [autoit]
$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)#Region GUICtrlSetOnEvents
[/autoit] [autoit][/autoit] [autoit]
;Main_Menu CTRLs
;~ GUICtrlSetOnEvent($About, "Window_About")
GUICtrlSetOnEvent($ButtonClose, "Close")
GUICtrlSetOnEvent($Close, "Close")
GUISetOnEvent($GUI_EVENT_CLOSE, "Close");Standortbuttons
[/autoit] [autoit][/autoit] [autoit]
;~ GUICtrlSetOnEvent($ChangeLog, "test")#EndRegion GUICtrlSetOnEvents
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]#Region Functions
[/autoit] [autoit][/autoit] [autoit]Init_Menu()
[/autoit] [autoit][/autoit] [autoit]While 1
[/autoit] [autoit][/autoit] [autoit]
Sleep(20)
WEndFunc test()
[/autoit] [autoit][/autoit] [autoit]
MsgBox(0, "", $Standort_Anzahl[@GUI_CtrlId-$hMenu[0]+1])
EndFunc ;==>testFunc Init_Menu()
[/autoit] [autoit][/autoit] [autoit]
;~ $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_MenuFunc Close()
[/autoit] [autoit][/autoit] [autoit]
Exit
EndFunc ;==>Close#EndRegion Functions
[/autoit] -
Habt ihr den Aprilscherz in der aktuellen ct schon gefunden?
"Druckertinte als Zahlungsmittel"
ZitatDie 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.
ZitatFü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...

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

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

-
Und hier eine Lösung mit StringRegExp:
Spoiler anzeigen
[autoit]
[/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 -
Beschreib mal was Du machen willst. Wobei sollen Dateien ausgeschlossen werden?
-
Bitte unterlasse das pushen nach noch nicht mal 2 Stunden. Es nervt gewaltig! Das hier ist kein Chat!
-
Versuch's mal hiermit:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>Global $aDrives = DriveGetDrive('ALL')
[/autoit] [autoit][/autoit] [autoit]Global Const $WM_DEVICECHANGE = 0x0219
[/autoit] [autoit][/autoit] [autoit]GUICreate('USB-Netzwerk-Deaktivierer')
[/autoit] [autoit][/autoit] [autoit]
GUIRegisterMsg($WM_DEVICECHANGE, 'MY_WM_DEVICECHANGE')While 1
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
Sleep(100)
WEndFunc MY_WM_DEVICECHANGE($hWnd, $Msg, $wParam, $lParam)
[/autoit]
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_DEVICECHANGEUnd 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 !!! -
Sehe ich genauso wie Raupi. Den ersten Post zu löschen ist keine gute Idee, da der Bezug fehlt.
[Hab ihn wiederhergestellt!] -
Es geht schon noch etwas kürzer:
Spoiler anzeigen
[autoit]
[/autoit] [autoit][/autoit] [autoit]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <EditConstants.au3>$Form1_1 = GUICreate("Rechner", 184, 186, 554, 408)
[/autoit] [autoit][/autoit] [autoit]
$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)While 1
[/autoit]
$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