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 :

probleme d'espace avec une "var" :-(


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 31
    Points
    31
    Par défaut probleme d'espace avec une "var" :-(
    bonsoir a tous,
    voila j'ai un petit probleme avec une varible (enfin je pense).

    donc, je suis sur la réalisation d'un petit soft, qui a pour bute
    de sauvegarder les mots clé pour une recherche sur google.

    donc ajouter/suprimer des mots/thermes enregistré dans un tcombobox.

    donc le probleme est que quand je clic sur recherche qui
    m'ouvre une page explorer avec google, les mots recherché
    sont tout collé entre eu :-( les espace inclu ne sont plus la !!!

    je vous indique mon script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button1Click(Sender: TObject);
    Var lien,adresse:String;
    begin
    lien:=(ComboBox1.Text);
    adresse:='http://www.google.fr/search?q='+lien+'&btnG=Search';
    ShellExecute(0,'OPEN',PChar(adresse), Nil, Nil, SW_SHOW);
    end;
    que pensez vous de cette erreur ???
    moi je veut retrouver les espace includ

  2. #2
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Tu peux faire comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Button1Click(Sender: TObject);
    Var lien,adresse:String;
         i : integer;
    begin
    lien:='';
    For i := 0 to ComboBox1.Items.Count-1 do
       lien := lien +' '+ ComBoBox1.Items[i];//ajoute chaque item à la suite en insérant un espace
    Trim(Lien);//E,nlève les espaces à la fin et au début
    adresse:='http://www.google.fr/search?q='+lien+'&btnG=Search';
    ShellExecute(0,'OPEN',PChar(adresse), Nil, Nil, SW_SHOW);
    end;
    EDIT: il doit certainement y avoir une astuce aussi avec DelimitedText de TStrings. Voir pour plus de détails
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  3. #3
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 31
    Points
    31
    Par défaut ...
    alors en faite,
    je recherche a avoir les espaces entre les mots (dans un meme item).
    1 item = une recherche.

    le probleme est par exemple "pour un seul item":


    "manger de la ..." "a midi et soir"

    donne avec mon script

    "mangerdela..." "amidietsoir"



    le scrit que tu me donne, ajoute tous les items a la recherche avec un espace.
    mais je sans que le résultat est pas loin, je creuse creuse

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Si tu regardes bien sur Google, c'est pas des espaces mais des + qu'il faut mettre
    Donc ajoute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lien := AnsiReplaceStr(lien,' ','+');
    Et ça devrait être bon
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 31
    Points
    31
    Par défaut ...
    de cette facon ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button1Click(Sender: TObject);
    Var lien,adresse:String;
    begin
    lien:=(ComboBox1.Text);
    lien:= AnsiReplaceText(lien,' ','+');
    adresse:='http://www.google.fr/search?q='+lien+'&btnG=Search';
    ShellExecute(0,'OPEN',PChar(adresse), Nil, Nil, SW_SHOW);
    end;
    je debute sur le delphi, mais je pensai deja a un truc comme replace.
    la sa m'indique 'identificateur non déclaré"...

    je cherche

  6. #6
    Membre expert
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 51

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Points : 3 575
    Points
    3 575
    Par défaut
    Le '+' est la bonne solution pour Google comme l'a dit Pedro
    Sinon, de manière générale il faut utiliser les code ascii dans une URL avec '%' devant.

    L'espace est à remplacer par '%20' par exemple.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  7. #7
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Points : 8 078
    Points
    8 078
    Par défaut
    Salut
    Effectivement comme le dit TicTacToe, le %20 remplace l'espace.
    Il conviendrait toutefois de savoir si tu veux faire une recherche sur chacun de tes mots de chacun de tes Items, une recherche sur la phrase de chacun de tes items ou une recherche de la phrase construite en réunissant out tes Items...
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  8. #8
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 31
    Points
    31
    Par défaut
    il convient qu'il y a de "" qui indique google
    qu'il doit faire une recherche par lot de mot ou pas pour l'item.

    esque c'est juste ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button1Click(Sender: TObject);
    Var lien,adresse:String;
    begin
    lien:=(ComboBox1.Text);
    lien:= AnsiReplaceText(lien,' ','+');
    adresse:='http://www.google.fr/search?q='+lien+'&btnG=Search';
    ShellExecute(0,'OPEN',PChar(adresse), Nil, Nil, SW_SHOW);
    end;
    car a la compilation il m'indique : 'identificateur non déclaré"

    apres quelques recherche a google sa semble etre juste...

  9. #9
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonjour,

    Déjà à ajouter en Uses ==> StrUtils

    Heuuu, puis aussi ==> ShellAPI

  10. #10
    Nouveau membre du Club
    Inscrit en
    Février 2004
    Messages
    55
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 55
    Points : 31
    Points
    31
    Par défaut ...
    ou la bourde pour moi !!!

    c'est ok, sa marche nikel



    merci a tous pour votre aide...
    pour charger le premiere version,
    weldoo.com
    a bientot @++

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

Discussions similaires

  1. [SQL2K]Requete sur une chaine avec une ou plusieurs quote
    Par tazamorte dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 17/04/2007, 08h22
  2. Réponses: 14
    Dernier message: 09/08/2004, 13h42
  3. Réponses: 2
    Dernier message: 24/06/2004, 09h13

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