In acest tutorial va voi prezenta toate directivele folosite in pawno.
Sa incepem..
[font=courier]#assert
- Aceasta directiva verifica daca ceva este adevarat si daca nu opreste compilarea.
#define MOO 10
#assert MOO > 5
Aceasta se va compila fara probleme deoarece este adevarat ( 10 este mai mare ( > ) ca 5 )
#define MOO 1
#assert MOO > 5
Acest exemplu va da eroare deoarece 1 nu este mai mare ( > ) decat 5.
Este similar cu
#define MOO 1
#if MOO <= 5
#error Moo check failed
#endif
In caz ca nu este adevarat assert va da o eroare:
Code: Select all
"Assertation failed: 1 > 5"
Code: Select all
"User error: Moo check failed"
[font=courier]#define
- Aceasta directiva defineste un simbol si oriunde este gasit simbolul define-ului va fi gasit va fii inlocuit.
#define MOO 7
printf( "%d", MOO );
E acelasi lucru cu:
printf( "%d", 7 );
De aceea toate define-urile sunt pierdute in decompilare pentru ca ele nu exista ( toate directivele sunt pre-processor ).
Define-urile nu trebuie sa contina numere.
#define Loop new i = 0; i < MAX_PLAYERS; i++ ) if ( IsPlayerConnected( i )
for ( Loop )
{
printf( "%d connected", i );
}
[hr]
[font=courier]#else
- #else is like else, dar #if in loc de if
[hr]
[font=courier]#elseif
- #elseif is like else, dar pentru #if
#define MOO 10
#if MOO == 9
printf("if") ;
#else
#if MOO == 8
printf("else if");
#else
printf("else");
#endif
#endif
[hr]
[font=courier]#emit
- Acest directiv nu este in tabelul pawn-lang.pdf dar totusi exista. Acest este un inline compiler, daca sti AMX poti folosi asta pentru a pune opcoduri AMX in codul tau.
[hr]
[font=courier]#endif
- #endif este ca o paranteza inchis pentru #if
[hr]
[font=courier]#endinput
- Acesta opreste includerea unei singure file. Este folosit pentru a impiedica compilarea include-urilor de 2 ori accidental.
#include "bla.inc"
#include "bla.inc"
bla.inc
#if defined _BLA_INC
#endinput
#endif
#define _BLA_INC
[hr]
[font=courier]#error
- Acesta opreste compilarea si arata o eroare setat de user.( Uitate la #assert pentru un exemplu )
[hr]
[font=courier]#file
- Seteaza numele filei. Este o functie inutila.
[hr]
[font=courier]#if
- Poti alege exact ce vrei sa se compileze si ce nu de aici.
#define LIMIT 10
if ( LIMIT < 10 )
{
printf("Limit too low");
}
Se va compila ca:
if ( 10 < 10 )
{
printf("Limit too low");
}[/font]
Am tradus aceste chestii de AICI.
Tutorialul este incomplet, deoarece nu am mai avut chef sa mai tradus, am ramas la [font=courier]#pragma[/font], cine vrea poate continua si voi pune in main post cu credite

SIGNATURE:
[ R.S.F. ] in Development..