"Or" - Syntax kürzbar?

  • Heyo

    Ich habe wieder eine Anfängerfrage. Und zwar kann man in folgendem Fall die Syntax irgendwie kürzen?

    [autoit]

    If $var = "Hallo" Or $var = "Huhu" Or $var = "Hejo" Then

    [/autoit]

    So im Stile von BitOr wäre das ja viel kürzer und übersichtlicher, aber ich glaub BitOr ist irgendwie für was anderes gedacht. Und mit Case wäre der Aufbau ja im Prinzip gleich.

    Gibt's ne hübsche, kompakte Art und Weise?

    Einmal editiert, zuletzt von klischee (13. Juli 2011 um 15:42)

  • Ah, so läuft das, ich hatte dass irgendwie voll anders im Kopf.

    Viel hübscher, dank dir!

  • BugFix
    Dann müssen aber alle 3 (Hallo Huhu Hejo) vorhanden sein
    oder reicht auch das einzelne Auftreten von Huhu?


    [autoit]

    If StringInStr($s_dsn_driver,"\sqlsrv32.dll") Or $s_dsn_driver = "oracle" Then $s_dsn_label &= $s_dsn_name & "|"

    [/autoit]

    Habe so etwas bei mir eingebaut, oracle ist noch dummy, normal steht was mit orcl..., um nur Oracle und MSSQL DSNs anzuzeigen
    Würde das auch gehen?

    [autoit]

    If StringInStr($s_dsn_driver,"\sqlsrv32.dll \oracle.dll") Then $s_dsn_label &= $s_dsn_name & "|"

    [/autoit]

    Gruß Dietmar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

    • Offizieller Beitrag

    Dann müssen aber alle 3 (Hallo Huhu Hejo) vorhanden sein
    oder reicht auch das einzelne Auftreten von Huhu?


    Das ist ja der Sinn, dass ein einzelnes Auftreten (Substring) geprüft wird. Schau dir doch die Syntaxbeschreibung in der Hilfe an. ;)

    Deines ist nur falsch herum, so gehts:

    [autoit]

    If StringInStr("\sqlsrv32.dll \oracle.dll", $s_dsn_driver, 1) Then $s_dsn_label &= $s_dsn_name & "|"

    [/autoit]
  • Und wenn man bei BugFix' Lösung die Leerzeichen weglässt, spart man nochmal 2 Zeichen :D
    Wenn Groß-/Kleinschreibung egal sein soll, einfach so:

    [autoit]

    If StringInStr("HalloHuhuhuHejohallohejo", $var, 1) Then

    [/autoit]

    edit: Wobei das strenggenommen natürlich keine echte Lösung ist, da es bspw. auch "allo" oder "oHu" matcht.

    Twitter: @L3viathan2142
    Benutze AutoIt persönlich nicht mehr, da ich keinen Windows-Rechner mehr besitze.