Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: sourceserver.info. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

Impact

Super Moderator

  • »Impact« ist der Autor dieses Themas

Beiträge: 1 276

Rootserver vorhanden: Nein

  • Nachricht senden

1

Samstag, 4. Februar 2012, 02:45

Enums

Eines der nützlichen Dinge im Gegensatz zu defines sind enums, dieses Beispiel deckt bei weitem nicht alles ab was man damit machen kann, aber es ist ein erster Ansatz.
Der Grundaufbau eines Enums sieht in etwa so aus.

PHP-Quelltext

1
2
3
4
5
6
7
8
enum MyHandles // Passiert mit jeder neuen Reihe (+=1)
{
    Handle:MyHandle1// Nr. 0
    Handle:MyHandle2// Nr. 1
    Handle:MyHandle3// Siehe oben
    Handle:MyHandle4,
    Handle:MyHandle5 // am Ende kommt kein , da es sonst 1 mehr wären
}

Nun, was bringt mir das ganze?
Es ist einerseits schöner und leichter ein Enum zu definieren als mehrere defines zu benutzen, zudem hat man den Vorteil dass man weiß wie viele Definitionen man hat.
Um das auszuprobieren kann man man folgendes ausführen.

PHP-Quelltext

1
PrintToServer("Result: %d"MyHandles);

Wenn das/der/die enum zB Strings enthält erhält man die Komplette größe inklusive der Zellen der darin definierten Strings.
Ich nutze diese Technik zB für vordefinierte Sqlquerys, das ganze sieht dann bei mir so aus.

PHP-Quelltext

1
2
3
4
5
6
7
8
enum SQL_QUERY_TYPES
{
    SQL_QUERY_INIT,
    SQL_QUERY_ADDPLAYER,
    SQL_QUERY_GETPLAYERRANK
}

new String:SQL_QUERYS[SQL_QUERY_TYPES][256];


MfG
Impact