Array Überprüfung

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
  • Guten Tag liebe Community,
    als erstes muss ich sagen, dass das mein erstes Forum Beitrag ist, weshalb ich mich ganz groß freue. Kommen wir nun zum eigentlichen Thema zurück. Also ich möchte ein Array überprüfen lassen durch eine If-Abfrage, doch dies funktioniert bei mir irgendwie nicht. Mir wird folgender Fehler von Pawno angezeigt:


    Zitat

    error 033: array must be indexed (variable "msg")


    Zitat

    if(msg <= 0 || msg > 64)return SendClientMessage(playerid,COLOR_RED,"[Fehler] Zu wenig/Zu viele Zeichen!");


  • zeig mal msg

    Zitat

    new msg[64];


    Das kann ja nicht sein, da ich msg schon "definiert" habe, also ich habe eine Variable erstellt mit dem Namen msg und habe ihr den "Array-Platz" 64 gegeben.

  • Das kann ja nicht sein, da ich msg schon "definiert" habe, also ich habe eine Variable erstellt mit dem Namen msg und habe ihr den "Array-Platz" 64 gegeben.


    Und was ist jetzt der Fehler?


    Wenn du die "Länge" deines Arrays feststellen willst, musst du halt strlen verwenden, wie Drasko schon sagte.
    Ansonste versteh ich dein Problem nicht :huh:

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Ich glaube du hast nicht ganz verstanden was ein Array ist. Ein Array ist ne Sammlung von Variablen (Zahlen, Buchstaben)
    Wenn man also:
    new msg[64];


    definiert, dann hat man ein Buchstaben-Array der Größe 64.


    Und du willst ja rausfinden, wie viele Plätze des Arrays belegt sind und das macht man eben mit strlen.


    Kostenlose Pawno Alternative / PAWN IDE -> PawnStar
    Mass Effect
    :love:

  • zeig mal msg

    Ich denke mal, dass du die Länge des Arrays willst und das bekommst du mit dem Befehl "strlen":
    if(strlen(msg) <= 0 || strlen(msg) > 64)return SendClientMessage(playerid,COLOR_RED,"[Fehler] Zu wenig/Zu viele Zeichen!");


    Und was ist jetzt der Fehler?


    Wenn du die "Länge" deines Arrays feststellen willst, musst du halt strlen verwenden, wie Drasko schon sagte.
    Ansonste versteh ich dein Problem nicht :huh:

    Ja ich habe vergessen strlen zu machen.


    Danke für deine Hilfe, somit hat sich das Problem von mir gelöst.