Public Function FtpAppPath() As String Dim sAppPath As String sAppPath = App.Path sAppPath = sAppPath & "\Identity.txt" FtpAppPath = sAppPath End Function
Public Function FtpAppPath() As String FtpAppPath = App.Path & "\Identity.txt" End Function
Public Sub showPath(FtpAppPath As String)
FtpAppPath = App.path & "\Identity.txt"
End Sub
Private Sub Form_Load()
Call showPath(App.path)
End Sub
Public FtpAppPath As String
FtpAppPath = App.Path & "\Identity.txt"
Open FtpAppPath For Output As #
Print #1, "blabla"
Close #1
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionOption Explicit
Dim ret As String
Private Sub Command1_Click()
ret = traiter("d:\essai.txt", "ecrire", "blabla")
End Sub
Private Sub Command2_Click()
ret = traiter("d:\essai.txt", "lire")
If ret <> "" Then MsgBox ret
End Sub
Private Sub Command3_Click()
ret = traiter("d:\essai.txt", "ajouter", "coucou")
End Sub
Private Function traiter(chemin_fic As String, mode As String, Optional quoi As String) As String
Dim toto As String
Select Case mode
Case "ecrire", "ajouter"
If mode = "ecrire" Then
Open chemin_fic For Output As #1
Else
Open chemin_fic For Append As #1
End If
Print #1, quoi
Case "lire"
Open chemin_fic For Input As #1
Do While Not EOF(1)
Line Input #1, toto
traiter = traiter & vbCrLf & toto
Loop
End Select
Close #1
End Function
Option Explicit
Dim ret As String 'Déclaration appel fonction
Dim PathChemin_fic As String 'Déclaration chemin
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case Is = 0
ret = traiter(PathChemin_fic, "ecrire", "blabla") 'chemin, mode, quoi
Case Is = 1
ret = traiter(PathChemin_fic, "lire") 'chemin, mode
If ret <> "" Then MsgBox ret
Case Is = 2
ret = traiter(PathChemin_fic, "ajouter", "coucou") 'chemin, mode, quoi
End Select
End Sub
Private Function traiter(chemin_fic As String, mode As String, Optional quoi As String) As String
Dim toto As String 'Déclaration de la variable qui contient la ligne lue en cours
Select Case mode
Case "ecrire", "ajouter"
If mode = "ecrire" Then
Open chemin_fic For Output As #1 'ouverture / supprime et recrée le fichier
Else
'"ajouter"
Open chemin_fic For Append As #1 'ouverture / modifie
End If
Print #1, quoi 'blabla ou coucou
Case "lire"
Open chemin_fic For Input As #1
Do While Not EOF(1) '"End Of File" tant que c'est pas la fin du fichier
Line Input #1, toto 'lecture de la ligne et stochage dans la variable toto
traiter = traiter & vbCrLf & toto 'construction fichier = fin de champ CR LF = ligne
Loop
End Select
Close #1
End Function
Private Sub Form_Load()
PathChemin_fic = App.Path & "\essai.txt"
End Sub
Dim ret As String 'Déclaration appel fonction
Private Function traiter(chemin_fic As String, mode As String, Optional quoi As String) As String
27 mai 2015 à 16:45
On peut surtout se demander à quoi sert cette fonction sans paramètre.
Elle ne doit finalement que retourner App.Path & "\Identity.txt" ! ce que contiendrait n'importe quelle variable, sans appel d'aucune fonction ...
Idem pour les deux autres !
27 mai 2015 à 17:19
27 mai 2015 à 17:51
même pas, pour si peu. Car écrire toto (comme variable globale), ne fait rien gagner par rapport à (exemple) : app.path & "machin" (y compris si utilisé plusieurs fois). Au contraire : mobilisation d'un peu (un tout petit chouia, il est vrai) de mémoire alors que app.path est déjà en mémoire de VB.
27 mai 2015 à 18:34