Accueil

Web

FaceBook

Telechargement

Contact

 

Ajouter aux Favoris

    Bienvenue ! 30/01/2025 @ 06:56:02 - IP : 18.189.143.150 -



Introduction au visual basic
 




 

Microsoft

Télécharger

SQL Server 2012

Pinpoint

Visual Studio

Choisir son PC

 
 

Developpement

Visual Basic

Langage C

Java

Assembleur

Delphi

SQL

Python

WinDev

 
 

Systèmes OS

Ms Dos

Windows 9.x

Windows Nt

Windows Vista

Unix

Linux

Mac Os

 
 

Conception Web

PHP

ASP

Html

XmL

Flash Adobe

Director Adobe

WebDev

Java Script

 




Livre GRATUIT:
Livre gratuit pour maitriser Google Docs



 
 

 

Sommaire :


Introduction - Codage - Commandes du VB- VB IDE - Forms - Contrôles - Dialogues communs - Bases de données - Client / Serveur - Impression - Fichiers -

Gestion de fichiers sous VB 6.0

 

Cours Visual Basic 6.0 pour les débutants

 

 

Gestion de Fichiers  Sous VB 6.0

Introduction :

Développer et déployer facilement vos sites web

Télécharger gratuitement Office 2013

Héberger votre site web sur des serveurs gratuits

Visual Studio 2013

Télécharger et apprenez gratuitement

Trucs et Astuces

Découvrez Windows 8.1 et télécharger le gratuitement

 

Avec Visual Basic 6.0, pour ouvrir un fichier, il faut lui allouer un numéro de canal valide, cette opération peut être gérée par le système grâce à la commande Freefile définie plus loin.  Le travail sur fichier, quel qu’il soit passe par les 3 phases : Ouverture (Open), traitement, fermeture (Close). Cette dernière peut être faite automatiquement par le système lors de la commande End mais il vaut mieux, par soucis de rigueur toujours décharger un fichier après traitement car aucune action (destruction, réouverture …) n’est possible sur un fichier chargé ou un canal encore utilisé. Il existe dans Visual Basic 3 types d’accès au fichiers. Nous allons les étudier dans cet ordre : Accès binaire, Accès aléatoire et Accès séquentiel.

Accés aux fichiers en mode séquentiel :

Un fichier en accès séquentiel permet d'accéder à des ficher dont la structure est composée de lignes de texte, toutes fini par le code ASCII retour chariot + saut de ligne soit char(13) + char(10) en VB. Il y a 3 modes d'accès séquentiel :

 Input : lecture seule

 Output : accès en écriture, un tel accès détruit le contenu précédant.

 Append : accès en écriture après le contenu actuel.

Dim nextline as string
dim canal as byte

Canal = Freefile
Open '
fichier.ini' For Input as #canal
Do until EOF(canal)
Line Input #canal, nextline
textini.text = textini.text + nextline + vbcrlf
Loop
Close canal

On pourra alors récupérer le contenu de la ligne, connaissant la structure d'un fichier ini :

[Rubrique]

mot_clef=valeur

Grâce à une fonction utilisateur :

Function lectureINI(rubr As String, motclef As String) As String

Dim pos1, pos2, pos3
canal = FreeFile
Open "fichier.ini" For Input As canal
Do Until EOF(canal)
Line Input #canal, nextline
inivar = inivar + nextline + vbCRLF
Loop
Close canal
lectureINI = vbNullstring
rubr = "[" + rubr + "]"
pos1 = InStr(1, inivar, rubr) + Len(rubr) + 2
motclef = motclef + "="
pos2 = InStr(pos1, inivar, motclef) + Len(motclef)   
'position du début de la réponse
pos3 = InStr(pos2, inivar, Chr(13))                        
'position de la fin de la réponse
lectureINI = Mid(inivar, pos2, pos3 - pos2)
End Function

Qui s'utilise de la façon suivante :

valeur = lectureNI("rubrique", "Motclef")

On pourra ainsi écrire et modifier un fichier ini :

Function (ou sub) EcritureINI(rubr As String, motclef As String, param As string)

dim canal as byte
canal8 = FreeFile
Open "fichier.ini" For Input As canal8
Do Until EOF(canal8)
Line Input #canal8, nextline
inivar = inivar + nextline + vbCRLF
Loop
Close canal
rubr = "[" + rubr + "]"
pos1 = InStr(1, inivar, rubr) + Len(rubr) + 2
motclef= motclef + "="
pos2 = InStr(pos1, inivar, motclef) + Len( motclef)
pos3 = InStr(pos2, inivar, Chr(13))
inivar = Left(inivar, pos2 - 1) + param + Mid(inivar, pos3)
Close
canal = FreeFile
Open "fichier.ini" For Output As canal
Print #canal, inivar
Close canal
End Function

 

