AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Tablette 11″ Xiaomi- Mi Pad 6 global version ...
Voir le deal
224.97 €
Le Deal du moment :
Display One Piece Card Game Japon OP-08 – Two ...
Voir le deal

 

 string_sep_ get / set / add _arg

Aller en bas 
2 participants
AuteurMessage
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

string_sep_ get / set / add _arg Empty
MessageSujet: string_sep_ get / set / add _arg   string_sep_ get / set / add _arg EmptyLun 30 Jan 2012 - 11:05

Alors grosso-modo ces scripts servent à récupérer des "arguments" ou plutôt du texte séparé par un séparateur et je peux choisir quel argument je veux récupérer ou modifier. Personnellement je l'ai appelé comme ça car quand je créer un "type" de fichier ou des listes j'ai tendance à utiliser des séparateurs du genre chr(0) ou "|", pour séparer des infos (dans une même ligne dans le cas des listes).

string_sep_get_arg a écrit:

var a, c, ch, i, l, r, sep, t;
t = argument0 // text
sep = argument1 // sep
a = argument2 // arg n°
l = string_length( t )

if (a > string_count( sep, t ) ) or (a < 0) { show_error("Aucun argument trouvé.",false) ; return "" }

c = 0 // sep count
r = ""

for ( i = 1 ; c <= a and i <= l ; i += 1 ) {

ch = string_copy( t, i, 1 )
if ( c == a && ch != sep ) { r += ch }
if ( ch == sep ) { c += 1 }

}

return r;

string_sep_set_arg a écrit:

var a, c, ch, i, l, p1, p2, sep, t, v;
t = argument0 // text
sep = argument1 // sep
a = argument2 // arg n°
v = string( argument3 ) // value
l = string_length( t )

c = 0 // sep count
p1 = ""
p2 = ""

for ( i = 1 ; i != l+1 ; i += 1 ) {

ch = string_copy( t, i, 1)

if ( c < a ) { p1 += ch }
if ( c > a ) { p2 += ch }
if ( ch == sep ) {

if ( c == a ) { p2 += ch }
c += 1

}

}

return ( p1 + v + p2 );

string_sep_add_arg a écrit:

var a, c, ch, i, l, p1, p2, sep, t, v;
t = argument0 // text
sep = argument1 // sep
a = argument2 // arg n°
v = string( argument3 ) // value
l = string_length( t )

c = 0 // sep count
p1 = ""
p2 = ""

for ( i = 1 ; i <= l ; i += 1 ) {

ch = string_copy( t, i, 1)

if ( c < a ) { if ( i == l ) { p2 += ch + ( a - c )*sep + v }
else { p1 += ch }
}
if ( c > a ) { p2 += ch }
if ( c == a ) { p1 += v + sep + ch ; c += 1 }
if ( ch == sep && c != a+1 ) {

c += 1

}

}

return ( p1 + p2 );

Exemples:
string_sep_get_arg("21|23|42","|",0) = "21"
string_sep_set_arg("21|23|42","|",0,"18") = "18|23|42"

Par contre, ne pas faire:
string_sep_set_arg("21|23|42","|",4,18) sinon = "18|23|4218"

Mais, vous pouvez faire:
string_sep_get_arg("||","|",1) = ""
string_sep_set_arg("||","|",1,"02") = "|02|"

Vous pouvez également ajouter des arguments avec:
string_sep_add_arg("21|23|42","|",1,"22") = "21|22|23|42"
string_sep_add_arg("0|1","|",10,"10") = "0|1|||||||||10"

EDIT: J'ai optimisé mes scripts en remplaçant les boucles do en for et en ajoutant un script

_________________
SP Lecteur Multimedia
I am an string_sep_ get / set / add _arg Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
master47
Utilisateur confirmé: Rang *****
master47


Messages : 2368
Projet Actuel :
-------------------
> PacWars
> The Perfect Pattern Studio

string_sep_ get / set / add _arg Empty
MessageSujet: Re: string_sep_ get / set / add _arg   string_sep_ get / set / add _arg EmptyLun 30 Jan 2012 - 14:56

lol evite les chr(0) dans les strings... en C ça signifie "fin de la chaine".

http://en.wikipedia.org/wiki/Null_character

_________________
Suivez la timeline ! The PacWars Timeline
C# .NET, Web & Sound Design.
---
Oldies: http://livegallery.lescigales.org/
Lawl :
Spoiler:
Revenir en haut Aller en bas
http://theperfectpattern.tumblr.com
SPLN
Utilisateur confirmé: Rang ***
SPLN


Messages : 588
Localisation : Sur son ordinateur *vous vois* arrêtez de me regarder comme ça
Projet Actuel : En quête de projet(s)!
Mes projets:
SP Lecteur Multimedia (Stand by)
S-Portable Graphics (demo1.8 is out! demo2.0 is planned)
SSB RPG (Stand by)

string_sep_ get / set / add _arg Empty
MessageSujet: Re: string_sep_ get / set / add _arg   string_sep_ get / set / add _arg EmptyLun 30 Jan 2012 - 15:07

J'ai précisé pour la création de fichier Wink. C'est à dire que par exemple si je fais un système de sauvegarde customisé ou alors un fichier ou je stocke des données. Je pourrais récupérer les données au endroit voulu avec ce genre de système. Et oui j'ai fait cette expérience avec GM et un show_message() :/.

_________________
SP Lecteur Multimedia
I am an string_sep_ get / set / add _arg Gmq4 in the GM Quiz!
Revenir en haut Aller en bas
http://sp-lecteur-multimedia.skyrock.com/
Contenu sponsorisé





string_sep_ get / set / add _arg Empty
MessageSujet: Re: string_sep_ get / set / add _arg   string_sep_ get / set / add _arg Empty

Revenir en haut Aller en bas
 
string_sep_ get / set / add _arg
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: