Anzeige:
Ergebnis 1 bis 3 von 3

Thema: AutoIt StringInStr mit mehreren Substrings

  1. #1
    Registrierter Benutzer Avatar von Paul Kemp
    Registriert seit
    04.12.2007
    Beiträge
    34

    AutoIt StringInStr mit mehreren Substrings

    Hallo!!!

    Ich habe lange das Netz durchsucht und leider keine Antwort auf meine Frage gefunden.

    Ich möchte gern ein Eingabefeld kontrollieren, ob es (mehrere) bestimmte Zeichen enthält. Ich möchte ungern mehrfach die gleiche If-Schleife verwenden und hoffe daher alles in einer Schleife lösen zu können.

    Code:
    			
    If StringInStr($Inputhex, "h") > 0   Then
       MsgBox(16, "Warnung", "only numbers (0-9) and characters from ""a"" to ""g"" possible.")
       ContinueLoop
    EndIf
    Oben im Beispiel wird in dem Eingabefeld Inputhex nur nach "h" gesucht, ich möchte jedoch gern nach alle Buchstaben von h bis z suchen. Könnt ihr mir bitte mit der Syntax helfen?

    Vielen Dank und viele Grüße!!!!

    Paule
    LaTeX Anfänger, aber Anwender
    Java und HTML Neuling
    AutoIt-er und C/C++-ler
    ... und überhaupt neugierig

  2. #2
    Registrierter Benutzer Avatar von jeebee
    Registriert seit
    01.01.2005
    Ort
    Bern || Zürich
    Beiträge
    540
    0) eine "If-Schleife" ist keine Schleife, sondern eine Bedingung.

    1) Seit wann ist 'g' eine gültige Hex-Ziffer? (Mal angenommen, $Inputhex sei nicht völlig falsch benannt)

    2) Ich bin mir ziemlich sicher, dass es eine Funktion gibt, die genau das tut, was du haben möchtest... eh voilà: StringIsXDigit($Inputhex) (http://www.autoitscript.com/autoit3/...ngIsXDigit.htm)

    Damit sieht dein code so aus:
    Code:
    If StringIsXDigit($Inputhex) Then
       MsgBox(16, "Warnung", "only numbers (0-9) and characters from ""a"" to ""f"" possible.")
    EndIf
    edit: alternativ kannst du auch eine For-Schleife verwenden:
    Code:
    For $char = "g" To "z"
        If StringInStr($Inputhex, $char) > 0 Then
           MsgBox(...)
        EndIf
    Next

    PS: Bin mir bei der Syntax fürs For nicht ganz sicher, ob alles stimmt.
    Geändert von jeebee (30-06-2010 um 21:00 Uhr)
    my very own 128 bit integer
    C4 D3 B8 A8 9E A0 C6 EC 7D EC A8 15 28 D1 92 58
    more information

  3. #3
    Registrierter Benutzer Avatar von Paul Kemp
    Registriert seit
    04.12.2007
    Beiträge
    34
    Danke jeebee, hat perfekt funktioniert! Mit 0 und 1 hast du natürlich vollkommen recht!

    Viele Grüße!
    LaTeX Anfänger, aber Anwender
    Java und HTML Neuling
    AutoIt-er und C/C++-ler
    ... und überhaupt neugierig

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •