Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    2

    [C#] aggiornamento dati in una form?

    Ciao! Avrei un problemino. Stavo provando a usare i controlli webresponse per scaricare il codice di una pagina web: in sostanza la form ha un pulsante per abilitare la procedura e una textbox dove visualizzare il codice di volta in volta scaricato in un buffer di 100 caratteri. Il problema e' che sebbene scarichi la pagina, la visualizzazione nella textbox non avviene in tempo reale. Se uso invece la ReadToEnd alla conclusione della connessione mi si visualizza tutto correttamente. Ho provato a mettere una progress bar invece della textbox, ma sebbene l'indice aumenti, non mi visualizza nulla, e' come se non facesse il refresh. Allego il codice del pulsante:

    int read=1;
    char[] buffer = new char[100];

    HttpWebRequest req = (HttpWebRequest) WebRequest.Create("http://www.tiburcc.it/list.php?idcat=38");
    HttpWebResponse rsp = (HttpWebResponse) req.GetResponse();

    Encoding enc = System.Text.Encoding.GetEncoding(1252);

    StreamReader t = new StreamReader(rsp.GetResponseStream(),enc);
    read = t.ReadBlock(buffer,0,100);
    while(read>=0)
    {
    this.lblMain.Text += buffer;
    read = t.ReadBlock(buffer,0,100);
    };

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    2
    Apporto una correzione:

    int read=1;
    char[] buffer = new char[100];

    HttpWebRequest req = (HttpWebRequest) WebRequest.Create("http://www.tiburcc.it/list.php?idcat=38");
    HttpWebResponse rsp = (HttpWebResponse) req.GetResponse();

    Encoding enc = System.Text.Encoding.GetEncoding(1252);

    StreamReader t = new StreamReader(rsp.GetResponseStream(),enc);
    read = t.ReadBlock(buffer,0,100);
    while(read>0)
    {
    //this.lblMain.Text += buffer; ERRATO!
    this.lblMain.Text += new String(buffer);
    read = t.ReadBlock(buffer,0,100);
    };

    Sostanzialmente pare che i bellissimi Convert.Toxxx non funzionino se c'e' da convertire un array di char in una stringa, si deve usare il costruttore di stringa (e dire che dovrebbero essere la stessa cosa, mah! ). Anche cosi' pero' non mi permette di vedere 100 caratteri alla volta, ma solo all'uscita del while!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.