IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 Delphi Discussion :

Trouver qui est le plus grand


Sujet :

Delphi

  1. #1
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut Trouver qui est le plus grand
    Me revoila avec une question qui est plutôt une question de math/logique que d'informatique

    J'ai variable qui contiennent des integer.
    Je voudrais pouvoir identifier quelle variable à la valeur la plus élevée.
    Je voudrais aussi donner un classement de base à mes variables pour les départager en cas d'ex-æquo.

    Exemple :
    PP = variable classée en 1.
    ARPO = variable classée en 2.
    CHEM = variable classée en 3.
    TRIPU = varaible classée en 4.
    SYPH = varaible classée en 5.

    Si PP et CHEM ont la même valeur le programme donnerait PP comme plus élevé.

    J'espère que mes explications sont compréhensibles.

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    ça pourrait ressembler à ceci...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    Function FindBiggest(PP, ARPO, CHEM, TRIPU, SYMP: integer): String;
    Var
      iMax: integer;
    Begin
      //Trouve la valeur Maximal
      iMax := max(max(max(max(PP, ARPO), CHEM), TRIPU), SYMP);
      //Comparaison dans un ordre précis.
      //si 2 valeurs sont = c'est la dernière qui gagne
      If SYMP = iMax Then result := 'SYMP';
      If TRIPU = iMax Then result := 'TRIPU';
      If CHEM = iMax Then result := 'CHEM';
      If ARPO = iMax Then result := 'ARPO';
      If PP = iMax Then result := 'PP';
    End;

  3. #3
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    C'est quoi la différence entre une procedure et une function ?

    Comment on fait pour déclancher cette fonction dans le programme en sachant que dans mon code c'est quand je click sur le bouton3 que ça doit se passer.
    Je suppose que le résultat (a savoir le plus grand) est dans result à la fin de la function ?
    Je profite de l'occasion pour essayer de comprendre d'autres choses.
    Pourquoi parfois on déclare des var au début du code et pourquoi parfois dans la procedure ou la function ? quel est l'avanatage et l'inconvéniant de chacun ?
    Au début des procedures ou functions il y a toujours une ligne genre :
    Function FindBiggest(PP, ARPO, CHEM, TRIPU, SYMP: integer): String;
    Je sais qu'elle doit être la et +/- quelle forme elle doit avoir mais je ne comprends pas bien pourquoi et surtout à quoi correspond exactement la partie (PP, ARPO, CHEM, TRIPU, SYMP: integer): String;

    Merci.

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 160
    Points
    25 160
    Par défaut
    Euh, tu voudrais pas lire les cours delphi et revenir avec un minimum de culture ?

    Connaitre ce qu'est une function c'est la base, c'est une procédure qui renvoie un résultat ! qu'est une procédure, c'est une subdivision du code pour faciliter le développement et permettre de la réutiliser plusieurs fois ...

    Connaitre, la notion de paramètres, une fonction (ou procédure) prend des données entrantes, c'est sur quoi elle va faire son calcul, elle peut aussi utiliser des variables globales même si c'est moche !

    Dis-moi ? tu fais quoi depuis 2004 ?

    Je me rappelle de mes débuts en programmation, avec une Ti-80, j'ai pris le manuel, je l'ai LU, tout seul comme un grand puis avec une Hp-48GX, ma fonction préféré de la Ti n'existait plus : Goto (j'avais fait une sorte de CALL\RET avec des Goto dans un programme), mais une nouvelle notion nettement plus interresante apparaissaient, les Sous-Programmes ou Fonction, idem, j'ai LU le Manuel, et j'ai compris tout seul !
    Avec Delphi, Pareil, on m'a collé devant un PC et l'on m'a filé le Bouquin de Delphi 4, et roulez jeunesse !

    C'est des notions qu'il FAUT apprendre par soi même,
    si tu n'en as pas le courage, ... dégage ... oh ça rime ...
    si tu en a la capacité, ... faudra continuer ...

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2003
    Messages
    582
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2003
    Messages : 582
    Points : 915
    Points
    915
    Par défaut
    Un peu de lecture...
    F1 sur le mot function
    F1 sur le mot procedure
    Devrait éclairer beaucoup.

    du coup, pour appeler la fonction, dans l'évènement OnClick du bouton3,
    tu appèle la fonction...ici...moi c'est le bouton4....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Procedure TfrmMain.Button4Click(Sender: TObject);
    Begin
      Button4.Caption := FindBiggest(1, 5, 5, 5, 5);
    End;
    Le caption (texte) du bouton devrait afficher "APRO" après un click dessus....

  6. #6
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    --> Shai le troll.
    Si je fais du Delphi (comme je peux). C'est que j'y suis obligé pour pouvoir faire des choses spécifiques qu'on ne trouve pas ! Les créateurs de freeware/shareware et co préfèrent développer une 5000ème lecteur de média ou un loogiciel bateau dans le genre plutôt que de s'intéresser des vrais problèmes plus spécifiques à certains métiers, du coup il y a des "vides" dans l'offre. Si je pouvais acheter les logiciels qui me manquent j'oublierais bien vite Delphi !
    Pour ce qui est de la différence entre procédure et function je ne comprends toujours pas. Tu dis toi même qu'un function est une procédure qui renvoi un résultat mais une procédure peut aussi renvoyer un résultat non ?
    Si on a par exemple ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    valeurun:=strtoint(edit1.text);
    valeurdeux:=strtoint(edit2.text);
    decomptage:=valeurun-valeurdeux;
    end;
    Quand cette procédure s'exécute quand on click sur le button 1 le calcul se fait et il y a bien un résultat à la fin qui est stocké dans decomptage non ?
    On peut aussi appeler cette procédure tant qu'on veut, je ne comprends pas alors pourquoi on a besoin des fonctions.

    Je me rappel moi aussi avoir commencé sur un C64 puis en AMOS sur Amiga.
    Le problème c'est que j'ai aussi un boulot et pas du tout dans l'informatique. Je n'ai pas que ça à faire et même en lisant les cours et le bouquins je ne pige pas tout. Je n'ai pas une formation en informatique du tout et j'ai parfois du mal à comprendre certains mots ou expressions qui sont l'évidence pour des initiés. Dès lors c'est plus long et surtout beaucoup plus pénible pour moi d'acquérir le savoir !
    Je me débrouille en glanant des infos au fur et à mesure de mes besoins, avec des amis plus qualifiés, ce forum, des bouts de code récupérés sur code source et je réussi à faire quelques petits trucs.
    Malheureusement je pense que je n'aurai jamais le niveau pour réaliser de plus grands projets qui sont très intéressant mais qui n'intéressent personnes alors que les sites de téléchargement sont saturés avec 500 versions des mêmes trucs bateau ! Domage !

    Eric Boisvert --> Merci pour cette info mais excuse moi j'ai encore du mal à comprendre pourquoi la recherche du plus grand doit se trouver dans une fonction. Ce ne devrait il pas être une procédure de mon programme ?
    Le principe si j'ai bien compris c'est que la ligne
    iMax := max(max(max(max(PP, ARPO), CHEM), TRIPU), SYMP);
    place dans la variable iMax le nom de la variable la plus grande ?
    Ensuite les lignes IF regardent si iMax est égal a tel ou tel nom de variable.
    Les lignes IF mettent dans la variable result le nom de la variable la plus grande.
    Il y a plusieurs choses que je ne comprends pas.
    1/ Pourquoi ne peut on pas faire ça sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button1Click(Sender: TObject);
    Var
      iMax: integer;
    Begin
      //Trouve la valeur Maximal
      iMax := max(max(max(max(PP, ARPO), CHEM), TRIPU), SYMP);
      //Comparaison dans un ordre précis.
      //si 2 valeurs sont = c'est la dernière qui gagne
      If SYMP = iMax Then result := 'SYMP';
      If TRIPU = iMax Then result := 'TRIPU';
      If CHEM = iMax Then result := 'CHEM';
      If ARPO = iMax Then result := 'ARPO';
      If PP = iMax Then result := 'PP';
    End;
    2/ Comment ça marche quand il y a des execos.
    Si iMax est bien une variable il ne peut y avoir dedans q'une seule valeure non ? et comment être sur que c'est celle que je veux s'il y a des execos ?
    Et puis aussi pourquoi y a t'il besoin des IF ?
    Si le nom de la variable la plus haute est direct dans iMax pourquoi replacer le nom de cette variable dans result ? Pourquoi ne pas directement exploiter iMax ?
    Tout ça est probablement très stupide aux yeux de ceux qui savent, désolé, j'essaye d'apprendre sans en avoir les compétences...

  7. #7
    Membre averti Avatar de archonte
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 392
    Points
    392
    Par défaut
    @puce_84: j'oublierais bien vite Delphi !
    Citation Envoyé par puce_84 Voir le message
    Pour ce qui est de la différence entre procédure et function je ne comprends toujours pas. Tu dis toi même qu'un function est une procédure qui renvoi un résultat mais une procédure peut aussi renvoyer un résultat non ?
    Si on a par exemple ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    procedure TForm1.Button1Click(Sender: TObject);
    begin
    valeurun:=strtoint(edit1.text);
    valeurdeux:=strtoint(edit2.text);
    decomptage:=valeurun-valeurdeux;
    end;
    Je me débrouille en glanant des infos au fur et à mesure de mes besoins, avec des amis plus qualifiés, ce forum, des bouts de code récupérés sur code source et je réussi à faire quelques petits trucs.

    Le principe si j'ai bien compris c'est que la ligne
    iMax := max(max(max(max(PP, ARPO), CHEM), TRIPU), SYMP);
    place dans la variable iMax le nom de la variable la plus grande ?
    Ensuite les lignes IF regardent si iMax est égal a tel ou tel nom de variable.
    Les lignes IF mettent dans la variable result le nom de la variable la plus grande.
    Il y a plusieurs choses que je ne comprends pas.
    1/ Pourquoi ne peut on pas faire ça sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    procedure TForm1.Button1Click(Sender: TObject);
    Var
      iMax: integer;
    Begin
      //Trouve la valeur Maximal
      iMax := max(max(max(max(PP, ARPO), CHEM), TRIPU), SYMP);
      //Comparaison dans un ordre précis.
      //si 2 valeurs sont = c'est la dernière qui gagne
      If SYMP = iMax Then result := 'SYMP';
      If TRIPU = iMax Then result := 'TRIPU';
      If CHEM = iMax Then result := 'CHEM';
      If ARPO = iMax Then result := 'ARPO';
      If PP = iMax Then result := 'PP';
    End;
    2/ Comment ça marche quand il y a des execos.
    Si iMax est bien une variable il ne peut y avoir dedans q'une seule valeure non ? et comment être sur que c'est celle que je veux s'il y a des execos ?
    Et puis aussi pourquoi y a t'il besoin des IF ?
    Si le nom de la variable la plus haute est direct dans iMax pourquoi replacer le nom de cette variable dans result ? Pourquoi ne pas directement exploiter iMax ?

    Bon ça fait plutôt pas mal de questions : voici quelques pistes pour apprendre à lire les réponses qui t'ont déjà été proposées :

    1. Une fonction renvoie une valeur : si je déclare une fonction (MonTirage) qui renvoie un nombre entier (un nombre de 1 à 6 p.ex.) par function MonTirage : integer; alors je peux appeler ma fonction depuis une autre partie du programme et en récupérer la valeur, p. ex.:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // valeur du dé :
    Edit1.Text := IntToStr(MonTirage);
    2. Une procédure se déclare de la façon suivante : procedure MonTirage;. Elle ne renvoie aucune valeur. Dans ton exemple, valeurun, valeurdeux et decomptage sont des variables globales déclarées dans l'interface de ta form Form1. Ta procédure leur affecte une valeur. Mais d'autres procédures ou fonctions dans ta form peuvent également en modifer la valeur.

    3. Tu ne peux pas déclarer une valeur de sortie de ta "procédure" par result, puisque c'est le rôle d'une fonction (et sa différence avec une procédure !).

    4. Il ne peut pas y avoir d'ex-aequo d'après tes conditions initiales, puisque tu as fixé des ordres de priorité dans ton énoncé de départ ! Note alors que l'ordre des tests if..then est inversé par rapport à tes conditions de sorte que la dernière valeur affectée à result réponde aux deux contraintes : est maximale (=vaut iMax) et vaut PP si PP=ARPO ou vaut ARPO si ARPO=CHEM, ou ...etc

    Bref, s'il l'on se lance un défi (programmer un logiciel de plus ou moins grande envergure) il faut s'en donner les moyens. Les réponses faites dans cette discussion sont très générales (et valables pour tous les langages de programmation) et bien souvent comprises dans tes questions.


  8. #8
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    J'ai tout compris !
    Comme quoi l'informatique ce n'est pas si compliqué si c'est bien expliqué
    En fait ça m'énerve les trucs que je ne comprends pas et qui semblent simple aux autres !
    Et puis ça m'énerve aussi d'avoir plein de bonnes idées de programmes et de ne pas savoir les faire.
    Enfin ça c'est une autre histoire.
    En tous cas merci pour ces explications, je sais maintenant faire la différence entre procédure et function.

  9. #9
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 946
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 946
    Points : 5 659
    Points
    5 659
    Par défaut
    Joa,
    Citation Envoyé par puce_84 Voir le message
    En fait ça m'énerve les trucs que je ne comprends pas et qui semblent simple aux autres !
    Ça leur paraît simple parce qu'ils ont pris le temps d'apprendre.

    Citation Envoyé par puce_84 Voir le message
    Et puis ça m'énerve aussi d'avoir plein de bonnes idées de programmes et de ne pas savoir les faire.
    Pour enfoncer le clou : tu ne sais pas faire parce que tu ne sembles pas vouloir prendre le temps d'apprendre.

    Eh oui, cette p****n d'évolution n'a pas prévu qu'on sache programmer d'instinct.

  10. #10
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    Pour enfoncer le clou : tu ne sais pas faire parce que tu ne sembles pas vouloir prendre le temps d'apprendre.
    Je ne semble pas pouvoir apprendre.
    J'ai un boulot qui me prends 80 a 90 heures semaines.
    J'ai BESOIN d'outils informatiques qui n'existent pas.
    Faire développer ce produit par des pro est impayable étant donné les tarifs pharaoniques qui sont ceux des informaticiens.
    La seule alternative possible est donc de me jeter dans le développement de ces trucs sans prendre le temps de lire 10 livres avant.

  11. #11
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 160
    Points
    25 160
    Par défaut
    Citation Envoyé par puce_84 Voir le message
    Faire développer ce produit par des pro est impayable étant donné les tarifs pharaoniques qui sont ceux des informaticiens.
    La Preuve que c'est un vrai métier !

    Sinon, tout dépend ce que tu as besoin pour les math, tu as MathLab, pour les stat, tu as Stata ... les logiciels existent, faut juste les connaitre !
    Perso, si je n'étais pas programmeur, je me ferais pas chier à utiliser un ordi, c'est bien trop pourri et mal programmé ! !
    tu as des langages moins compliqués que Delphi ! aussi ! même si ne pas utiliser la touche F1 c'est bien dommage ! (surtout si tu as une version 4 à 7 ou 2009/2010)

  12. #12
    Membre averti
    Homme Profil pro
    aux études mais 40 ans
    Inscrit en
    Juin 2004
    Messages
    2 017
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : aux études mais 40 ans

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 017
    Points : 308
    Points
    308
    Par défaut
    Mon métier est la gestion technique de spectacles.
    Il n'y a quasiment rien dans ce domaine comme Shareware.
    Il ya bien cette rare initiative : http://www.le-chat-noir-numerique.fr/
    que je salue car c'est un beau projet mais ça reste une exception.
    A part ça c'est vrai qu'on trouve facilement 50 logiciels différents pour faire les memes trucs.

    Pourquoi Delphi ?
    Parceque je le reçois gratuit !
    Si non moi j'aimais vraiment bien AMOS sur Amiga mais c'est vraiment vieu !
    Tu me conseil quoi comme language "simple" en sachant que je suis indécrotable d'une structure de pensée formatée par le BASIC du Commodore 64 ?

  13. #13
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 563
    Points : 25 160
    Points
    25 160
    Par défaut
    Ah oui, ça c'est du logiciel !
    Mais cela existe mais c'est très cher !
    En général c'est vendu par les frabricants de Matos !
    Tu as une société française spécialiste en pyrotechnique qui a fait l'un des logiciels les plus performant dans ce domaine (faut que je te trouve le nom)

    Cherche "DMX Software" sur Google ... c'est ce type de logiciel que tu cherche !

    Lol, tu veux programmer ce genre de chose ?
    Le pilotage c'est souvent via des protocoles propriétaires qui respecte la norme DMX, c'est du hardware et tu ne connais pas la notion de fonction ...

    Ben si tu es resté au BASIC et au GOTO, le plus proche c'est l'assembleur, maintenant, les langages sont plus évolués !

  14. #14
    Membre expérimenté
    Profil pro
    chercheur
    Inscrit en
    Avril 2004
    Messages
    830
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : chercheur

    Informations forums :
    Inscription : Avril 2004
    Messages : 830
    Points : 1 453
    Points
    1 453
    Par défaut
    Citation Envoyé par puce_84 Voir le message
    Tu me conseil quoi comme language "simple" en sachant que je suis indécrotable d'une structure de pensée formatée par le BASIC du Commodore 64 ?
    Si tu peux trouver Turbo Pascal (7), c'est un excellent intermédiaire.
    Je l'utilise encore souvent quand l'interface utilisateur n'est pas essentielle.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Listeners] Qu'est ce qui est le plus propre?
    Par michaeljeru dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 01/05/2007, 12h21
  2. selection d'un élément où la date est la plus grande
    Par Mihalis dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2007, 18h31
  3. [Access] Trouver qui a le plus grand nombre de visites
    Par maxidoh dans le forum Langage SQL
    Réponses: 13
    Dernier message: 03/04/2006, 03h00
  4. int vs double: qui est le plus rapide?
    Par Chewbi dans le forum C++
    Réponses: 23
    Dernier message: 25/03/2006, 02h58
  5. W2000 serveur Comment trouver qui est connecté ?
    Par Mariussy dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 06/12/2005, 14h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo