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

Beiträge von Donsen64

  • Zeichenkette Formatiert zusammen ausgeben

    • Donsen64
    • 9. Januar 2015 um 18:03

    Ich hatte eigentlich gehofft das da etwas mit StringFormat zu machen ist.

    Gruß Ingo

  • Zeichenkette Formatiert zusammen ausgeben

    • Donsen64
    • 9. Januar 2015 um 17:56

    Habe es bis jetzt so gelöst:

    [autoit]

    Select
    Case ($Text1 = "") And ($Text2 = "")
    $TXT = ""

    Case ($Text1 <> "") And ($Text2 = "")
    $TXT = $Text1

    Case ($Text1 = "") And ($Text2 <> "")
    $TXT = $Text2

    Case Else
    $TXT = $Text1 & " -- " & $Text2
    EndSelect

    [/autoit]
  • Zeichenkette Formatiert zusammen ausgeben

    • Donsen64
    • 9. Januar 2015 um 17:42

    Hallo,
    ich habe zwei Zeichenketten $Text1 und $Text2 die zusammen getrennt durch " -- " ausgegeben werden sollen. Der Trenner soll aber nur drin sein wenn beide Zeichenketten einen Text enthalten.

    Ich vermute das ich dies mit StringFormat machen könnte habe aber leider keine Ahnung wie. =O

    Gruß Ingo

  • DirectAccess

    • Donsen64
    • 31. Dezember 2014 um 13:48

    Hallo,
    hier meine Lösung zu dem Problem. :P

    Gruß Ingo

    Spoiler anzeigen
    [autoit]

    Func INUDF_ConnectedViaDirectAccess()
    #cs ================================================================================
    Beschreibung:
    Prüft ob ein DirectAccess Verbindung aufgebaut ist.

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

    Übergabewerte:
    keine

    Rückgabewert:
    DirectAccess Verbindung besteht => "yes"
    keine DirectAccess Verbindung => "no"
    #ce ================================================================================
    Local $ProzessesID
    Local $line

    $ProzessesID = Run(@ComSpec & " /c netsh interface teredo show state", @SystemDir, @SW_HIDE, $STDERR_CHILD + $STDOUT_CHILD)

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

    While 1
    $line = $line & StdoutRead($ProzessesID)
    If @error Then ExitLoop ; wenn ein Fehler beim Lesen aufgetreten ist verlassen
    Sleep (10)
    Wend

    If StringInStr ($line, "qualified") = 0 Then
    Return "no"
    Else
    Return "yes"
    EndIf
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Beschreibung zur StringInStr Funktion

    • Donsen64
    • 9. Dezember 2014 um 17:20

    Hallo Alina,
    ich kann dir nur voll zustimmen. In unserem Bereich lernt man nie aus, das ist ja auch das schöne an unserem Beruf.

    Gruß Ingo

  • Beschreibung zur StringInStr Funktion

    • Donsen64
    • 9. Dezember 2014 um 08:54

    Hallo zusammen,
    ich wusste schon, dass ich nicht viel Ahnung von Programmierung habe. Aber das es so schlimm ist war mir dann doch nicht bewusst. Ich hoffe nur das alle anderen AutoIT Nutzer besser sind als ich und solche "Selbstverständlichkeiten" immer genau wissen und auch umsetzen können. Eigentlich hatte ich AutoIT als eine Programmiersprache für genau solche Gelegenheitsprogrammierer wie ich das bin verstanden und wollte vermeiden, dass andere genau den gleichen Fehler machen.

    Aber auf jeden Fall vielen Dank an alle, ich habe etwas dazu gelernt und weiß jetzt sicher wie die Funktion StringInStr arbeitet. :)

    Bitte den Beitrag nicht falsch verstehen, ich weiß welche hervorragende Arbeit hier im Forum und bei der Programmierung von AutoIT geleistet wird und bin auch immer sehr dankbar wenn ich hier Anregungen für meine Projekte bekomme! :rock:

    Gruß Ingo

  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 6. Dezember 2014 um 15:55

    Hallo,
    das ist aber wirklich sehr kompakt. Es ist schon beeindruckend was alles so möglich ist mit AutoIT.

    Gruß Ingo

  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 6. Dezember 2014 um 14:45

    Hallo Andy,
    vielen Dank für deinen Vorschlag. Die Lösung ist ja supi, danke dafür!!

    Gruß Ingo

  • Beschreibung zur StringInStr Funktion

    • Donsen64
    • 6. Dezember 2014 um 10:29

    Hallo zusammen,
    Ok da habe ich wohl wirklich die Beschreibung nicht richtig verstanden. Vielen Dank an Andy für seine umfangreichen Ausführungen! Habe übrigens den Titel mal gleich geändert, ist ja keine Fehler in der Beschreibung sondern der Fehler sitzt 80cm vor dem Bildschirm. :)

    Allerdings könnte ich mir vorstellen, dass ich nicht der einzige bin dem es so geht. Um das zu vermeiden könnte eine Anpassung der Hilfe nach meiner Meinung durchaus hilfreich sein. Hier meine Vorschläge:

    Zitat

    Rückgabewert
    Erfolg: Gibt die Position des Unterstrings unabhängig von der Suchrichtung immer von links zurück.

    Zitat

    occurrence [optional] Das wievielte Auftreten des Unterstrings soll gefunden werden. Ist der Wert negativ, wird von rechts ausgehend gesucht, das zurückgegebene Ergebnis ist aber trotzdem von links aus gesehen. Der Standardwert ist 1 (erstes Auftreten von links ausgehend).


    Soweit meine Vorschläge für eine Optimierung der Hilfe in diesem Bereich. Die AutoIT Version ist übrigens die 3.3.12.0.

    Gruß Ingo

  • Beschreibung zur StringInStr Funktion

    • Donsen64
    • 5. Dezember 2014 um 23:44

    Hallo,
    in der Beschreibung zur StringInStr steht folgendes:

    Zitat

    StringInStr ( "string", "substring" [, casesense [, occurrence [, start [, count]]]] )
    ....
    occurrence >>> [optional] Das wievielte Auftreten des Unterstrings soll gefunden werden. Ist der Wert negativ, wird von rechts ausgehend gesucht. Der Standardwert ist 1 (erstes Auftreten von links ausgehend).

    Die Aussage "Ist der Wert negativ, wird von rechts ausgehend gesucht." stimmt nicht, es wird immer von links gesucht! :rofl:

    Eine Lösung wenn trotzdem von rechts gesucht werden soll ist folgende:
    $iPosTrennzeichen = StringInStr(StringReverse($sText), " ")

    Gruß Ingo

  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 5. Dezember 2014 um 23:31

    Hallo,
    ich habe mal etwas zusammen gebaut. Ist zwar noch nicht wirklich optimal aber ein Anfang. Eventuell werde ich noch etwas erweitern, so dass er auch andere Sonderzeichen als Trennstelle akzeptiert. Im Moment trennt er einfach im Word wenn er kein Leerzeichen findet.

    Gruß Ingo

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>

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

    Global $TEMP
    Global $sLangerText

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

    $sLangerText = "Ein sehr langer Text mit vielen Zeichen und vielen Worten der nicht so richtig passen will! Aber der soll hier rein und am besten auf die zweite Zeile!"

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

    $TEMP = LineBreak($sLangerText, 30, 40)

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

    _ArrayDisplay($TEMP)

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

    Func LineBreak($sText, $iLengthMin, $iLengthMax)
    Local $aReturn[1]
    Local $sZwischenMinUndMax
    Local $sTeilString
    Local $iPosTrennzeichen
    Local $iDifferenzLengthMinMax = $iLengthMax - $iLengthMin

    ;wenn der Text kürzer ist als die max. Länge zurück springen
    If StringLen ( $sText) <= $iLengthMax Then
    $aReturn[0] = 1
    _ArrayAdd($aReturn, $sTeilString)
    Return $aReturn
    EndIf

    While 1
    $sZwischenMinUndMax = StringMid($sText, $iLengthMin, $iDifferenzLengthMinMax) ;den möglichen Bereich extrahieren
    $iPosTrennzeichen = StringInStr(StringReverse($sZwischenMinUndMax), " ") ;in möglichen Bereich nach einem Trennzeichen suchen
    $sTeilString = StringLeft($sText, $iLengthMax - $iPosTrennzeichen) ;den ermitteltet Text extrahieren

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

    _ArrayAdd($aReturn, StringStripWS($sTeilString, 3)) ;und in einem Array ablegen
    $aReturn[0] = $aReturn[0] + 1

    $sText = StringTrimLeft($sText, $iLengthMax - $iPosTrennzeichen) ;jetzt den verarbeiteten Bereich aus dem Ausgangstext löschen

    ;wenn nur noch der letzten Teil übrig den noch einfügen und zurück
    If StringLen($sText) <= $iLengthMax Then
    _ArrayAdd($aReturn, StringStripWS($sText, 3))
    $aReturn[0] = $aReturn[0] + 1
    Return $aReturn
    EndIf
    WEnd
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 3. Dezember 2014 um 16:06

    Hallo Alina,
    gute Idee werte ich mal machen.

    Gruß Ingo

  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 3. Dezember 2014 um 13:49

    Hallo Alina,
    vielen Dank für deine schnelle Antwort. Ich glaube die Aufteilung am Trennzeichen werde ich wohl aufgreifen und mit StringSplit($text, " ") den Text in eingelne Worte zerlegen und danach neu zusammen setzen.

    Gruß Ingo

  • Zeilenumbruch in einer Tabelle

    • Donsen64
    • 2. Dezember 2014 um 23:49

    Hallo,
    ich habe ein Problem mit dem Aufbau einer Tabelle und der Aufteilung eines Textest in zwei Zeilen. Ich würde gern den Inhalt von $aResult[0][2] auf zwei Zeilen aufteilen wollen. So das sich das folgende Bild ergeben würde:

    223-223-9993-9980-229 Ein sehr langer Text mit vielen Zeichen und vielen Worten der nicht so richtig passen will! .....Hier noch ein weiterer Text der auch etwas länger sein kann
    Aber soll hier rein am besten auf die zweite Zeile!

    Hat jemand eine Idee wie ich das am einfachsten realisieren könnte.

    Gruß Ingo

    Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #Include <GuiButton.au3>

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

    Local $aResult[1][3]
    Local $sGUIEditInhalt
    Local $iLen
    Local $iDescriptionLen
    Local $iAbstand = 2

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

    $GUI_Tabelle = GUICreate("Tabelle",1122,655,-1,-1,-1,-1)
    $GUICtrlButtonExit = GUICtrlCreateButton("Exit",1001,574,100,30,-1,-1)
    $GUIEdit = GUICtrlCreateEdit("",20,10,1081,530,-1,-1)
    GUICtrlSetFont(-1,5,400,0,"Courier")
    GUISetState(@SW_SHOW,$GUI_Tabelle)

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

    $aResult[0][0] = "Hier noch ein weiterer Text der auch etwas länger sein kann"
    $aResult[0][1] = "223-223-9993-9980-229"
    $aResult[0][2] = "Ein sehr langer Text mit vielen Zeichen und vielen Worten der nicht so richtig passen will! Aber soll hier rein am besten auf die zweite Zeile!"

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

    For $i = 0 To UBound($aResult) - 1
    If StringLen($aResult[$i][1]) > $iLen Then $iLen = StringLen($aResult[$i][1]) ;nax Länge IP ermitteln
    If StringLen($aResult[$i][2]) > $iDescriptionLen Then $iDescriptionLen = StringLen($aResult[$i][2]) ;max. Länge Beschreibung ermitteln
    Next

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

    For $i = 0 To UBound($aResult) - 1
    $sGUIEditInhalt = $sGUIEditInhalt & StringFormat("%-" & $iLen + $iAbstand & "s", $aResult[$i][1]) & _
    StringFormat("%-" & $iDescriptionLen + $iAbstand & "s", $aResult[$i][2]) & _
    $aResult[$i][0] & @CRLF
    Next

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

    GUICtrlSetData($GUIEdit, $sGUIEditInhalt, 1)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $GUICtrlButtonExit
    Exit
    EndSwitch
    WEnd

    [/autoit]
  • DirectAccess

    • Donsen64
    • 26. Oktober 2014 um 08:12

    Hallo,
    Ich habe noch folgendes dazu gefunden, eventuell hilft das ja weiter.

    Gruß Ingo

    Überprüfen der Bereitstellung

    Sobald die HTTPS-Verbindung zum Netzwerkadressenserver (Infrastruktur-Server) erfolgreich her- gestellt wurde, deaktiviert der DirectAccess-Client die DirectAccess-Clientkonfiguration und ver- wendet eine direkte Verbindung zum Unternehmensnetzwerk.
    Verbinden Sie einen Clientcomputer mit Ihrem Unternehmensnetzwerk, und melden Sie sich mit ei- nem Domänenbenutzernamen an. Öffnen Sie eine Eingabeaufforderung mit erhöhten Rechten. Ge- ben Sie im Eingabeaufforderungsfenster
    ipconfig /all
    ein. Im Bereich Tunneladapter iphttpsinterface sehen Sie, ob die Verbindung intern oder über Di- rectAccess erfolgt.

    Geben Sie in der PowerShell
    Get-DAConnectionStatus
    ein. Der Status sollte als ConnectedRemotely angegeben werden. In diesem Fall sind Sie mit Direc- tAccess verbunden. Sie sehen das auch, wenn Sie im Desktop auf das Netzwerksymbol klicken. Auch hier sehen Sie den Status der Verbindung. Für Arbeitsbereichverbindung muss der Status Verbunden angegeben sein. Sie können während der Einrichtung aber auch einen eigenen Namen angeben.

    Geben Sie in der PowerShell
    Get-NetIPAddress
    ein, um die IPv6-Konfiguration zu prüfen. Kontrollieren Sie, ob der Tunneladapter iphttpsinterface aktiv ist und eine gültige IP-HTTPS-Adresse hat. Ihr Client verwendet IP-HTTPS für das Tunneling von IPv6-Datenverkehr zum DirectAccess-Server über das Internet.

  • DirectAccess

    • Donsen64
    • 24. Oktober 2014 um 22:30

    Hallo,
    Ja an WMI hatte ich auch schon gedacht. Ich habe aber nicht wirklich etwas gefunden was ich verwende könnte. Hast du eine Idee wo ich da etwas finden könnte.

    Gruß Ingo

  • DirectAccess

    • Donsen64
    • 24. Oktober 2014 um 17:43

    Hallo,
    kennt jemand eine Möglichkeit wie ich auf einem Windows 7 System über AutoIT feststellen kann ob das System grade eine DirectAccess Verbindung verwendet?

    Gruß Ingo

  • IP Adresse bzw. IP Adresse/Netzmaske im Text suchen

    • Donsen64
    • 9. August 2014 um 16:44

    Hallo,
    ich habe noch mal weiter getestet und leider noch einen erlaubten Sonderfall gefunden bei denen die Pattern noch nicht funktionieren:

    10.11.70.1/255.255.255.255 = nur diese einen IP Adresse

    Wie muss ich dazu die Pattern anpassen?

    Gruß Ingo

  • IP Adresse bzw. IP Adresse/Netzmaske im Text suchen

    • Donsen64
    • 5. August 2014 um 12:10

    Hallo AspirinJunkie,
    klasse erklärt!!! Mit den Informationen kann ich das umsetzen.

    Ich kann mich nur nochmals sehr herzlich bei dir für deine Hilfe bedanken!!! :rock:

    Gruß Ingo

  • IP Adresse bzw. IP Adresse/Netzmaske im Text suchen

    • Donsen64
    • 4. August 2014 um 16:43

    Hallo,
    na das nenne ich mal eine Antwort super vielen Dank dafür. Dazu hätte ich bestimmt Tage gebraucht. :rock:

    Nur eine Frage habe ich jetzt noch:
    Du verwendest bei StringRegExp das Flag 4. Dadurch wird scheinbar etwas sehr "spezielles" in dem Array zurück gegeben. Denn _ArrayDisplay($a_Result) zeigt mir nur ein leeres Array. ?(
    Wie bekomme ich das so umgeformt, dass ich normalen Text dort drin habe, den ich weiter verarbeiten kann?

    Nochmals vielen Dank für deine Hilfe!!!!

    Gruß Ingo

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™