Aide programmation galerie xml

Aide programmation galerie xml - Flash/ActionScript - Programmation

Marsh Posté le 19-11-2007 à 10:18:17    

Bonjour,
 
J'essaie de construire ma galerie toute seule comme une grande. Je rencontre un petit problème alors j'aimerais vous indiquer ma démarche pour que vous me disiez si je vais dans la bonne direction ou pas...
 
J'ai trois types de galeries différentes "dessin/peinture/sculpture (disons "autre" ), web et print. Les images auront la même taille, même nav etc. le code pour chaque galerie sera donc le même.
 
J'ai donc choisi de faire une variable "galerie_xml" qui prendra le nom du fichier.xml a charger selon le choix fait dans le menu.
 

Code :
  1. var galerie:String = "galerie_webdesign.xml";
  2. bt_web.onRelease = function() {
  3. galerie = "galerie_webdesign.xml";
  4. };
  5. bt_emailings.onRelease = function() {
  6. galerie = "galerie_emailings.xml";
  7. };


 
Ensuite, je charge le "bon" xml avec :  

Code :
  1. myXML.load(galerie);


 
Jusque là ca se fait non ?
 
Comment faire pour que mon fichier xml se recharge a chaque clic dans le menu ?  
 
je crée une fonction "charge galerie" qui serait appelée dans le code de chaque bouton ?
Je suis sceptique... A votre avis ?

Reply

Marsh Posté le 19-11-2007 à 10:18:17   

Reply

Marsh Posté le 19-11-2007 à 11:03:04    

Bonjour, oui tu devrais créer une fonction pour charger ton xml, à laquelle tu passeras un parametre qui correspond au bon fichier.

Code :
  1. function afficheGalerie($xml:XML):Void {
  2.    // ...
  3. }
  4. function chargeGalerieXml($xmlFile:String):Void {
  5.    var obj = this;
  6.    var myXML:XML = new XML();
  7.    myXML.ignoreWhite = true;
  8.    myXML.onLoad = function($success:Boolean) {
  9.       if ($success) obj.afficheGalerie(this);
  10.    }
  11.    myXML.load($xmlFile);
  12. }


et dans tes boutons, tu appelles simplement cette fonction :

Code :
  1. bt_web.onRelease = function() {
  2.   chemin.chargeGalerieXml("webdesign.xml" );
  3. }


Message édité par premotif le 19-11-2007 à 11:07:35
Reply

Marsh Posté le 19-11-2007 à 22:28:32    

J'ai essayé, mais du coup je rencontre d'autres pbs... D'abord l'attribution par défaut de la valeur "webdesign.xml" à $xmlFile, car maintenant que mon onload est dans une fonction, elle n'est plus appelée directement au départ... et j'ai aussi des trucs bizarres car je charge les données du xml dans des tableaux, et lorsque je passe d'un xml à l'autre, on dirait qu'il n'ecrase pas les données deja presentes dans les tableaux... Bref, tout ça pour en venir à une autre question, méthodologique :
 
Est ce qu'il vaut mieux (lire le XML, charger dans des tableaux, afficher les donnees) et recommencer à chaque fois que l'utilisateur clique dans le menu pour changer la galerie OUBIEN (lire tous les xml, tout charger dans des tableaux, afficher les donnees) et réaffecter les valeurs des tableaux aux zones d'affichages à chaque fois que l'utilisateur clique dans le menu ?
 
Euh... je suis claire là ? Merci beaucoup pour vos précieuses aides.

Reply

Marsh Posté le 20-11-2007 à 10:07:50    

Oui tu as raison il vaut mieux charger les xml une seule fois, pendant le chargement du site par exemple, ou au clique dans le menu mais en vérifiant si le XML existe déja, auquel cas tu ne le recharges pas. Mon exemple était seulement pour illustrer l'idée qu'il faut que les boutons du menu lancent véritablement une action, et ne se contentent pas seulement d'attribuer une nouvelle valeur à une variable comme tu faisais.
 
L'architecture de ton movie va beaucoup influencer comment tu vas programmer, et vice versa, je ne peux pas vraiment t'aider plus que ça. Juste pour mention, perso je met des $ devant les paramètres de mes fonctions, mais jamais devant les autres variables, mais c'est seulement une habitude à moi, ça me permet de savoir plus rapidement ce qui est une variable et ce qui est un paramètre. Concernant tes tableaux, c'est normal qu'ils gardent une partie des valeurs précédentes si il contenait plus d'éléments avant. Il faut que tu le vides avant de le remplir à nouveau :
 

