Prüfung ob Variable gesetzt ist in einer Function

  • Hallo Leute,

    Ich möchte eine Function schreiben die mir prüft ob eine Variable gesetzt ist oder nicht.
    Als argument für meine funktion will ich 2 variablen namen übergeben.
    die 2.soll für die if bedingung sein mit der ich eine funktionübergebe.

    Code
    [autoit]
    Func _TestVari()
    	Local $TestVariable
    	Local $funktion
    	If $TestVariable istgesetzt Then
    		$funktion
    	EndIf
    EndFunc
    [/autoit]

    geht das so oder wie kann ich es machen?
    wir rufe ich danach die funktion auf?

    Code
    [autoit]
    _TestVari($zutesten, _funktiondiegemachtwerdensoll)
    [/autoit]


    währe echt super so würde ich mir einiges an arbeit sparen
    ist das erste mal das ich objekt orientiert arbeite und ich denke das ist ein guter anfang ;)

  • Ich habe ein Programm geschrieben mit einer .ini datei die beilm start eingelesen wir.
    jetzt soll während des programm ablaufs geprüft werden ob (die variable gesetzt ist oder nicht) und danach noch was ausgeführt werden.
    z. b.

    ist $a gesetzt?
    dann mache die und die funktion

    da ich sowas öffter brauche will ich nicht den code mehrmals schreiben sondern in eine funktion packen damit ich es in einer funktion mit mit 2 werten aufrufen kann (flexibler)

    also eine funktion die prüft ob der übergebene wert (ein variablen name) gesetzt ist und als 2 wert eine funktion ausführt

    • Offizieller Beitrag

    Ich möchte eine Function schreiben die mir prüft ob eine Variable gesetzt ist oder nicht.

    Verwende lieber

    [autoit]

    Opt('MustDeclareVars', 1)

    [/autoit]

    Dann zwingst du dich von Anfang an, deine Variablen sauber zu deklarieren.

    ist das erste mal das ich objekt orientiert arbeite und ich denke das ist ein guter anfang

    AutoIt ist keine objektorientierte Sprache. Es besteht die Möglichkeit auf vereinzelte Objekte zuzugreifen bzw. bestimmte Objekte zu erstellen, aber die typischen Merkmale von OOP, wie Erstellen eigener Klassen, Vererbung etc. findest du hier nicht.

    Zitat von micneu

    ist $a gesetzt?
    dann mache die und die funktion


    Einfach deine Variablen mit Startwerten vorbelegen.


  • Einfach deine Variablen mit Startwerten vorbelegen.

    Ich habe eine .ini datei erstell mit der ich mein programm einige werte übergeben.
    und manchmal ist es eben so das dort werte sein können aber nicht müssen.
    und ich wollte nur abfragen ob das was ist, und wenn ja soll da was gemacht werden.
    ich möchte aber nicht jetzt für jede variable so eine if abfrage schreiben sondern eine funktion erstellen die ich dafür einsetzen kann (flexibel)


    jetzt habe ich es versucht mit einer funktion

    Code
    [autoit]
    Func _TestVari()
    	Local $variableTesten
    	Local $funktionmachen
    	If IsDeclared($variableTesten) Then
    		$funktionmachen
    	EndIf
    EndFunc
    [/autoit]

    nur meckert auto ist rum von wegen syntax fehler
    wie kann ich sowas lösen?
    ist es richtig das ich die variablen in der funktion local deklariere?
    wie übergebe ich in einer selbst erstellten funktion mehrere parameter?

    Einmal editiert, zuletzt von micneu (11. Dezember 2008 um 11:11)

    • Offizieller Beitrag

    und manchmal ist es eben so das dort werte sein können aber nicht müssen.


    Das Problem stellt sich doch gar nicht, da du einen Standardwert in der INIRead-Funktion übergeben MUSST.

    [autoit]

    $a = IniRead($INI, 'section', 'key', 'STANDARDWERT!!')
    If $a = 'STANDARDWERT!!' Then ; keine Wertübergabe aus INI

    [/autoit]