Page 3 sur 11

Re: NCTD by Nash

Posté : dim. 10 juil. 2011 19:22
par Zinzin
HS : C'est quand même beau le partage ;)......

Re: NCTD by Nash

Posté : dim. 10 juil. 2011 19:27
par Nash
c'est des cours pas du partage :D

toutes ces lignes me serviront pour d'autres projets ;) avant que je comprenne un peu mieux et que je recoive mes livres pour m'instruire :)

Re: NCTD by Nash

Posté : dim. 10 juil. 2011 20:04
par sh@rp
Volà comment résoudre le problème de libération de resource :
' Efface le fichier s'il existe
If System.IO.File.Exists("C:\ange.png") Then
My.Computer.FileSystem.DeleteFile("C:\ange.png")
End If
' Lance l'extraction de la resoirce sur le DD de l'user
Process.Start("C:\R.exe", "-extract C:\ange.cpl, C:\ange.png, PNGFILE, 5000,")
' tout pendant que le fichier n'existe pas alors une boucle qui permet de mettre en attente sinon l'imge risque de ne pas exister donc ne sera pas chargée dans la pctBx
Do While Not System.IO.File.Exists("C:\ange.png")
Thread.Sleep(1)
Loop
' on créé une instance img de la classe image et on lui affecte l'image
Dim img As Image = Image.FromFile("C:\ange.png")
' on affecte le miniature de la variable img de type image à la propriété image de la pictureBox1
Me.PictureBox1.Image = img.GetThumbnailImage(img.Height, img.Width, Nothing, Nothing)
' on libère la resource img
img.Dispose()
' on efface le fichier ange.png
If System.IO.File.Exists("C:\ange.png") Then
My.Computer.FileSystem.DeleteFile("C:\ange.png")
End If
Private Sub NCTD_unLoad(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Ce n'est pas le nom de la procédure qui importe (NCTD_unLoad) mais le Handles (MyBase.Load).


Pour exécuter du code à la fermeture il faut créer le gestionnaire d'évènement "FormClosing".
Pour exécuter du code lorsque le formulaire principal est fermé il faut créer le gestionnaire d'évènement "FormClosed".

Pour savoir comment créer des gestionnaires d'évènement (comme bien d'autres choses) je l'explique ici (pour Load, Closing et Closed) :
http://www.my7apps.fr/forum/threads/266 ... 1#post1667

Bon courage. ;)

Re: NCTD by Nash

Posté : dim. 10 juil. 2011 20:52
par Nash
grrrr :)

la methode ou l'operation n'est pas implémenté !

je retrouve ce *** de message d'erreur tres souvent , ca veut dire quoi au juste ?
Private Sub NCTD_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Process.Start("sources\ResHacker.exe", "-extract C:\Windows\System32\timedate.cpl, C:\timedate.png, PNGFILE, 5000,")
Do While Not System.IO.File.Exists("C:\timedate.png")
Thread.Sleep(1)
Loop
Dim img As Image = Image.FromFile("C:\timedate.png")
Me.PictureBox3.Image = img.GetThumbnailImage(img.Height, img.Width, Nothing, Nothing)
img.Dispose()
End Sub

Private Sub Form1_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing


If System.IO.File.Exists("C:\timedate.png") Then
My.Computer.FileSystem.DeleteFile("C:\timedate.png")
End If
End Sub

arffff sayez enfin ca fonctionne nikel
plus qu'a le mettre en fonction au clique de modif , ca pas de prob :):)

merci my sh@rp :):)

Re: NCTD by Nash

Posté : dim. 10 juil. 2011 23:33
par Nash
on a l'impression que VB enchaine les instructions sans attendre que la precedente soit finie ???

du coup , j'ai un decallage image par rapport au reel , on dirai \ResHacker fait son operation avant que le png soit supprimé ??
ElseIf ComboBox1.SelectedItem = "Horloge 19" Then
Shell("sources\rouge trait.bat", vbHide)
End If
My.Computer.FileSystem.DeleteFile("C:\timedate.png")
Process.Start("sources\ResHacker.exe", "-extract C:\Windows\System32\timedate.cpl, C:\timedate.png, PNGFILE, 5000,")
Do While Not System.IO.File.Exists("C:\timedate.png")
Thread.Sleep(1)
Loop
Dim img As Image = Image.FromFile("C:\timedate.png")
Me.PictureBox3.Image = img.GetThumbnailImage(img.Height, img.Width, Nothing, Nothing)
img.Dispose()
End Sub
je me trompe ?? (ca c'est pour le clique modifications , pour lancement NCTD pas de prob)

Re: NCTD by Nash

Posté : lun. 11 juil. 2011 00:07
par euforia
sympa merci nash!!

Re: NCTD by Nash

Posté : lun. 11 juil. 2011 00:14
par Zinzin
Nash a écrit :c'est des cours pas du partage :D

toutes ces lignes me serviront pour d'autres projets ;) avant que je comprenne un peu mieux et que je recoive mes livres pour m'instruire :)
Partage de connaissance rhoooooooooooooooooo tu joue sur les mots hein :p

Re: NCTD by Nash

Posté : lun. 11 juil. 2011 09:23
par Nash
maj 1.3.0.0

-ajouts de l'horloge en cours a l'ouverture du log
-suppression de timedate.png qui traine sur c: a la fermeture du log ;)

merci a sh@rp :)


NCTD v.1.3.0.0 by Nash

Re: NCTD by Nash

Posté : lun. 11 juil. 2011 20:01
par sh@rp
on a l'impression que VB enchaine les instructions sans attendre que la precedente soit finie ???
Ca dépends comment tu codes tes routines, un langage de programmation n'a pas de limite c'est la facon dont le développeur raisonne qui
pose des problèmes. ;)
Si tu créés toi-même une routine à l'aide de la classe "Process" tu peux lui adjoindre la méthode "HasExited" dans une boucle "Do Until"
qui permettra de ne pas continuer les autres opérations tout pendant que la tache n'est pas terminée.
C'est au développeur de prévoir ce genre de routine (fonction ou procédure). C'est un langage de programmation Nash pas un pseudo-langage. ;)

De rien pour l'aide si ca peut te donner envie dans un éventuel apprentissage. ;)

Re: NCTD by Nash

Posté : lun. 11 juil. 2011 21:42
par Nash
De rien pour l'aide si ca peut te donner envie dans un éventuel apprentissage.
oui je pense , j'aime bien :):)

meme si sans les bases , c'est assez compliqué :(

ca ira peut etre mieux quand je me mettrai dans mes livres lol !

ps: pour le clique droit , j'ai pas du tout saisie :( j'ai essayer plein de truc mais je bloque sur le chemin de l'exe aleatoire suivant utilisateur...?? c'est VB qui va chercher le chemin a inscrire dans le reg qu'il cré ?
j'ai chercher sur net mais tres peu de tuto traine la dessus !
la je suis en train de faire une fenetre sur les infos systeme (comme dans ton tuto sur my7 :)

a force il va pas etre mal mon ptit log :):)

oupsss le tutos s'arrete a l'onglet utilisateur zut lollll
+++