Demande d'aide d’actualisation de form vba.net

Résolu
vinkooo69 - 3 juin 2013 à 03:47
 Utilisateur anonyme - 10 juin 2013 à 13:23
bonjour,

Je vous écrit pour demandé votre aide parce que je bloque sur comment actualisé une form sans quitter la form.

Voila, j'ai créé un système de texte en ligne qui se transmet directement sur l'application mais pour faire apparaître le texte faut que cette personne quitte l'application et la relance a nouveau pour que il apparaît,

donc ma question est :
j'aimerai faire une simulation que l'application quitte ou faire une actualisation total de l'application pour que le texte que j'ai mis dans le texte ce fasse mettre directement sur le logiciel sans quitter le logiciel y'a t'il un code pour ?

j'ai déjà tenté :
me.refresh

mais sans succès

merci pour vos questions a très bientôt :D

17 réponses

Utilisateur anonyme
6 juin 2013 à 12:30
au lieu de lire ton texte au démarrage tu mets un Timer réglé par exemple à 1 minute.
Dans le code de ton timer tu fais une lecture du fichier (toutes les minutes donc) et tu pourras ainsi comparer si le nouveau message est différent de l'ancien tu dois l'afficher ou non.
Ex:

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim wc As New WebClient
        Dim Dta As String = wc.DownloadString("https://dl.dropboxusercontent.com/u/23532778/rdx/news.txt")
        Label8.Text = Dta


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
3
Utilisateur anonyme
7 juin 2013 à 02:44
sa ne fonctionne toujours pas chez moi :(

Pourquoi ça fonctionne chez moi alors ???
Il y a soit un problème de machine, soit un problème d'opérateur!
(a la première vue, J'aurais opté pour la deuxième proposition)


J'avais donc raison pour la deuxième proposition.


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
3
Utilisateur anonyme
3 juin 2013 à 04:28
merci pour vos questions a très bientôt :D


Puisque VBA.net n'existe pas, c'est dans quel langage ?

Voila, j'ai créé un système de texte en ligne qui se transmet directement sur l'application mais pour faire apparaître le texte faut que cette personne quitte l'application et la relance a nouveau pour que il apparaît,


Comment as-tu fait ton compte ? Si tu as programmé pour que l'application soit fermée, tu dois bien être capable de ne pas exiger la fermeture de l'application. Ce serait pas mal plus simple que ce plan là complètement incompréhensible:

j'aimerai faire une simulation que l'application quitte ou faire une actualisation total de l'application pour que le texte que j'ai mis dans le texte ce fasse mettre directement sur le logiciel sans quitter le logiciel y'a t'il un code pour ?


Je veux bien croire qu'il faille être tolérant au niveau de la langue; mais il faut quand même pouvoir comprendre...
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 juin 2013 à 07:17
Bonjour,
La solution est simple : il suffit de machiner le machin dans le machin avant de machiner le machin pour qu'il machine dans le machin sans machiner le machin.
Mais on pourra probablement machiner de manière plus machinée lorsque tu nous auras machiné par quel machin tu as machiné ce machin.


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
désolé :s

je me suis mal exprimé
le langage c'est du .net

ce que je veut dire c'est que dans mon logiciel j'ai utilisé un mode de modification de texte via un fichier.txt hébergé chez dropbox,
a partir de ce texte je peut mettre des messages et sa ce transmet directement sur le logiciel et il apparaît sur le logiciel que j'ai distribué a la personne, et pour que cette personne voit le message faut qu'elle quitte le logiciel et le relance a nouveau pour voir le message inscrit sur le logiciel, mais moi j'ai pas envie que la personne quitte le logiciel et le relance pour voir le message donc ma question est celle-ci :

y'a t'il un moyen de rafraîchir la fenêtre du logiciel sans qu'elle quitte le logiciel pour que les informations sois actualisé a nouveau et ce mettent à jour sur le logiciel sans que cette personne qui le logiciel


j'utilise le logiciel :

visual basic express 2010
0
Utilisateur anonyme
3 juin 2013 à 14:11
Bonjour,
La réponse de ucfoutu (qui je salue au passage) me parait la plus adéquate à ta question.

Quel est le rapport avec VBA?
Même en créant un document excel (ou autre office) à partir de visual studio 2010, le langage ne sera jamais VBA.
(nouveau projet => Office => Classeur excel xxx)

On élimine donc ton allusion à VBA qui nous "embrouille" encore plus l'esprit en essayant de comprendre ta question de contorsionniste.

Et grâce à ma nouvelle boule de cristal, je crois comprendre ce que tu veux faire:

- Tu as une application qui au démarrage va lire un fichier texte et qui affiche son contenu (uniquement au démarrage).
- Tu veux pouvoir changer ce texte de chez toi (puisque il est dans la dropbox) et que ce soit affiché chez l'utilisateur de l'application, sans qu'il aie besoin de redémarrer l'appli.

Si tel est le cas au lieu de lire ton texte au démarrage tu mets un Timer réglé par exemple à 1 minute.
Dans le code de ton timer tu fais une lecture du fichier (toutes les minutes donc) et tu pourras ainsi comparer si le nouveau message est différent de l'ancien tu dois l'afficher ou non.
Ex:
TexteActuel=  System.IO.File.ReadAllText ("c:\...)




Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
merci pour votre réponse mais j'ai essayé mais sa ne marche pas :(
0
Utilisateur anonyme
4 juin 2013 à 01:10
j'ai essayé mais sa ne marche fonctionne pas


Pourquoi ça fonctionne chez moi alors ???
Il y a soit un problème de machine, soit un problème d'opérateur!
(a la première vue, J'aurais opté pour la deuxième proposition)

Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
sa ne fonctionne toujours pas chez moi :(

pour faire simple comment fait t-on pour actualisé une form vb.net avec un timer après X secondes pour que la form redessine complètement la form sans devoir quitter le logiciel et le relancer
0
Utilisateur anonyme
6 juin 2013 à 02:05
Ce serait peut-être le temps que tu respectes le règlement. Le règlement dit que tu dois fournir un bout de code qui illustre le problème. Et puis le règlement dit que cela prend une question précise sur un problème précis. La seule précision c'est que tu prends un fichier sur DropBox et que ta form ne se rafraîchit pas. "Aide toi et le Ciel t'aidera."
0
Bonjour je m'excuse pour la réponse d'hier qui était très agressive c'est ce n'était pas voulu je m'en excuse :/

Je précise ma question :

Voilà j'ai décidé d'installer un système de news sur mon logiciel qui est transmis depuis un fichier texte les news sur un label que j'ai déjà prédéfini dans mon logiciel, voici le code que j'ai mis dans ma form1

 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim wc As New WebClient

Dim Dta As String = wc.DownloadString("https://dl.dropboxusercontent.com/u/23532778/rdx/news.txt")

Label8.Text = Dta


Ce code fonctionne très bien je peux tout changer les textes depuis la dropbox sans problème, mais voila mon souci, c'est que si je change mon texte qui est
exemple "Test code" en "code fonctionnel" et pour que ce "code fonctionnel" apparaisse sur le logiciel la personne doit quitter le logiciel et le relancer pour qu'elle voit la nouvelle.

Donc ma question est :

Et ce que y'a un code spécifique pour rafraîchir la form1 sans devoir la quitter pour faire apparaître le message "code fonctionnel" sans devoir quitter le logiciel et le relancer à nouveau pour que le message apparaisse

j'espère que ma question est précise et je m'excuse pour hier j'étais fait ça a la va vite désoler si j'étais un peu agressive c'était pas voulu
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
6 juin 2013 à 10:21
Bonjour,
Il faut commencer à comprendre que l'évènement Form1_Load ne se déclenche précisément que lors du chargement du Form. Et l'exécution des instructions qui y figurent ne se fera donc qu'au chargement.
Si tu veux qu'une instruction s'exécute dans d'autres circonstances, il faut la mettre dans une procédure distincte et l'appeler depuis ton code chaque fois que nécessaire. Cela peut (mais pas uniquement) être par exemple uns instruction exécutée périodiquement (utilisation d'un timer)
Je te précise que ma réponse n'est pas celle d'un VB.Nettiste (je ne connais pas ce langage), mais uniquement de bon sens.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
bonjour,

voila j'ai fais comme tu m'a demandé et sa marche très bien :D
j'ai utilisé le code dans le timer comme tu me la montré :

  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim wc As New WebClient
        Dim Dta As String = wc.DownloadString("https://dl.dropboxusercontent.com/u/23532778/rdx/news.txt")
        Label8.Text = Dta


et dans la form1 on met le code pour timer1 start :

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Timer2.Start()
end sub


en tout cas je vous remercie pour tous vos réponses merci beaucoup :D
0
bonjour excusez moi de revenir sur le sujet :s

quand j'utilise le timer avec le code et que sa l'active via la form1 en le lançant sa fait figer l’écran, est ce que y'a un moyen de le faire travailler en arrière plan sans que la form ce fige tous les 1 minute ?


j'ai essayer le BackgroundWorker mais sa ne marche pas :/
0
Utilisateur anonyme
10 juin 2013 à 11:59
As-tu réglé l’intervalle à 30000 (30 secondes) ?

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Timer1.Interval = 30000
        '....
        '....


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
oui j'ai mis un intervalle de 10 000 (1mn)
mais a chaque fois que quand c'est le moment de rafraîchir la label sa fait figer l’écran pendant 3-4 seconde et c'est embêtant parce que j'utilise la form sans bordure et du coup sa fait figer la form pendant 3-4 seconde et impossible d'appuyer sur les boutons bouger la form tout ca
0
Utilisateur anonyme
10 juin 2013 à 13:23
C'est parce que tu télécharges le fichier à chaque fois, tu devrais, à la place, mettre un WebBrowser comme ceci:

            Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Timer1.Interval = 10000
        WebBrowser1.Dock = DockStyle.None
        WebBrowser1.Navigate("https://dl.dropboxusercontent.com/u/23532778/rdx/news.txt")



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Rejoignez-nous