Code :
  1. arr = []; // équivaut à arr = new Array();


 
++


Message édité par premotif le 20-11-2007 à 10:10:53
Reply

Marsh Posté le 20-11-2007 à 20:33:17    

Il n'y a pas d'architecture parfaite en Flash, mais en général il vaut mieux fonctionner en séparant les couches données/vue/evenements.
 
Il faut savoir que la volumétrie d'un XML est faible. J'ai été très fan des chargements alambiqués très économes en bande passante (du genre un XML = un produit, 500-600 XML sur le serveur avec des "cache hits" ultra-sophistiqués) pendant longtemps, jusqu'à en revenir récemment, mes estimations de charge serveur étaient systématiquement sur-évaluées.
 
Comprendre "le XML, ça pèse que dalle".
 
Donc, il vaut mieux charger tout ton XML en une seule fois, tout au début, le parser dans une structure légère du type hashtable, et faire un delete sur ton XML (l'objet XML est le plus gourmand en mémoire dans toute l'API). Ne t'embête pas avec des archis du type un XML = une rubrique, ça ne sert à rien, tu peux tout mettre dans le même.
 
D'un point de vue architectural, tu as deux solutions :
- la méthode old-school: tu planques toute la logique de chargement dans un clip invisible au début de ton .swf, tu gardes cet objet sur toute ta timeline, et quand tu cliques sur ton bouton, tu accèdes à ton XML parsé en tapant vers ce clip invisible.
- la méthode du "vrai Marine": une couche de données séparée du reste, autrement dit une classe "ImgBrowserDataXML" qui ne sert qu'à charger les données. Idéalement elle implémente une interface "IImgBrowserData", ce qui permet de dériver cette couche vers d'autres technos sans toucher au reste du code d'affichage.  
 
Comprendre "le XML, ça pèse que dalle, mais le Remoting, ça pèse un angström de que-dalle".
 

Citation :

Juste pour mention, perso je met des $ devant les paramètres de mes fonctions


 
Historiquement les arguments sont préfixés par 'p' (= 'parameters'), le '$' est un caractère spécial donc moi j'évite. En plus le '$' ça fait Péhachpé, et le Péhachpé c'est pour les paÿdaÿ. Mais c'est un avis purement personnel.


Message édité par antika le 20-11-2007 à 20:39:01
Reply

Marsh Posté le 21-11-2007 à 09:37:32    

Et à part ça, la vie ça va ?


Message édité par premotif le 21-11-2007 à 09:37:44
Reply

Marsh Posté le 21-11-2007 à 15:32:16    

Merci Antika pour cette réponse on ne peut plus... précise. J'apprécie l'effort de communication de tes connaissances. Cependant, ça reste encore beaucoup trop evolué pour moi ! Mais ça m'encourage, il faut viser haut pour progresser n'est ce pas ? alors merci encore.
 
Pour le coup de "planquer mes données dans un movie clip vide accessible des le debut" . Est ce que ca ne revient pas au même (à mon niveau) de tout charger dans des tableaux ?
 
D'ailleurs, à ce propos, je commence à avoir bcp de tableaux là, alors je pense faire un tableau à plusieurs dimensions, un par xml (je sais que tu m'as conseillé de tout mettre dans le meme xml mais je ne vois pas comment faire encore alors on verra plus tard).  
 
Ca donnerait un truc du genre :
i = nb de noeuds
j = nb de valeurs par noeud
 
for (i=0, i<nbdenoeuds, i++){
        for (j=0, j<nbdevaleurs, j++)
        {
          galerie[i][j] = myXML[i].childNodes[j].attributes.value;
        }
}
 
 
Ca se fait ça où je m'enflamme un peu là ?? :pt1cable:  


Message édité par sarahz le 21-11-2007 à 16:17:53
Reply

Marsh Posté le 21-11-2007 à 17:15:17    

Yeeeah Ca marche NIKEL !!!

Reply

Marsh Posté le 22-11-2007 à 04:42:25    