Le début reprend lectureINI. Celle là s'utilise de la façon suivante :

Newini = EcritureINI ("rubrique", "mot_clef", nouvelle valeur de typer chaine, ou str(valeur non chaine))

Accés aux fichiers en mode Aléatoire :

Un fichier en accès aléatoire (appelé aussi accès direct ) est composé d’enregistrements ayant tous la même structure (même suite de même type d’une même longueur).

Pour cela, il faut définir un Type personnalisé de la façon suivante (de préférence à Général à Déclarations) :

Private type un_perso

Nom as string * 20
 Prénom as String * 15
 Age as Integer
 Adresse as string * 80
End type

On pourra alors déclarer des variables de type un_perso de la sorte :

Dim perso as un_perso

Dim canal as byte
Canal = Freefile
Open "c:\mesprogs\classe.dat" For Random as canal len = len(perso)
'Ouvre le fichier c:\mesprogs\classe.dat en accès aléatoire avec une longueur d'enregistrement égale à la longueur de la variable

 

Les Action de lecture/écriture se font là aussi grâce à Get et Put :

Get canal, 5, élève1 'Lit le 5ème enregistrement et la place dans élève1

Put canal, 1, élève1 'Ecrit le contenu de élève1 en première position de "classe.dat"

On peut noter que le premier élément d'un fichier porte l'indice 1 et non pas 0.

Et en finissant on ferme grâce à la commande :

Close canal 'ferme canal

Ou envcore

Close 'ferme tous les fichiers ouverts. A utiliser avec parcimonie car elle pourrait fermer un fichier que l'on souhaite garder ouvert. Utile dans le Unload du projet pour s'assurer que tous les fichier sont bien fermés à la sortie du programme

Lire et écrire dans un fichier .ini grâce aux API windows :

Les fichiers .ini sont des fichiers texte utilisés pour enregistrer les options d'un programme. Ils sont composés de sections, qui contiennent des clés auxquelles on peut donner une valeur. Par exemple :

[Affichage]
State=Maximized
Left=50
Top=80
[Sauvegarde]
Confirm=True
Auto=False

Pour pouvoir respectivement lire et écrire dans un fichier .ini, voici les décarations que vous devez ajouter dans votre module :Voici ci-dessous la fonction qui écrira une valeur pour la clé et dans la section indiquée. Notez que vous n'avez pas besoin de créer le fichier s'il n'existe pas, car la fonction WritePrivateProfileString le fait pour vous.

Private Function EcritDansFichierIni(Section As String, Cle As String, _
  Valeur As String, Fichier As String) As Long
EcritDansFichierIni = WritePrivateProfileString(Section, Cle, Valeur, Fichier)
End Function

Et voyons maintenant la fonction qui nous retournera la valeur d'une clé dans une section donnée. ValeurParDefaut contient la valeur qui devra nous être retournée si le fichier n'existe pas, ou si aucune valeur n'a été spécifiée pour la clé demandée :

Private Function LitDansFichierIni(Section As String, Cle As String, Fichier As String, _
    Optional ValeurParDefaut As String = "") As String

Dim strReturn As String
strReturn = String(255, 0)
GetPrivateProfileString Section, Cle, ValeurParDefaut, strReturn, Len(strReturn), Fichier
LitDansFichierIni = Left(strReturn, InStr(strReturn, Chr(0)) - 1)

End Function

Le code nécessaire pour écrire la section [Affichage] du fichier donné en exemple sera :

EcritDansFichierIni "Affichage", "State", "Maximized", "c:\config.ini"
EcritDansFichierIni "Affichage", "Left", "50", "c:\config.ini"
EcritDansFichierIni "Affichage", "Top", "80", "c:\config.ini"

Et nous pourrons lire la valeur donnée à la clef "Left" avec :

LeftParam = LitDansFichierIni("Affichage", "Left", "c:\config.ini", 100)
Private Declare Function GetPrivateProfileStrin᧠Lib "kernel32" Alias "GetPrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, _
    ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long

Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
    (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, _
    ByVal lpFileName As String) As Long

 



Déposez votre CV
lien de téléchargement direct
50 tirages offerts à l'inscription chez myPIX.com!
Dépot de CV gratuit sur Touslesemplois
Logiciel de référencement automatique

      

Devenez membre ZNsoft : La communauté Informatique

Cours -  Etudiants -  Concours -  Congrès -  Téléchargement -  Formations


_________________________________________________________________________________________________________
Qui sommes-nous ? | Contact | | Inviter un ami | Soutenir ZNsoft | Revue de press | Références
ZNsoft Corporation, Tous Droits Réservés © 2002/ 2025 ZNsoft RSS
  Dernière mise à jour : 27/01/2025