Frage zu eigener Funktion

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Frage zu eigener Funktion

    hallo

    also ich wollte zur vereinfachung eine eigene funktion schreiben.

    jetzt hab ich das problem das ich in einem argument mehrere strings stecken wollte damit man dann eins von den 2 auswählt.

    geht das überhaupt???

    also meine funktion

    GML-Quellcode

    1. ///language_choose(argument0,argument1,argument2,argument3)
    2. argument0=a;
    3. argument1="b;
    4. argument2="c;
    5. argument3="d,f",///aber das geht nicht...
    6. ini_read_string(""+string(a),+string(b),+string(c),+string(d oder f)) //aber leider funkt das nicht



    das ist nur zum üben wahrscheinlich würde ich das eh nicht brauchen aber ich muss das ja auch verstehen..
  • Völlig falsch!^^

    Zu erst einmal: Den Wert den du mittles der Argumente an die Funktion übergibst steckt ja in den argument0, argument1, usw. drin. Also müsstest du schreiben:

    GML-Quellcode

    1. a = argument0;
    2. b = argument1;
    3. //usw.


    Und nicht anders herum. Du übergibst der Variable a den Wert der im argument0 steckt.
    Was die ini-Datei betrifft: So musst du natürlich erst ini_open schreiben. Und bei ini_read_string trennst du a,b,c... mit Kommas. Aber das ist falsch. Du schreibst ja schon ein Pluszeichen, dass genügt. Wobei das auch so eigentlich keinen Sinn macht. Denn ne ini-Datei ist auf eine bestimmte Weise aufgebaut.

    Mir geht grad die Lust aus zuschreiben weil es da noch viiiel zu erklären gäbe. Werde später nochmal was dazu sagen.
  • Soweit ich deine Erläuterung verstanden habe, hast du in argument3 einen String wie dieser hier: "Teil der zu d soll , Teil der zu f soll"
    und du möchtest den String teilen und in den Variablen d und f speichern um später einen von beiden auswählen zu können.

    Der String muss irgendwie unterteilt sein, z.B durch ein Komma zwischen den beiden Teilen.

    Hier ein Vorschlag wie man den String in 2 teilen kann:

    GML-Quellcode

    1. str = argument3;
    2. d = string_copy(str ,1 ,string_pos("," ,str )-1 ); //Kopiert den ersten Teil vom ersten Zeichen bis 1 Zeichen vor dem Komma
    3. f = string_copy(str ,string_pos("," ,str )+1 ,string_length(str) ); //2. Teil von 1 Zeichen nach dem Komma bis zum Ende des Strings