Oui ca ce fait.
Apres je suis surement pas un exemple vu que j'arrive toujours pas a trouver une methode qui me convient tout a fait. J'ai essayé ca, Xpath, AMFPHP ... je sais pas.
Sinon pour tout mettre dans un seul fichier, voici un exemple qui pourra peut etre t'inspirer :
http://zedlefou.free.fr/Band/blog.xml
C'est la structure d'un blog, donc assez riche et les differentes parties sont toutes au meme endroit.
Apres, je vois pas trop ce qui te pose probleme


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 22-11-2007 à 11:14:36    

Merci pour ton exemple ! Je ne savais pas que les structures des noeuds pouvaient être différentes... c'est pourquoi je voulais tout mettre dans des fichiers différents ! Du coup ça doit compliquer pas mal la lecture du fichier...
 
En tout cas, j'ai un autre problème maintenant... Pour résumer, voilà où j'en suis :
 
J'ai divisé toutes les actions en trois fonctions :
 
 -chargeXML (pXML:XML) : Array  
//prends un fichier XML en entrée et retourne un tableau contenant les données.  
 
 - afficheGalerie (pchoixrubrique:String)  
//prends en entrée la rubrique choisie par l'utilisateur, va chercher le tableau correspondant, assigne les données du tableau dans les champs dynamiques
 
 - afficheRubrique (tab:Array)
//est appelée par afficheGalerie pour mettre les bonnes données dans les champs selon le tableau passé en paramètre
 
Au tout début de l'animation, je créée mes tableaux de données comme ceci :

Code :
  1. var Tsites:Array = new Array();
  2. Tsites = chargeGalerieXML("Galerie_webdesign.xml" );
  3. Temailings = chargeGalerieXML("Galerie_emailings.xml" );
  4. ...


 
Pour voir si ça marche, je regarde le tableau juste après l'avoir créé :

Code :
  1. Tsites = chargeGalerieXML("Galerie_webdesign.xml" );
  2. trace("Longueur TSites : "+Tsites.length+newline);
  3. Temailings = chargeGalerieXML("Galerie_emailings.xml" );
  4. trace("Longueur TEmailings : "+Temailings.length+newline);


 
Et là il me répond "0" alors que lorsque je trace, à l'intérieur de ma fonction chargeGalerieXML, ca marche !
 
Ce qu'il y a c'est qu'on dirait qu'il execute les trace avant même d'être revenu de la fonction chargeGalerieXML.... comment faire pour ordonnancer tout ça s'il vous plait ?


Message édité par sarahz le 22-11-2007 à 11:16:32
Reply

Marsh Posté le 22-11-2007 à 11:14:36   

Reply

Marsh Posté le 22-11-2007 à 12:09:34    

Faudrait que tu montres ta fonction chargeGalerieXML ...


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 22-11-2007 à 12:21:30    

Zedlefou a écrit :

Faudrait que tu montres ta fonction chargeGalerieXML ...


Mais avec plaisir  ;)  
 

Code :
  1. function chargeGalerieXML(galerie:String):Array{
  2. var tab:Array = new Array();
  3. var myXML:XML = new XML();
  4.     myXML.ignoreWhite = true;// Pour ignorer les blancs dans le .xml
  5. myXML.onLoad = function(ok)
  6. {
  7.   if (ok){
  8.    tab = this.firstChild.childNodes;
  9.    nbDesign = tab.length;
  10.    trace("****** nbDesign :  "+nbDesign+" "+"rubrique : "+galerie);
  11.    for (i=0; i<nbDesign; i++) {
  12.     var num = i+1;
  13.     //trace(newline+"I: " +i);
  14.     for(j=0; j<nbAttributs; j++){
  15.      tab[i][j] = tab[i].childNodes[j].attributes.value;
  16.      trace("     J: "+j+" "+tab[i][j]);
  17.     }
  18.    }
  19.    //trace(tab);
  20.    //gotoAndPlay("galeries" );
  21.    trace("Nombre de noeuds du tableau retourne : "+tab.length+newline);
  22.           }
  23.  else {// message d'erreur si le xml est introuvable
  24. }
  25. }
  26. trace("FichierXML:"+galerie);
  27. myXML.load(galerie);
  28. return tab;
  29. };

Reply

Marsh Posté le 22-11-2007 à 13:23:52    

Oui, en fait ton tableau ne peut pas recup les donner puisqu'il faut le temps que le xml se charge. (3fois rien mais ca suffit pour faire chier)
Normalement si tu envois ton tableau avec ca devrait marcher :
 
