Traiter plusieures infos dans un seule chaine

almisuifre Messages postés 13 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 28 mai 2005 - 10 janv. 2005 à 18:06
almisuifre Messages postés 13 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 28 mai 2005 - 10 janv. 2005 à 20:00
Bonjour tout le monde, gente demoiselles et gentils missieux, prenez votre tranksen et un bon cacher d'aspirine, je voudrais a partir d'une seule chaine extraire plusieurs balises....

Voila ce que j'ai:
<Lignes=5><Colonnes=5><Titre0=N><Titre1=Nom><Titre2=Description><Titre3=Prix><Titre4=Quantité><Nom1=Vide1><Description1=Vide2><Quantité1=Vide4><Nom2=Vide5><Description2=Vide6><Quantité2=Vide8><Nom3=Vide9><Description3=Vide10><Quantité3=Vide12><Nom4=Vide13><Description4=Vide14><Quantité4=Vide16>


Bon c'est la que ca commence à chauffé:
En fait on a plusieures balises qui commence par '<' et qui se termine par '>'. ce qui devrais alors me donner:

<Lignes=5>
<Colonnes=5>

<Titre0=N>
<Titre1=Nom>
<Titre2=Description>
<Titre3=Prix>
<Titre4=Quantité>

<Nom1=Vide1>
<Description1=Vide2>

<Quantité1=Vide4>

<Nom2=Vide5>
<Description2=Vide6>

<Quantité2=Vide8>

<Nom3=Vide9>
<Description3=Vide10>

<Quantité3=Vide12>

<Nom4=Vide13>
<Description4=Vide14>

<Quantité4=Vide16>

Esuite il faudrais que je face le bon traitement balise par balise.
Soit créer un tableau TStringGrid avec Lignes=5 et Colonnes=5 puis remplir le tableau avec les titres ligne 0 et puis les colonnes, de 0 à 4 En sachan que la premiere case en haut à gauche vaus lign = 0 et colonne = 0.

Bon aps de panique je suis sous Borland C Builder 6 et je voudrais au moin extraire mes balises apres je verais le traitement....

Si quelqu'un peux m'aider, je suis largé, et je commence a me demander si je vais pas laisser tomber mon projet de tableau distant.

D'avance merci

5 réponses

minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
10 janv. 2005 à 18:39
Ce qu'il te faut c'est une fonction qui va parser ton string.

Donc, il te faut pour commencer une fonction de recherche, qui va rechercher le '<' jusqu'au '>'.

Après tout dépend de comment tu veux faire ta fonction qui affiche.

Le CyberMonde nous offre une meilleur qualité de vie
CyberMan.inc The WebSite
0
almisuifre Messages postés 13 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 28 mai 2005
10 janv. 2005 à 18:43
Ok pour la fonction de recherche des '<' à '<' mais comment faire pour réaliser cela ?
Enfin je demande car je ne sait aps encore faire cela
0
CriPpLe Messages postés 78 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 26 avril 2005
10 janv. 2005 à 19:23
Tu pourrais faire une boucle qui check le premier caractere de ta CString et la met dans une nouvelle CString si elle est differente de '<' ou '>', le premier caractere est supprimé et le deuxieme caractere devient ainsi le premier caractere et la boucle se poursuit.
Pour detecter la fin de ta premiere CString tu peux peut être l'annonçer quand la boucle trouve 2 espace à la suite.


Demande si tu veux que jte fasse le code, mais je te laisse d'abord essayer par toi même
0
Hades53 Messages postés 231 Date d'inscription mercredi 12 février 2003 Statut Membre Dernière intervention 7 juillet 2009
10 janv. 2005 à 19:24
char *psz = chaîne;
while (*psz) if (*psz++ == '<') printf("Caractère < trouvé"\n);

ou alors avec la fonction strstr de la lib C <string.h>.
char *poccur = strstr(chaîne,"<");

Après tu recherches le caractère ">" à partir de poccur (pointeur poccur2), et ta chaîne du contenu de la balise commencera à poccur et se terminera à poccur2 (inclus).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
almisuifre Messages postés 13 Date d'inscription dimanche 8 juin 2003 Statut Membre Dernière intervention 28 mai 2005
10 janv. 2005 à 20:00
En fait c'est du c++ (via Borland C builder 6) de la chaine :<Lignes=5><Colonnes=5><Titre0=N><Titre1=Nom><Titre2=Description><Titre3=Prix><Titre4=Quantité><Nom1=Vide1><Description1=Vide2><Quantité1=Vide4><Nom2=Vide5><Description2=Vide6><Quantité2=Vide8><Nom3=Vide9><Description3=Vide10><Quantité3=Vide12><Nom4=Vide13><Description4=Vide14><Quantité4=Vide16>,
j'aimerais retirer chaque balises donc proceder comme suit:

//Si on a une balise complete donc
//Alors on regarde la premiere balise commencant par un '<' et se terminant par un '>'.
//C'est une balise Lignes, on en retire son contenue ici 5
//On aura donc 5 lignes dont la ligne 0 sera composer des titres
//On cree les lignes dans le tableau TStringGrid
//On regarde la balise suivante
//C'est une balise Colonnes, on retire son contenue ici 5
//On aura 5 colones don 0 sera la première colone qui sera replis de chifre par une boucle for partant de 1 usqu'a Colonnes
//On remplis les colones avec les autres balise et ce lignes par lignes !
//Si on ne rencontre plus de balises, on arrette le tout et -> affichage

Bon maintenat me reste a faire ceci

Si quelqu'un peu m'aider

D'avance merci
0