GTA-Center.com » Forum
http://www.gta-center.com/forums/

[GUIDA] Uso del string.inc
http://www.gta-center.com/forums/viewtopic.php?f=40&t=1004
Pagina 1 di 1

Autore:  Angelo [ 18/03/2011, 23:37 ]
Oggetto del messaggio:  [GUIDA] Uso del string.inc

In questa semplice guida vi spiegherò come usare le funzioni situate nel string.inc
Grazie ad esse potrete agire sulle stringe a vostro piacimento.

strlen(const string[])

Il strlen returna il numero di caratteri contenuti nella stringa.

Uso:

Codice:
new string[5];
string = "ciao"; //la stringa è: ciao
new we = strlen(string);
printf("%d", we);


Il codice creerà la stringa "ciao", poi creerà la variabile "we" che prenderà il valore del numero di caratteri contenuti nella stringa (in questo caso 4 c-i-a-o) e infine printerà il risultato che, logicamente, è 4.

strcat(dest[], const source[], maxlength=sizeof dest)

Il strcat aggiunge ad una stringa già esistente un'altra stringa dopo di essa.

Esempio:

Codice:
new String[40];
String = "Ciao io mi chiamo";
strcat(String, "Angelo", sizeof(String));
printf("%s", String);


In questo modo lo il server unirà le due stringhe e printerà "Ciao io mi chiamo Angelo");

strmid(dest[], const source[], start, end, maxlength=sizeof dest)

Il strmid estrae, da una stringa, una parte, la quale andrà a formare un altra stringa sull'array "dest[]"

dest: Array su cui la parte scelta da noi si metterà
const source: Stringa sulla quale dobbiamo estrarre la parte
start: carattere da cui dovrà iniziare a la nuova stringa
end: carattere in cui dovrà terminare la nuova stringa
maxlength(opzionale): Grandezza di "dest"

Uso:

Codice:
new string[12];
new string2[12];
string = "Ehy Ciao";
strmid(string2, string, 4, 8);
printf("%s", string2);


Questo script creerà due array, uno che conterrà la stringa "Ehy Ciao" e l'altro che sarà vuoto.
Poi tramite il strmid, verrà copiato tutto ciò che si trova tra il 4° e l'8° carattere della stringa e verrà incollato in string2.

strins(string[], const substr[], pos, maxlength=sizeof string)

Il strins inserisce una stringa dentro un'altra stringa al carattere "pos"

Uso:

Codice:
strins("Ciao a ", "tutti!", 8);


Questa stringa di codice inserirà nella stringa "Ciao a " la stringa "tutti!"

strdel(string[], start, end)

Il strdel serve a cancellare una parte di stringa

Uso:

Codice:
new str[32];
str = "Cancelleremo soltanto la parola ciao";
strdel(str, 0, 32);


In Questo modo la stringa (str) diventerà "Ciao", quindi in parole povere abbiamo eliminato dalla stringa tutto ciò che c'era tra i caratteri 0 e 32

strcmp(const string1[], const string2[], bool:ignorecase=false, length=cellmax)

Il strcmp serve a comparare due stringhe, cioè controllare se sono uguali tra di loro, esso può returnare 3 valori:

- Returna 0 se le due stringhe comparate sono uguali
- Returna 1 se la prima stringa si trova dopo la seconda stringa
- Returna -1 se la seconda stringa si trova dopo la prima stringa

const string1: Prima stringa da controllare
const string2: Seconda stringa da controllare
ignorecase: se "true" la funzione returnerà 0 soltanto se le stringhe sono uguali ma non farà caso alle maiuscole, se invece è "false" la funzione si bloccherà se le maiuscole o minuscole saranno diverse (per esempio se nella prima c'è "Ciao" e nella seconda c'è "CIAO")

Uso:

Codice:
new string[12];
string = "We mi chiamo angelo";
if(strcmp(string, "We mi chiamo angelo", true)==0) print("Stringhe perfettamente uguali");


In questo script la funzione strcmp vede se le due stringhe sono uguali (visto che abbiamo messo ==0) se mettevamo invece "==1" la funzione controllava soltanto se la prima stringa si trovava dopo la seconda

P.S. il strcmp viene usato per creare i comandi, infatti esso compara il "cmdtext", ovvero il comando da voi appena digitato, con un comando. Se essi sono uguali allora partirà il comando.

strfind(const string[], const sub[], bool:ignorecase=false, pos=0)

Il strfind controlla se in una stringa c'è una parola o anche una frase

const string: Stringa in cui cercare
const sub: Parola o frase da cercare nella Stringa
ignorecase: Se "true" cercherà la stringa senza fare caso alle maiuscole e alle minuscole, se "false" la funzione avverrà soltanto se le maiuscole e le minuscole tra le parole sono uguali
pos: Posizione da cui iniziare a cercare la stringa, mettete 0 se volete cercare solo nella prima parola, mettete !=-1 se volete cercare la parola in tutta la stringa

Uso:

Codice:
if(strind("Weee ciao", "ciao", true)!=-1) return print("Parola ciao trovata con successo");


strval(const string[])

Il strval trasforma la stringa nel valore che esso trova dal primo carattere in poi, se la funzione non dovesse trovare un valore nel primo carattere della stringa, returnerà il valore 0

Uso:

Codice:
new str[12];
str = "100ciaooo500lol";
new we = strval(str);
printf("%d", we);


In questo script la variabile "we" assumerà il valore 100 omettendo il 500 perchè, come vi ho detto, cerca solo sul primo carattere

valstr(dest[], value, bool:pack=false)

Il valstr trasforma un valore in una stringa

dest: Stringa che il valore, trasformato in parola, della variabile "value"
value: Valore da trasformare in stringa

Uso:

Codice:
new string[4];
new we = 333;
valstr(string, we);
printf("%s", string);


String in questo caso diventerà: "333"

10° strpack(dest[], const source[], maxlength=sizeof dest)

Il strpack serve per trasformare una stringa normale in una packed string

11° strunpack(dest[], const source[], maxlength=sizeof dest)

Il strunpack serve a trasformare una packed string in una stringa normale

12° ispacked(const string[])

Il ispacked controlla se una stringa è una packed string, returna 2 valori.
-true se la stringa è una packed string
-false se la stringa non è una packed string

Per maggiori info sulle packed string leggete la guida di Peppe: Click!

Grazie per aver seguito questa guida, ho omesso tre funzioni che non so usare, esse sono:

Autore:  Peppinux AKA Peppe_Stasu [ 18/03/2011, 23:46 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Bella guida ;)

Autore:  Alby Fire [ 19/03/2011, 1:07 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Ottima guida Angelo ^^

Autore:  mitosking [ 19/03/2011, 14:33 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Ottima guida Angelo, complimenti ;)

Comunque per strpack ho letto su Wiki SAMP che serve ad impacchettare una stringa all'interno di un array. Credo sia più o meno come un SetPVarString, ma grazie ad "ispacked" puoi controllare se c'è una stringa salvata.

Autore:  Peppe [ 19/03/2011, 17:12 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

mitosking ha scritto:
Ottima guida Angelo, complimenti ;)

Comunque per strpack ho letto su Wiki SAMP che serve ad impacchettare una stringa all'interno di un array. Credo sia più o meno come un SetPVarString, ma grazie ad "ispacked" puoi controllare se c'è una stringa salvata.

Non centra una minchia :/

Autore:  barletheking [ 19/03/2011, 17:34 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Se non mi sbaglio Peppe aveva scritto qualcosa sul forum in riguardo alle packed strings

Autore:  Angelo [ 19/03/2011, 18:04 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Quindi il strpack trasforma una stringa normale in una packed string, il strunpack trasforma una packed string in una stringa normale e il ispacked controlla se è una packed string.
O mi sbaglio ?

Autore:  Peppe [ 19/03/2011, 18:16 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Angelo ha scritto:
Quindi il strpack trasforma una stringa normale in una packed string, il strunpack trasforma una packed string in una stringa normale e il ispacked controlla se è una packed string.
O mi sbaglio ?

Si, è così.

Autore:  Phanto90 [ 10/06/2011, 13:42 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Cita:
Comunque per strpack ho letto su Wiki SAMP che serve ad impacchettare una stringa all'interno di un array. Credo sia più o meno come un SetPVarString, ma grazie ad "ispacked" puoi controllare se c'è una stringa salvata.

Purtroppo non è affatto come dici tu (IsPacked <- lo suggerisce anche il nome cosa fa...)
Le packed string occupano meno memoria delle unpacked (come suggerisce il nome), si utilizza una sintassi diversa per le packed ({ e } al posto di [ e ]) e il rapporto caratteri-cella sono
4:1 mentre nella stringa classica sono 1:1 (relativamente a una classica stringa)

Autore:  Angelo [ 10/06/2011, 13:54 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Si già c'è la guida di Peppe che parla delle packed string:

Click

Autore:  Phanto90 [ 10/06/2011, 14:39 ]
Oggetto del messaggio:  Re: [GUIDA] Uso del string.inc

Yeah non ne avevo idea

Pagina 1 di 1 Tutti gli orari sono UTC + 1 ora [ ora legale ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/