"chargeGalerieXML("Galerie_webdesign.xml", Tsites);"
 
Ta fonction
"function chargeGalerieXML(galerie:String, tab:Array):Array{"
 
du coup tu peux virer ca
var tab:Array = new Array();
 
Sinon la methode plus simple c'est de placer ton tableau sur _global :
 
_global.Tsites = new Array();
 
Ensuite tu lances ta fonction qui elle charge les données dans  
_global.Tsites
 
Et voilou


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 22-11-2007 à 13:39:23    

Ca fait pareil...
 
Meme en passant Tsites en paramètre, il ne remplit pas le tableau...
 
Je te remets le code :
 

Code :
  1. _global.Tsites = new Array();
  2. chargeGalerieXML("Galerie_webdesign.xml", Tsites);


 

Code :
  1. function chargeGalerieXML(galerie:String, tab:Array):Void {
  2. var myXML:XML = new XML();
  3. myXML.ignoreWhite = true;
  4. myXML.onLoad = function(ok) {
  5.  trace(Tsites.length); // renvoit "0" (c'est normal j'entre dans la fonction
  6.  if (ok) {
  7.   tab = this.firstChild.childNodes;
  8.   nbDesign = tab.length;
  9.   trace("****** nbDesign :  "+nbDesign+" "+"rubrique : "+galerie);
  10.   for (i=0; i<nbDesign; i++) {
  11.    var num = i+1;
  12.    //trace(newline+"I: " +i);
  13.    for (j=0; j<nbAttributs; j++) {
  14.     tab[i][j] = tab[i].childNodes[j].attributes.value;
  15.    }
  16.   }
  17.   trace("Nombre de noeuds du tableau retourne : "+tab.length+newline); //renvoit le bon nb
  18.   trace("Nombre de noeuds du tableau retourne : "+Tsites.length+newline); // renvoit toujours "0" (là c'est pas normal par contre)
  19.  } else {
  20.   // message d'erreur si le xml est introuvable
  21.  }
  22. };
  23. myXML.load(galerie);
  24. }


Message édité par sarahz le 22-11-2007 à 14:41:14
Reply

Marsh Posté le 22-11-2007 à 16:15:57    

Bon, je craque, j'ai créé une fonction par xml à charger (donc une par tableau à créer)... PFffFFFFFFFFFFFFF moi qui était si contente d'avoir l'impression de commencer à capter quelquechose...
 
Antika va vraiment penser que je suis une looseuse mais je craaaaaque !
 
En tout cas si vous avez la solution à mon problème je serais ravie de l'adapter et de virer ces trois fonctions parceque franchement, c'est de l'anticode !
 

Reply

Marsh Posté le 22-11-2007 à 19:50:13    

Citation :

Antika va vraiment penser que je suis une looseuse mais je craaaaaque !


 
Meuh non, je te le fais demain, là c speed.

Reply

Marsh Posté le 23-11-2007 à 04:21:01    

Grosso merdo c'est ca. Il faut juste bien utiliser _global.

Code :
  1. _global.Tsites = new Array();
  2. chargeGalerieXML("Galerie_webdesign.xml" );
  3. function chargeGalerieXML(galerie:String):Void {
  4. var myXML:XML = new XML();
  5. myXML.ignoreWhite = true;
  6. myXML.onLoad = function(ok) {
  7. if (ok) {
  8.   var tab:Array = this.firstChild.childNodes;
  9.   var nbDesign:Number = tab.length;
  10.   trace("****** nbDesign :  "+nbDesign+" "+"rubrique : "+galerie);
  11.   for (i=0; i<nbDesign; i++) {
  12.    var nbAttributs = tab[i].length // Je suppose
  13.    for (j=0; j<nbAttributs; j++) {
  14.      _global.Tsites[i][j] = tab[i].childNodes[j].attributes.value;
  15.    }
  16.   }
  17.   trace( _global.Tsites.length);
  18. } else {
  19.   // message d'erreur si le xml est introuvable
  20. }
  21. };
  22. myXML.load(galerie);
  23. }
 

Ca devrait marcher. La petite difficulté ici, c'est de ne lancer aucune action tant que le XML n'est pas entierement chargé et entré dans ton tableau.

 

