Freefile sur vb6

cs_saul Messages postés 12 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 26 décembre 2003 - 12 nov. 2003 à 14:13
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 - 12 nov. 2003 à 14:27
saul
Bonjour j'apprends à programmer en vb 6
j'ai dans un exercice fait un prog dans lequel il y a un textbox et les menus fichier : nouveau , ouvrir , enregistrer et enregistrer sous
j'ouvre un fichier , j'ecris et je l'enregistre
on me conseille d'utiliser la fonction freefile que j'ai donc programme pour le menu ouvrir comme suit :

Private Sub mnuFichierOuvrir_Click()
Const conBtns As Integer = vbYesNoCancel + vbExclamation _
+ vbDefaultButton3 + vbApplicationModal
Const conMsg As String = "Voulez-vous enregistrer le document actuel?"
Dim intReponseUtil As Integer
Dim intFileNumber As Integer
On Error GoTo GestErrOuvrir
dlgEdition.CancelError = True If blnModif True Then intReponseUtil MsgBox(conMsg, conBtns, "Éditeur")
Select Case intReponseUtil
Case vbYes 'l'utilisateur veut enregistrer le document
Call mnuFichierEnr_Click
If blnAnnEnr = True Then
Exit Sub
End If
Case vbNo
Case vbCancel
Exit Sub
End Select
End If
dlgEdition.Filter = "Fichiers texte (*.txt)|*.txt|Tous les fichiers (*.*)|*.*"
dlgEdition.FileName = ""
dlgEdition.ShowOpen
intFileNumber = FreeFile
Open dlgEdition.FileName For Input As intFileNumber
txtEdition.Text = Input(LOF(1), 1)
Close #intFileNumber
blnModif = False
frmEdition.Caption = dlgEdition.FileName & " - Éditeur de texte"
Exit Sub
En exécutant , j'ouvre un fichier sans le modifier et sans le fermer j'en ouvre un autre et un autre
Je n'arrive pas à comprendre l'intérêt de cette fonction freefile ou peut être l'ai je mal programmer
Que m'apporte t-elle ?
Les réponses données dans les différents tutoriels ne m'expliquent pas
A l'avance merci

2 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
12 nov. 2003 à 14:25
:big) Neodante :big)

En fait cette fonction te retourne un 'identificateur' de fichier libre c'est à dire que si tu as plusieurs fichiers ouvert et que tu codes comme un porc avec des 1,2, ... à la place de Freefile tu vas te retrouver avec des erreurs d'ouverture de fichiers ou de fermeture ou parce qu'un autre bout de code aura modifier ton fichier sans que tu t'en aperçoives !
L'intérêt et grand et je te conseille de te familiariser avec cette fonction pour coder proprement ! :big)
@+
0
cs_yous Messages postés 136 Date d'inscription lundi 26 mai 2003 Statut Membre Dernière intervention 13 avril 2009 1
12 nov. 2003 à 14:27
Lorsque tu accèdes à un fichier, que ce soit en lecture ou en écriture, tu y accèdes en mémoire. Windows doit donc le placer à une adresse très précise pour que tu puisses y manipuler les données. Rien ne t'empêches d'attribuer toi-même cette adressage mémoire mais c'est risqué lorsqu'il est déjà utilisé ou pas encore libéré.
La fonction FREEFILE demande a Windows d'attribuer une adresse mémoire libre en fonction des ressources en cours d'utilisation. Elle permet donc d'éviter tout risque de tenter de travailler à une adresse déjà allouée, ce qui dans ce cas génère un conflit.

A UTILISER IMPERATIVEMENT DONC, comme tu le fais d'ailleurs, d'après ce que j'ai pu voir.
0
Rejoignez-nous