Accès au fichier par ligne précise

cs_galexis Messages postés 40 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2006 - 12 sept. 2005 à 17:54
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 23 sept. 2005 à 15:45
Salut, je stocke les données d'un MSflexgrid dans un fichier, ligne par
ligne. Hors si je modifie une valeur d'une seule ligne, il faut que je
réenregistre toute la grille (qui est très longue) depuis le début, en
écrasant le fichier.

Est-il possible, d'enregistrer les infos sur une ligne précise du
fichier, en plus clair, est-il possible de ne podifier sq'une seule
ligne du fichier ?

Merci d'avance.

7 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
12 sept. 2005 à 22:14
Salut, le principe serait de retrouver cette ligne, stocker ce qu'il y a avant dans une variable, et ce qu'il y a après dans une autre, ensuite tu peux reconstruire le fichier en mettant ta ligne au début, à sa place, ou à la fin du fichier.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
13 sept. 2005 à 00:52
Bonsoir,
Quel est ton code pour stocker les données dans un fichier ??

jpleroisse
0
cs_galexis Messages postés 40 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2006
13 sept. 2005 à 17:34
Mon code:



dim a as integer

a = freefil

Open NomFichier for output as #a

Print #a, donnée 1

...........

Print #a, donnée X

Close #a



Si je ne modifie que la donnée 100, 'à la ligne 100) j'aimerais juste
enregistrer celle-ci à la ligne 100 sans tout réécrirele fichier.

Si j'ajoute une donnée X+1, j'aimerais pouvoir l'ajouter à la suite, sans tout réécrire le fichier.

Merci de votre aide.

@+
0
cs_galexis Messages postés 40 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2006
15 sept. 2005 à 17:37
Quelqu'un pour faire avancer mon problème ? Please....

@+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_galexis Messages postés 40 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2006
23 sept. 2005 à 15:43
S'il vous plait, j'essaie en mode Random, mais cela ne marche pas, je
ne comprend rien à la notion de longueur d'enregistrement. Les données
de chaque ligne sont de longueur et de nature variables.

Avez-vous des exemples de code pour chaque type d'accès aux fichiers (séquentiel, random ?, binaire ?) ?

Merci d'avance.
0
cs_galexis Messages postés 40 Date d'inscription jeudi 12 août 2004 Statut Membre Dernière intervention 13 juillet 2006
23 sept. 2005 à 15:44
Comment fonctionne le mode Append ?

@+
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
23 sept. 2005 à 15:45
salut

MSDN


Open, instruction, exemple

Cet exemple illustre différentes utilisations possibles de l'instruction Open pour permettre les opérations de lecture/écriture dans un fichier.


Le code suivant ouvre le fichier
FICHTEST
en mode de lecture séquentielle.

Open "FICHTEST" For Input As #1
' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
Close #1



Cet exemple ouvre le fichier en mode Binary (binaire) pour des opérations d'écriture uniquement.

Open "FICHTEST" For Binary Access Write As #1
' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
Close #1



L'exemple suivant ouvre le fichier en mode Random (aléatoire). Ce fichier contient des enregistrements de type
Record 
défini par l'utilisateur.

Type Record   ' Désigne le type défini par l'utilisateur.
   ID As Integer
   Name As String * 20
End Type

Dim MyRecord As Record   ' Déclare la variable.
Open "FICHTEST" For Random As #1 Len = Len(MyRecord)
' Ferme le fichier avant de l'ouvrir à nouveau dans un autre mode.
Close #1



Cet exemple de code ouvre le fichier en mode d'écriture séquentielle; n'importe quel processus peut lire ou écrire dans le fichier.

Open "FICHTEST" For Output Shared As #1
' Ferme le fichier avant de l'ouvrir de nouveau dans un autre mode.
Close #1



Cet exemple de code ouvre le fichier en mode Binary (binaire) pour la lecture ; les autres processus ne peuvent pas le lire.

Open "FICHTEST" For Binary Access Read Lock Read As #1


PCPT
0
Rejoignez-nous