Pour ca, soit tu places la fonction qui vient ensuite juste apres > trace( _global.Tsites.length);
soit tu fais un dispatchEvent et tu mets un ecouteur sur ta scene pour savoir ou tu en es. (c'est le mieu)


Message édité par Zedlefou le 23-11-2007 à 04:23:51

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 23-11-2007 à 12:51:09    

Salut Zed,
 
Le truc c'est que la fonction chargeGalerieXML a été créée pour pouvoir être appelée plusieurs fois, avec pasage en paramètre du tableau à remplir et du fichier xml... ce que je ne voulais pas faire c est justement mettre "Tsites" dans la fonction... tu vois ce que je veux dire ? Car là ca revient au même que de créer une fonction par tableau à remplir...

Reply

Marsh Posté le 23-11-2007 à 15:34:22    

ah oui chui con, bon ben attend la reponse d'Antika alors :D
Je connais surement la soluce mais la, ca vuient pas dsl ...


Message édité par Zedlefou le 23-11-2007 à 15:36:59

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 23-11-2007 à 17:14:47    

OK. Merci beaucoup de m'aider en tout cas.
 
Pour résumer, tout marchait bien jusqu'à ce que ma fonction :
 
    Tsites = chargeGalerieXML("Galerie_webdesign.xml" );
 
refuse de remplir les données de son "tab" dans Tsites. Tab était le tableau créé à l'interieur de la fonction, un tableau à deux dimensions tab[i][j].
 
La déclaration de Tsites :
 
var Tsites:Array = new Array();
 
Peut être est ce parcequ'il faudrait que j'initialise la structure de Tsites pour qu'il comprenne l'affectation  
Tsites = tab ?


Message édité par sarahz le 23-11-2007 à 17:16:35
Reply

Marsh Posté le 23-11-2007 à 17:54:03    

Code :
  1. import mx.utils.Delegate;
  2. import mx.events.EventDispatcher;
  3. class com.sitename.gallery.XMLData {
  4. public var addEventListener:Function;
  5. public var removeEventListener:Function;
  6. private var dispatchEvent:Function;
  7. private var _filename:String;
  8. private var _xml:XML;
  9. private var _data:Object;
  10. public function XMLData() {
  11.  EventDispatcher.initialize(this);
  12. }
  13. public function load( pFilename:String ):Void {
  14.  if( pFilename.length != 0 || pFilename != undefined || pFilename != '' ) {
  15.   _filename = pFilename;
  16.   _xml = new XML();
  17.   _xml.ignoreWhite = true;
  18.   _xml.onLoad = Delegate.create( this , onLoad );
  19.   var _isLoading:Boolean = _xml.load(pFilename);
  20.   if(!_isLoading)
  21.    dispatchEvent({ type:  'onGalleryDataError',
  22.        err_name: 'FILE_ERROR',
  23.        err_msg: pFilename + " couldn't be loaded" });
  24.  } else {
  25.   dispatchEvent({ type:  'onGalleryDataError',
  26.       err_name: 'FILENAME_ERROR',
  27.       err_msg: pFilename + ' is not a valid filename' });
  28.  }
  29. }
  30. private function onLoad( pIsLoaded:Boolean ):Void {
  31.  if(pIsLoaded) {
  32.   // parsing du XML vers une structure légère
  33.   _data = {};
  34.   var _readData:Array = _xml.firstChild.childNodes;
  35.   var _readDataCount:Number = _readData.length;
  36.   for( var i:Number = 0 ; i < _readDataCount ; i++ ) {
  37.    // récupération des catégories
  38.    var _readCat:XMLNode = _readData[i];
  39.    var _loadedCat:Array = _data[_readCat.attributes.name] = [];
  40.    var _readItems:Array = _readCat.childNodes;
  41.    var _readItemsCount:Number = _readItems.length;
  42.    for( var j:Number = 0 ; j < _readItemsCount ; j++ ) {
  43.     // récupération des items de la catégorie courante
  44.     var _loadedItem:Object = {};
  45.     var _readItem:XMLNode = _readItems[j];
  46.     // récupération des attributs
  47.     for( var prop in _readItem.attributes )
  48.      _loadedItem[prop] = _readItem.attributes[prop];
  49.     // récupération des éléments
  50.     var _readSubItems:Array = _readItem.childNodes;
  51.     var _readSubItemsCount:Number = _readSubItems.length;
  52.     for( var k:Number = 0 ; k < _readSubItemsCount ; k++ )
  53.      _loadedItem[_readSubItems[k].nodeName] = _readSubItems[k].firstChild.nodeValue;
  54.     _loadedCat.push(_loadedItem);
  55.    }
  56.   }
  57.   // on efface l'objet XML trop lourd
  58.   delete _xml;
  59.   dispatchEvent({ type:'onGalleryDataLoad' });
  60.  } else {
  61.   dispatchEvent({ type:  'onGalleryDataError',
  62.       err_name: 'PARSE_ERROR',
  63.       err_msg: "couldn't parse " + _filename });
  64.  }
  65. }
  66. private function getCategory( pCategoryName:String ):Array {
  67.  if( _data[pCategoryName] != undefined ) {
  68.   return _data[pCategoryName];
  69.  } else {
  70.   dispatchEvent({ type:  'onGalleryDataError',
  71.       err_name: 'CATEGORY_ERROR',
  72.       err_msg: pCategoryName + ' is not a valid category' });
  73.  }
  74. }
  75. }


 
L'interface c'est :
- XMLData.addEventListener : cf. aide EventDispatcher Adobe
- XMLData.removeEventListener : cf. aide EventDispatcher Adobe
- 2 événements : onGalleryDataError / onGalleryDataLoad,
- XMLData.getCategory( <nom_de_categorie> ):Array : renvoie les données d'une catégorie. Chacun de tes boutons doit implémenter cette méthode. C'est tout.
- j'ai essayé l'initialisation paresseuse avec un __resolve, mais ça fait planter l'EventDispatcher :( Fuck le code propriétaire.  
 
Le XML doit être comme ça :

Code :
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <root>
  3. <!-- rubrique 0 -->
  4. <category name="Photo">
  5.  <item position="0">
  6.   <title><![CDATA[title0rub0]]></title>
  7.   <content><![CDATA[content0rub0]]></content>
  8.  </item>
  9.  <item position="1">
  10.   <title><![CDATA[title1rub0]]></title>
  11.   <content><![CDATA[content1rub1]]></content>
  12.  </item>
  13.  <item position="2">
  14.   <title><![CDATA[title2rub0]]></title>
  15.   <content><![CDATA[content2rub2]]></content>
  16.  </item>
  17. </category>
  18. <!-- rubrique 1 -->
  19. <category name="2D">
  20.  <item position="0">
  21.   <title><![CDATA[title0rub1]]></title>
  22.   <content><![CDATA[content0rub1]]></content>
  23.  </item>
  24.  <item position="1">
  25.   <title><![CDATA[title1rub1]]></title>
  26.   <content><![CDATA[content1rub1]]></content>
  27.  </item>
  28.  <item position="2">
  29.   <title><![CDATA[title2rub1]]></title>
  30.   <content><![CDATA[content2rub1]]></content>
  31.  </item>
  32. </category>
  33. <!-- rubrique 2 -->
  34. <category name="3D">
  35.  <item position="0">
  36.   <title><![CDATA[title0rub2]]></title>
  37.   <content><![CDATA[content0rub2]]></content>
  38.  </item>
  39.  <item position="1">
  40.   <title><![CDATA[title1rub2]]></title>
  41.   <content><![CDATA[content1rub2]]></content>
  42.  </item>
  43.  <item position="2">
  44.   <title><![CDATA[title2rub2]]></title>
  45.   <content><![CDATA[content2rub2]]></content>
  46.  </item>
  47. </category>
  48. </root>


Message édité par antika le 23-11-2007 à 17:59:13
Reply

Marsh Posté le 24-11-2007 à 03:54:08    

Euh... merci :)

Reply

Marsh Posté le 24-11-2007 à 16:05:27    

:bounce:


Message édité par sarahz le 24-11-2007 à 16:11:38
Reply

Marsh Posté le 26-11-2007 à 12:17:00    

Ouuaah la claaasse :D (attention jeu de mot)


---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le 26-11-2007 à 12:46:48    

Au fait quel est l'interet d'utiliser un objet plutot qu'un tableau ?
Et quel l'interet du Delegate ici ? (dsl, j'ai jamais vraiment trouvé d'utilisation a cette classe :/ )
Et dans la politique du decoupage data/events/display, c'est une idee ou tu melanges les 2 premiers ?


Message édité par Zedlefou le 26-11-2007 à 12:49:20

---------------
Jeu de simulation Boursière - Version BETA - https://www.facebook.com/wildstocks
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed