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. 1° 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. 2° 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"); 3° 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. 4° 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!" 5° 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 6° 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. 7° 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"); 8° 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 9° 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/ |