Correction de path et apprendre à faire une simple fonction.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 3 805 fois - Téléchargée 36 fois

Contenu du snippet

Voici un petit code tout simple ki permet (je l'espere) à expliquer comment créé une petite fonction, et qui permet aussi de corriger certaine erreur de path.

Source / Exemple :


Mise en situation:
'On possede juste un picturebox(picture1) où,lon souhaite enregistez l'image à chaque clic dessu dans le meme dossier que l'exe.

'le code, assez banal je sais
Private Sub Picture1_Click()
SavePicture Picture1.Image, App.Path & "\picture.bmp"
End Sub

'On peut noter kil y un "\" devant picture.. et voila le prb a resoudre 
'lorsque l'on place l'exe dans un dossier: app.path = "c:\dossier" donc
'il faut ajouter un "\" devant picture pour pas avoir  d'erreur, mais 
'voila imaginons que l'exe ne soit pas dans un dossier mais à la racine 
'd'un disque dur, app.path = "c:"\", et la problème
'app.path & "\picture.bmp" = "c:\\picture.bmp" et sa c impossible, car deux "\" devant un nom de fichier c du jamais vue.

'On va integrer une correction automatique du path avec une fonction

'*** IN MODULE ***
Public Function sPath(sDir, sFile As String) As String 'cest une fonction pour l'ensemble de l'exe(ou la fonction demande 2 argument sDir et sFile, sDir c app.path et sFile c le nom du fichier sans "\"
'fonction ki trouve le bon path
If Right(sDir, 1) = "\" Then 'on regarde le premier caractere à partir de la fin(droite)
sPath = sDir & sFile
Else'autrement si ya pas de "\" a la fin
sPath = sDir & "\" & sFile 'on peut noter k sPath est une string, c'est pour garder les données, qui seront utilisées par la suite
End If

End Function

'*** IN FORM ***
Private Sub Picture1_Click()
SavePicture Picture1.Image, sPath(App.Path, "picture.bmp")
End Sub

'***** autre: une petite fonction simple à comprendre *****
'apprendre a faire une simple function dans un module
'in module
Public Function sCalcul(sNbr As String) As String 
sCalcul = sNbr * 2
End function
'in form
Msgbox sCalcul("4") '4*2 =8 ;-)

Conclusion :


J'espere que tout le mode comprendra sinon un petit post ;-)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
399
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
6 septembre 2004

Bon... Je trouve que c'est un peu long pour rien, et que le code est niveau - 10, mais bon c'est une sorte de tuto donc pkoi pas...
Messages postés
216
Date d'inscription
mercredi 5 février 2003
Statut
Membre
Dernière intervention
15 décembre 2010

On peut aussi noter que :
Right(sDir, 1) = Mid(sDir, (Len(sDir)), 1)

Mid est une fonction qui prend du text dans une variable
Mid(string_ou_on_prend_le_text,debut_de_la_selection, longueur_de_la_selection)

Bon c sur c connu mais sa peut servir ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.