Func (Parameter) Verständnisfrage

  • Hi, ich benutze zwar Funktionen, aber bislang ohne Parameter. Dies habe ich bislang noch nicht verstanden.
    Wenn ich also folgende Funktion verwende (Es geht nicht um das Verständnis der Funktion !!):

    If @UserName = "XYZ" Then
    B_SMTP()
    EndIf

    Func B_SMTP()
    $s_SmtpServer = "IP"
    $s_FromName = "Scriptname"
    $s_FromAddress = "script@x.com"
    $s_ToAddress = "Empfänger@y.com"
    $s_Subject = @ScriptName & " , " & @ComputerName & " , " & @UserName
    $ashelo = "helo"
    Dim $as_Body[2]
    $as_Body[0] =""
    $Response = _INetSmtpMail($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject, $as_Body, $ashelo, -1)
    $err = @error
    EndFunc

    Welche Parameter könnte ich denn z.B.: in der 2. Zeile übergeben ??

    /Bernhard

  • Hi, meinst du das ungefähr so?:

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Hallo,
    du musst dir die übergebenen Werte einfach als Variablen in der Funktion vorstellen die einen Wert von Außen bekommen bzw. bereits einen vordefinierten Wert haben, wie bei $Text3.

    Übrigens ist das auch der große Vorteil einer Funktion. Du hast definierte Übergabewerte und einen definierten Rückgabewert. Was dazwischen passiert ist nicht relevant und kann daher beliebig verändert werden.

    Gruß Ingo

    AutoIt
    MeineFunktion("Das ist der Text 1", "Das idt der Text 2")
    MeineFunktion("Das ist der Text 1", "Das idt der Text 2", "Hier haben wir auch einen Text 3")
    
    
    Func MeineFunktion($Text1, $Text2, $Text3="das ist Text 3 wenn nichts Übergeben")
       MsgBox(1, "Text 1", $Text1)
       MsgBox(1, "Text 2", $Text2)
       MsgBox(1, "Text 3", $Text3)
    EndFunc