fabiin
-
27 juil. 2001 à 13:03
Alkaaran
Messages postés285Date d'inscriptiondimanche 20 mai 2007StatutMembreDernière intervention 3 novembre 2009
-
9 mars 2009 à 15:54
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Alkaaran
Messages postés285Date d'inscriptiondimanche 20 mai 2007StatutMembreDernière intervention 3 novembre 2009 9 mars 2009 à 15:54
Cette fonction ne marche que si le dernier caractère est le séparateur, voici une version modifiée, testée et approuvée par ma prof :p
function split(input:string;schar:char;s:integer):string;
var
i,n:integer;
schop: string;
begin
n := 1;
for i := 1 to length(input) do
begin
if (input[i] = schar) then
begin
if n = s then
split := schop
else
schop := '';
inc(n);
end
else
schop := schop + input[i];
end;
if n = s then
split := schop ;
end;
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 16 févr. 2008 à 22:55
Re,
excusez moi je viens de comprendre, s représente le split, et schar représente le caractère de split.
Merci, :)
Bacterius
Messages postés3792Date d'inscriptionsamedi 22 décembre 2007StatutMembreDernière intervention 3 juin 201610 16 févr. 2008 à 22:50
Bonjour,
Euh svp je suis un peu débutant, et à ce que j'ai compris, s représente le caractère de séparation, mais que représente "schar" ???
A bientôt...
cs_Peone
Messages postés16Date d'inscriptionmercredi 8 février 2006StatutMembreDernière intervention12 mars 2006 9 févr. 2006 à 10:17
Ce code est bien mais il a un petit defaut. Moi pour le moment je travaille le latex en delphi et je dois analyser ceci "\begin{tabular}{c l r}"
il faudarait que je sorte de la chaine le c l r donc j'utilise cette fonction split avec { comme separateur ==> \begin , tabular} et normalement c l r} en troiseme position
et ben non, il me splite encore le c l r} en tenant compte des espaces
y aurait-il moyen de modifier cette fonction pour qu'il ne tienne pas compte des espaces?
fabiin
Messages postés329Date d'inscriptionmercredi 4 avril 2001StatutMembreDernière intervention 8 décembre 20096 19 août 2004 à 00:09
cs_SuperSonic
Messages postés2Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention18 décembre 2002 18 déc. 2002 à 00:07
J'ai essayé de faire comme dans l'exemple, mais lorsqu'il n'y a pas de second | dans mon texte ( par exemple ) cela me retourne ce qu'il y a avant le |.
avar := split('Ceci est|un texte','|',2);
avar va ainsi valoir ''Ceci est" et non "un texte".
9 mars 2009 à 15:54
function split(input:string;schar:char;s:integer):string;
var
i,n:integer;
schop: string;
begin
n := 1;
for i := 1 to length(input) do
begin
if (input[i] = schar) then
begin
if n = s then
split := schop
else
schop := '';
inc(n);
end
else
schop := schop + input[i];
end;
if n = s then
split := schop ;
end;
16 févr. 2008 à 22:55
excusez moi je viens de comprendre, s représente le split, et schar représente le caractère de split.
Merci, :)
16 févr. 2008 à 22:50
Euh svp je suis un peu débutant, et à ce que j'ai compris, s représente le caractère de séparation, mais que représente "schar" ???
A bientôt...
9 févr. 2006 à 10:17
il faudarait que je sorte de la chaine le c l r donc j'utilise cette fonction split avec { comme separateur ==> \begin , tabular} et normalement c l r} en troiseme position
et ben non, il me splite encore le c l r} en tenant compte des espaces
y aurait-il moyen de modifier cette fonction pour qu'il ne tienne pas compte des espaces?
19 août 2004 à 00:09
http://delphi.about.com/cs/adptips2002/a/bltip1102_5.htm
18 déc. 2002 à 00:07
avar := split('Ceci est|un texte','|',2);
avar va ainsi valoir ''Ceci est" et non "un texte".
16 oct. 2001 à 00:24
27 juil. 2001 à 13:03