2009-06-10 8 views
0

Je travaille sur un simple programme VB.net FOSS qui fonctionne la plupart du temps dans une fenêtre (http://code.google.com/p/slotshuffle/ lien si quelqu'un veut aider à revoir le code ou ou veut voir pour référence). J'ai recherché en ligne pour des manières d'informer des utilisateurs d'une version mise à jour, et la plupart d'entre elles impliquent changer la méthode de déploiement ou ajouter beaucoup de classes (à un programme qui est seulement lignes 500-impair comprenant des commentaires).Code Vb.net pour vérifier si un fichier (nouvelle version sur google code) existe sur le web?

Ce que je voudrais être en mesure de le faire (dans le code pseudo) est d'aller à un menu de fichier ou le bouton (ie un sous) et:

if http://(website...)/slotshuffle2.0.zip exists 
then 
msgBox.show "New version available" + a link 
else 
msgBox.show "No new version check back later" 

Il semble que il y a une méthode .exists que peut être utilisé localement, mais je ne suis pas tout à fait sûr si elle est applicable ici? Quelqu'un a-t-il déjà eu de l'expérience avec les vérifications de mise à jour et googlecode? (À savoir l'adresse est formée d'une manière prévisible de telle sorte que ce que je vous demande est faisable?)

Répondre

1

Si vous étiez comme je le ferais, il ya une page currentversion.html sur le site contenant le numéro de version actuel, puis si vous utilisez un webrequest, décrit ici http://msdn.microsoft.com/en-us/library/system.net.webrequest.aspx vous pouvez trouver cette version, comparez à la version du client, puis faites ce dont vous avez besoin à partir de là.

+0

N'a pas suivi votre suggestion exactement, mais vous m'avez fait penser avec le currentversion.html >>> A fini juste en ajoutant un composant de webbrowser et un lien au wiki de code de google! Merci à tous ceux qui ont répondu, J'adore ce site! –

+0

pourquoi ne l'avez-vous pas marqué? –

3

La première chose à signaler est MsgBox pas afficher un lien hypertexte en toutes circonstances. Vous devez avoir votre propre formulaire pour cela. Pour la question actuelle de la recherche d'un fichier sur le Web, vous souhaitez utiliser la classe System.Net.WebClient. Cela vous permettra de télécharger facilement un fichier sur le web.

Ou, utilisez la classe System.Net.HttpWebRequest pour créer une demande de fichier. C'est un peu plus compliqué à utiliser, mais cela vous permettra de demander le fichier et d'obtenir une réponse du serveur sans réellement télécharger le tout.

+0

Ceci est une idée intéressante aussi, je vais devoir enquêter plus, peut-être pour une future version. Merci pour la réponse rapide! –

2

Je l'ai fait quelque chose de semblable, bien qu'il se contente de lire une URL pour le texte et les bandes les informations dont j'ai besoin avec regex:

System.Net.WebClient().DownloadString(oURL).Split(Chr(10)) 

Je boucle puis à travers le tableau résultant (de lignes) et traiter les informations .

Peut-être que cela peut vous aider à démarrer

3

Si vous êtes sûr que le fichier existe, vous pouvez vérifier la propriété IfModifiedSince. Pour cela, vous devrez enregistrer la dernière date de modification après avoir téléchargé la première version & lors de contrôles ultérieurs, comparez la date de modification du fichier avec la date enregistrée.

Voir le lien MSDN ci-dessus pour un exemple.

Questions connexes