Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156

    [visual c++] Ottenere e stampare url da browser e avviare ricerca da textbox

    Con tanti browser che ci sono certamente non se ne sentiva la mancanza di un altro, ma tanto per sperimentare e ho voluto creare uno personalizzato, ma ho incontrato alcuni problemi:
    -Non riesco ad ottenere in tempo reale l'url della pagina che si sta visitando:
    vorrei infatti stamparlo in tempo reale in una label.
    -avete presente la barra in alto di Chrome? in quella barra si può sia inserire un indirizzo web, sia avviare una ricerca. Per l'inserimento di un URL non c'è problema, ma è possibile "passare" a google direttamente la cosa da cercare??

    per la prima questione io ho provato con

    codice:
    private: System::Void webBrowser1_Navigated(System::Object^  sender, System::Windows::Forms::WebBrowserNavigatedEventArgs^  e) 
    {
    address->Text=(System::String ^)webBrowser1->Url;
     }
    dove address è la textbox dove dovrebbe apparire in tempo reale l'indirizzo, ma nulla.
    Ho provato a usare lo stesso comando nell'evento "DocumentCompleted"

    lavoro su Windows 7 64 bit e Microsoft Visual C++ Express 2010

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    no allora al primo punto ho risolto:
    non doveva essere

    address->Text=(System::String ^)webBrowser1->Url;

    ma semplicemente

    address->Text=webBrowser1->Url->AbsoluteUri


    ma rimane ancora il secondo problema

  3. #3
    Per il secondo problema ti devi collegare a questo sito:

    codice:
    http://www.google.it/search?ie=UTF-8&q=Frase%20da%20cercare
    dove Frase%20da%20cercare è la query di ricerca

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    edit, ah era un vero consiglio

    che figura....

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,472
    Originariamente inviato da Rising1
    che simpaticone

    pare che non l'ho fatto

    sarà che non so cercare su google ma non trovo niente
    Mi sa che non hai capito ... ti è stata data la risposta al tuo secondo problema, non ti è stato detto di cercare su google.
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156


    ecco... allora niente, provo e vi faccio sapere

    è che mi aspettavo chissà quale funzione e chissà che parametri per questo ho pensato male

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    sto provando a fare come suggerito, ma prima ovviamente devo elaborare l' input in modo da mettergli quei "%20" al posto degli spazi
    ecco il codice:

    codice:
    bool punto=false;
    int j=39;
    System::String ^ analize;
    System::String ^ nuovo="http://www.google.it/search?ie=UTF-8&q=";
    analize=inserturl->Text;
    
    // dove inserturl è la textbox dove l'utente scrive l'url o la cosa da cercare
    
    for (int i=0;i<(inserturl->Text->Length);i++) {
          if (analize[i]=='.') punto=true; }
    	if (punto) webBrowser1->Navigate(inserturl->Text); 
    
    //In pratica per semplificare se l'utente mette un punto vuol dire che sta mettendo un
    //indirizzo, come google.it o youtube.com etc, in tutti gli altri casi vuole fare una ricerca su google
    
    else {
    		 for (int i=0;i<analize->Length;i++) { 
                     if (analize[i]==' ') 
    --->           {nuovo[j]='%'; j=j+1;   nuovo[j]='2';   j=j+1;   nuovo[j]='0';   j=j+1;} else
    --->		 {nuovo[j]=analize[i];j=j+1;}
    		}  
    			 
    // lo so, un macello, ma ho poca dimestichezza con questa "nuova" gestione delle stringe nel
    //c++. In pratica se trovo uno spazio metto in Nuovo[] un %20 e ricomincio a copiare
    //i caratteri ad uno ad uno. così per tutti gli altri spazi. 
    
    webBrowser1->Navigate(nuovo);
    
    //ed infine inizio la ricerca.
    }
    gli errori sono dove ci sono le frecce:

    "error C3070: 'System::String::default': la proprietà non ha un metodo 'set' "

  8. #8
    Originariamente inviato da Rising1
    sto provando a fare come suggerito, ma prima ovviamente devo elaborare l' input in modo da mettergli quei "%20" al posto degli spazi
    ecco il codice:

    codice:
    bool punto=false;
    int j=39;
    System::String ^ analize;
    System::String ^ nuovo="http://www.google.it/search?ie=UTF-8&q=";
    analize=inserturl->Text;
    
    // dove inserturl è la textbox dove l'utente scrive l'url o la cosa da cercare
    
    for (int i=0;i<(inserturl->Text->Length);i++) {
          if (analize[i]=='.') punto=true; }
    	if (punto) webBrowser1->Navigate(inserturl->Text); 
    
    //In pratica per semplificare se l'utente mette un punto vuol dire che sta mettendo un
    //indirizzo, come google.it o youtube.com etc, in tutti gli altri casi vuole fare una ricerca su google
    
    else {
    		 for (int i=0;i<analize->Length;i++) { 
                     if (analize[i]==' ') 
    --->           {nuovo[j]='%'; j=j+1;   nuovo[j]='2';   j=j+1;   nuovo[j]='0';   j=j+1;} else
    --->		 {nuovo[j]=analize[i];j=j+1;}
    		}  
    			 
    // lo so, un macello, ma ho poca dimestichezza con questa "nuova" gestione delle stringe nel
    //c++. In pratica se trovo uno spazio metto in Nuovo[] un %20 e ricomincio a copiare
    //i caratteri ad uno ad uno. così per tutti gli altri spazi. 
    
    webBrowser1->Navigate(nuovo);
    
    //ed infine inizio la ricerca.
    }
    gli errori sono dove ci sono le frecce:

    "error C3070: 'System::String::default': la proprietà non ha un metodo 'set' "
    Non ne sono sicuro, ma ci dovrebbero essere sono apposite funzioni di libreria che fanno queste cose (ti convertono anche i caratteri accentati, gli apostrofi ecc.) tipo questa: http://php.net/manual/en/function.htmlspecialchars.php

    Per risolvere invece ilo tuo problema, prova a contare prima tutti gli spazi, e man mano ti crei le stringhe, che poi unisci tutte insieme mettendo un "%20" nel mezzo

  9. #9
    Ecco trovata la funzione del .NET che fa per te: http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2011
    Messaggi
    156
    Originariamente inviato da ardito86
    Ecco trovata la funzione del .NET che fa per te: http://msdn.microsoft.com/en-us/library/w3te6wfz.aspx
    non capisco in realtà bene il funzionamento di tale funzione:
    -basta passargli la stringa da cercare e lui te la codifica?
    -basta passargli http://www.google.it/search?ie=UTF-8&q=stringa da cercare
    e lui al posto degli spazi mette i %20?



    ci sono, e se usassi questo:

    http://www.cplusplus.com/reference/s...tring/replace/

    vediamo...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.