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

VB.NET Discussion :

actualisé Textbox pendant exécution? [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut actualisé Textbox pendant exécution?
    bonjour à tous,

    j'ai écrit un petit programme sans prétention qui me permet de lire un fichier contenant des adresses internet et de résoudre les noms de domaine correspondant

    c'est un programme ecrit au chausse pied, je suis sure qu'il y'a mieux et plus optimisé mais il a le mérite de faire ce que je lui demande

    maintenant j'aimerai installer un petit controle avec un textbox qui afficherait l'adresse internet en cours de résolution
    mais j'ai tenté un truc simple et bin... ça marche pas la fenetre se fige sans affiché l'adresse mais continue
    et une fois fini, affiche la derniere adresse

    comment faire pour voir toutes les adresses sans que cela se fige?

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    Imports System.Net
     
    Public Class Form1
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
                TextBox1.Text = OpenFileDialog1.FileName
            End If
        End Sub
     
     
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            Dim File_Input As Integer
            Dim File_Output As Integer
            Dim Ligne_String As String
            Dim Ligne_String2 As String
            Dim ips As IPAddress()
            Dim position As Integer
     
            If TextBox1.Text = "" Then  'si pas de fichier séléctionné
                MsgBox("pas de fichier séléctionné", MsgBoxStyle.OkOnly, "ERREUR")
            Else
                If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
                    File_Input = FreeFile() 'Get the available file number. 
                    FileOpen(File_Input, TextBox1.Text, OpenMode.Input)
     
                    File_Output = FreeFile() 'Get the available file number. 
                    FileOpen(File_Output, SaveFileDialog1.FileName, OpenMode.Output)
     
                    While Not EOF(File_Input)
                        Ligne_String = LineInput(File_Input) 'lie une ligne
     
                        position = Ligne_String.IndexOf("#[")                   'retrouve l'index de #[
                        If position > -1 Then                                   's'il existe
                            Ligne_String = Mid(Ligne_String, 1, position - 1)   'supprime les commentaires de type #[...]
                        End If
     
                        If Not (Ligne_String.IndexOf("#") > -1) Then    'si pas de # dans la ligne
                            Ligne_String2 = Replace(Ligne_String, "127.0.0.1 ", "")
     
                            Try
                                TextBox2.Text = Ligne_String2 'affichage de l'adresse en cours
                                ips = Dns.GetHostAddresses(Ligne_String2) 'transforme l'adresse en IP
                                Print(File_Output, Ligne_String & " #" & ips(0).ToString & vbCrLf) 'recopie la ligne + adresse IP
                            Catch ex As Exception
                                Print(File_Output, Ligne_String & " ##########" & vbCrLf) 'recopie la ligne non resolu
                            End Try
                        Else
                            Print(File_Output, Ligne_String & vbCrLf) 'recopie la ligne
                        End If
                    End While
     
                    FileClose(File_Input)    'ferme le fichier de départ
                    FileClose(File_Output)    'ferme le fichier de sortie
     
                    MsgBox("fini !!!")
                End If
            End If
        End Sub
    End Class

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour sniper59,

    Il y a un sujet très récent qui devrait t interesser dans lequel on parle du composant Backgroundworker.

    A+

    EDIT : j ai retrouvé le topic :
    http://www.developpez.net/forums/d13...non-bloquante/

    Bonne lecture.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut
    merci de ta réponse

    j'y avais bien pensé mais j'aurai aimer une solution plus simple
    bon je vais me pencher sur les Backgroundworker

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Rajoute peut-être un Application.DoEvents juste après avoir rafraichi le textbox

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 27
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Rajoute peut-être un Application.DoEvents juste après avoir rafraichi le textbox
    affaire réglé, y'a pas plus simple

    avec le Backgroundworker , j'avais une erreur de type "cross-thread" ...
    j'étais en train de chercher une solution sur le net

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 19/03/2009, 13h59
  2. Réponses: 3
    Dernier message: 28/05/2008, 12h17
  3. Réponses: 2
    Dernier message: 05/12/2007, 22h54
  4. Afficher dans une textbox pendant l'exécution
    Par cedric.synix dans le forum VB.NET
    Réponses: 9
    Dernier message: 24/09/2007, 12h30
  5. [VB]garder le form actif pendant exécution!!
    Par porki dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/01/2006, 10h59

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