Hallo liebe Community
Ich bin dabei, einen W-LAN Hotspot Programm (So was wie Connectify) zu programmieren und bin gut dran.
Nur mal eine kleine Frage wegen Sauberkeit und weil ich unerfahren mit Arrays bin:
Sieht so ein Script "gut" aus oder kann man es auch weiter kürzen oder schöner schreiben?
Spoiler anzeigen
; _ArrayDisplay() ist hier als Debugging gedacht, sie werden später entfernt.
#include <Constants.au3>
#include <Array.au3>
#include <StringConstants.au3>
_GetHostedNetworkSetting()
[/autoit] [autoit][/autoit] [autoit]Func _GetHostedNetworkSetting()
;Wir wollen hier Modus, SSID-Name, Maximale Clientanzahl, Authentifizierung, Verschlüsselung.
Local $aFinalArray[11]
Local $iFACounter = 1
$sOutput = _CMDRead("netsh wlan show hostednetwork") ;Ausführen des Consolenbefehls
$aFullResult = StringSplit($sOutput, @CR) ;Aufteilen des Resultats
_ArrayDisplay($aFullResult) ;Ausgabe wie es in CMD ist
For $iArrayCounter = 4 To 8 Step 1 ;Auslesen der einzelnen Einstellungen
[/autoit] [autoit][/autoit] [autoit]$aLineResult = StringSplit($aFullResult[$iArrayCounter], ":") ;Aufteilung zwischen Einstellungen und Zustand
_ArrayDisplay($aLineResult) ;Ausgabe pro Einstellung
;Löschen der unnötigen Leerzeichen
$sResultL = StringStripWS($aLineResult[1], $STR_STRIPLEADING + $STR_STRIPTRAILING + $STR_STRIPSPACES)
$sResultR = StringStripWS($aLineResult[2], $STR_STRIPLEADING + $STR_STRIPTRAILING + $STR_STRIPSPACES)
;Resultate in einen Array schreiben
$aFinalArray[$iFACounter] = $sResultL
$iFACounter += 1
$aFinalArray[$iFACounter] = $sResultR
$iFACounter += 1
Next
_ArrayDisplay($aFinalArray) ;Fertiger Array
Return $aFinalArray
EndFunc
Func _CMDRead($command)
Local $line
$CMD = Run(@ComSpec & " /c " & $command, @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)
[/autoit] [autoit][/autoit] [autoit]While 1
$line &= StdoutRead($CMD)
If @error Then ExitLoop
Wend
Return $line
EndFunc