Trim Funktion

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich wollte was bei OnPlayerText reinkommt die Trim funktion anwenden:


    Aus strlib.inc

    stock trim(const sSource[])
    {
    new
    iBegin,
    iEnd,
    iInputLength = strlen(sSource),
    sReturn[_strlib_med_string];


    strcat(sReturn, sSource, _strlib_med_string);


    for(iBegin = 0; iBegin < iInputLength; ++iBegin)
    {
    switch(sReturn[iBegin])
    {
    case ' ', '\t', '\r', '\n':
    {
    continue;
    }
    default:
    {
    break;
    }
    }
    }


    for(iEnd = (iInputLength - 1); iEnd > iBegin; --iEnd)
    {
    switch(sReturn[iEnd])
    {
    case ' ', '\t', '\r', '\n':
    {
    continue;
    }
    default:
    {
    break;
    }
    }
    }


    strdel(sReturn, (iEnd + 1), iInputLength);
    strdel(sReturn, 0, iBegin);


    return sReturn;
    }


    Nun da aber zur compilezeit bei OnPlayerText der text Parameter noch nicht definiert ist bzw die arraygröße noch nicht vorhanden ist kann ich es auch nicht mit format übergeben:



    public OnPlayerText(playerid, text[])
    {
    new text2[256];
    // Leerzeichen Trimblock Anfang
    text2 = rtrim(text);
    format(text, sizeof(text), "%s", text2);
    printf("%s", text);
    // Leerzeichen Trimblock Anfang
    }

    Und das bekomme ich als Fehlermeldung auf die Zeile format(.....
    warning 224: indeterminate array size in "sizeof" expression (symbol "")

  • new text2[256];
    // Leerzeichen Trimblock Anfang
    text2 = rtrim(text);
    format(text, sizeof(text), "%s", text2);
    printf("%s", text);


    Schreib es so:


    format(text,145,rtrim(text));
    print(text);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S