IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

[VB6] Ecrire/Modifier/Effacer ds un fichier text-4 Chs/Lg


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut [VB6] Ecrire/Modifier/Effacer ds un fichier text-4 Chs/Lg
    Salut!

    Je veux écrire à partir de VB ds un fichier texte ayant 4 Champs par ligne.
    Chaque ligne est supposée être former d'un nom d'étudiant et 3 notes d'examens.

    Ds la 1ère ligne il y a:
    $NomEtudiant Mathématiques Physiques Chimie

    Ds les autres lignes je veux écrire, ds chaque ligne, le nom d'un étudiant suivi de ses notes d'examens (Mathématiques, Physique et chimie).
    Chaque note étant au dessous du champs correspondant.

    De VB on suppose connu la suite des champs à accéder, comme vue ds la ligne qui commence par le symbol dollar $.

    Maintenant l'accès au contenu du fichier poura être de différentes manières: Soit à lire tout simplement, soit à ajouter une ligne à 4 champs, soit à modifier le contenu d'un champs ds une ligne précise, soit à éliminer une ligne du fichier. (Remarque: l'accès pr modifier le fichier doit tjrs se faire ds les lignes qui ne commence pas par le symbol dollar $).


    Comment pourrais je faire ceci ??
    De plus comment peut on fixer la position de chaque champs ds une ligne du fichier pour empêcher le recouvrement des textes et pour que chaque valeur soit EXACTEMENT au dessous de sa predecesseur ds la ligne précedante ??
    Le Fichier texte doit être organizé: 4 champs à 4 positions fixées.

    NB:
    Je préfère omis les réponses du type voir tutoriel. je voudrais des réponses pécises ou ne répondez plus.

    Merci pr tte assistance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    que dirais tu d'un fichier random

    apparemment tes données sont bien structurées et à longueur ou taille fixe, tu pourrais donc faire un truc du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim FichesEtud As String
    Dim EnrEtud As TableEtude
    Dim i As Integer, NbrEtud As Integer
     
     
    FichesEtud = App.Path & "\Data\Etude.nte"
    Open FichesEtud For Random As #1 Len = Len(EnrEtud)
    NbrEtud = LOF(1) / Len(EnrEtud)
     
    Close  #1
    et tu declare un type perso qui correpondra à un enregistrement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    type TableEtude
    StudentName as string * 30
    NotePhysique as single
    NoteChimie as single
    NotMath as single
    end type
    ....
    a suivre
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Salut! SpaceFrog,

    D'abord, c'est quoi le .nte ??

    Pr la longueur des données on pourra fixer à l'avance la taille correspondante à chaque champs comme tu l'as fait pr le nom de l'étudiant.

    Pr les espaces entre les champs je voudrais diviser la taille totale d'une ligne en 5 parties.
    $Nom -> Espace -> Math -> Espace-> Physique -> Espace -> Chimie -> Espace
    "Espace" étant l'espace correspondante à la division.
    Je voudrais écrire juste au dessous du N pr les noms, au dessous du M pr la note du math ...et ainsi de suite

    Si on suppose que la taille 30 pr les noms est suffisante et que la taille 3 pr chaque note (/100) est suffisante, je veux diviser la page relativement à ces hypothèses.

    Génerallement l'accès au fichier se fait connaissant le nom de l'étudiant pr modifier/lire ses notes OU BIEN connaissant une note par exemple lequel ayant eu la plus haute note. Donc il devrait y avoir une conversion entre une donnée du type que tu as défini et le numéro du ligne correspondant à la donnée ds le fichier texte pr pouvoir accéder à tte les données du ligne. (Une ligne d'accès ne doit pas commencer par le symbole $)

    De plus comment peut on avoir la position de chaque donnée ds une ligne pr que après modification du texte il n'y aura pas des recouvrement et le texte sera bien organizé et prêt à être imprimé ??

    Je suis prêt pr tte information...

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    pour le .nte c'est juste une extension comme ça... comme ça tu repères plus facilement tes fichers dédiés a ton appli... maintenant tu peux faire des .txt mais bon...

    pas besoin de tes espaces... avec le type tu as tout ce qu'il faut


    Puispour coller les enregistrements dans le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FichesEtud = App.Path & "\Data\Etude.nte" 
    Open FichesEtud For Random As #1 Len = Len(EnrEtud) 
    NbrEtud = LOF(1) / Len(EnrEtud) 
     
    enretude.studentname = "Jojo"
    enretude.NotePhysique = 15 
    enretude.NoteChimie =16
     
    position = nbretud +1 
     
    put #1, position, enretud
    Close #1
    là tu as ajouté un enregistrement dans le fichier à la position "position"
    pour récupérér un enregistrement à la position N il te suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FichesEtud = App.Path & "\Data\Etude.nte" 
    Open FichesEtud For Random As #1 Len = Len(EnrEtud) 
    NbrEtud = LOF(1) / Len(EnrEtud) 
    get #1, N, enretud
    et là tu aura dans tes variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    enretude.studentname = "nom de l'enregistrment N"
    enretude.NotePhysique = note en physique de N 
    enretude.NoteChimie = note en chimie de N
     
     
    Close #1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    pour le .nte c'est juste une extension comme ça... comme ça tu repères plus facilement tes fichers dédiés a ton appli... maintenant tu peux faire des .txt mais bon...

    pas besoin de tes espaces... avec le type tu as tout ce qu'il faut


    Puispour coller les enregistrements dans le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    FichesEtud = App.Path & "\Data\Etude.nte" 
    Open FichesEtud For Random As #1 Len = Len(EnrEtud) 
    NbrEtud = LOF(1) / Len(EnrEtud) 
     
    enretude.studentname = "Jojo"
    enretude.NotePhysique = 15 
    enretude.NoteChimie =16
     
    position = nbretud +1 
     
    put #1, position, enretud
    Close #1
    là tu as ajouté un enregistrement dans le fichier à la position "position"
    pour récupérée un enregistrement à la position N il te suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FichesEtud = App.Path & "\Data\Etude.nte" 
    Open FichesEtud For Random As #1 Len = Len(EnrEtud) 
    NbrEtud = LOF(1) / Len(EnrEtud) 
    get #1, N, enretud
    et là tu aura dans tes variables
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    enretude.studentname = "nom de l'enregistrment N"
    enretude.NotePhysique = note en physique de N 
    enretude.NoteChimie = note en chimie de N
     
     
    Close #1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  6. #6
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    D'accord avec Frog pour le fichier Random.
    Personnellement, je n'utiliserais pas de type numérique mais du texte pur pour obtenir un fichier directement imprimable :

    Type Notes
    Nom as String * 32
    Note1 as String * 5
    Note2 as String * 5
    Note3 as String * 5
    RC as String * 2
    End Type

    En plaçant systèmatiquement vbCrLf en RC, on obtient un fichier mixte à accès direct et texte.
    Il faut simplement prendre soin de remplir chaque champ avec des espaces pour régler les questions d'alignement, par exemple :

    Dim Enreg as Notes
    Enreg.Nom = "Paul DUPUIS" & Space$(32)
    Enreg.Note1 = " " & Format(VarNote, "00.0")
    Enreg.RC = vbCrLf

    A+
    HCath

  7. #7
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    D' accord les amis, ca marche.

    Pourtant j'ai qques questions:
    quel est le Len maximum du type defini pour qu'il soit imprimé sans troncature sur une feuille A4 ?

    Je suis d'accord avec Hcath pr l'utilisation des strings, on peut y convertir en utilisant "Cstr". Aussi pr "vbCrLf". Pourtant je ne trouve pas necessaire d'ajouter Space$(32), les champs donnés selon la definition de SpaceFrog st déjà alignés !!?

    Pr un nombre decimal donné est ce qu'on peut fixer une format pr les chiffres avant la virgule seulement ?? par exemple je voudrais que les notes aient 2 chiffres avant la virgule et quelque soit la partie decimale.

    Une dernière question, pr changer le contenu d'un champs ds un enregistrement quelconque du texte il faut tjrs recopier tt l'enregistrement avec le champs changé y compris; Non ??


    Reste qques petits tests avant d'écrire RESOLU.
    C'est tt pr le moment.

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    La modification d'un champs se fait toujours avec l'écrasement de l'enregistrement complet, dans ton cas si tu veux mofifier une note, tu vas chercher l'enregistrement N correspondant, tu modifies ce que tu as à modifier:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    get #1, N, Enretud
    enretud.note... = 17,5  (c'est une lamaserie : des bonzes élèves  :wink: )
     
    puis tu recolles l'enregistrement dans le fichier :
     
    put #1, N , Enretud
    donc le type entier est réécrit par dessus le précédent ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  9. #9
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Mais d'accord aussi.

    Et pr les autres questions ??

  10. #10
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    Pour la question des décimales il suffit sur le keypress ou le change du textbox qui permet la saisie de la note de faire une fonction de vérification

    j'ai une usine à gaz qui me fait un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Dim CursPos%, VirgPos%
     
    If Me.Marge_in = "" Or IsEmpty(Me.Marge_in) Then Me.PV_out.Text = "": Exit Sub
    If Left(Me.Marge_in, 1) = "," Then Me.Marge_in = "0,": Me.Marge_in.SelStart = 3: Exit Sub
     
    Dim PosCursor%
    PosCursor = Marge_in.SelStart
        Dim strTemp As String
        Dim arrTemp
        VirgPos = InStr(1, Marge_in.Text, ",")
        If VirgPos <> 0 Then
         If Len(Mid(Marge_in.Text, VirgPos, Len(Marge_in.Text) - VirgPos)) > 2 Then Marge_in.Text = Left(Marge_in.Text, Len(Marge_in.Text) - 1)
        End If
        strTemp = FormatNumber(Marge_in.Text, 2)
        arrTemp = Split(strTemp, ",")
        strTemp = Mid(arrTemp(0), 1, 2) & "," & Mid(arrTemp(1), 1, 2)
        Marge_in.Text = strTemp
     
    Marge_in.SelStart = PosCursor
    If Marge_in.SelStart = 2 Then Marge_in.SelStart = 3
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  11. #11
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    quel est le Len maximum du type defini pour qu'il soit imprimé sans troncature sur une feuille A4 ?
    80 caractères par ligne avec une police Courier 12.
    est ce qu'on peut fixer une format pr les chiffres avant la virgule seulement ??
    Avec la fonction Format :
    Format(VarNote, "00.0")
    A+
    HCath

  12. #12
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    Le souci avec ton code HCATH est que la note mise avec :
    Enreg.Note1 = " " & Format(VarNote, "00.0")
    y'a pas de vérification de la note saisie dans le textbox donc si l'utilisateur tape 1522
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    ou alors en couplant avec un maskedbox ?
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  14. #14
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    En fait, je n'ai pas abordé la question de la validation de saisie, mais seulement le formatage d'une note en String.
    Pour ce qui concerne la validation, il me semble qu'il suffit de vérifier que la note est bien comprise entre 0 et 20. Cependant, j'ai oui dire que certains profs n'hésitaient pas à donner des notes négatives !!!
    Quelle époque !
    A+
    HCath

  15. #15
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    J'ai qqes choses encore à établir:

    1.
    Comment faire pour tester avant d'ajouter un enregistrement si le curseur est au début du ligne ??

    2.
    Comment faire pour ajouter manuellement un enr. ds le texte qui soit connu par VB comme un enr. TableEtude ??

    3.
    Comment faire pr organizer un texte MIXTE qui contient des enregistrements TableEtude et d'autres enr. quelconques d'une facon à avoir à chaque ligne un enr TableEtude et un seul ??

    Merci.

  16. #16
    Membre du Club
    Inscrit en
    Mai 2002
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    Dans un fichier Random, tu ne peux avoir que des enregistrements de longueur égale.
    Pour ajouter un enregistrement, il faut diviser la taille du fichier - LOF - par la longueur de chacun des enregistrements - Len(VarEnreg) - pour obtenir le nombre d'enregistrements et ajouter 1 avant le Put.

    Cela donne ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Dim FF as Long, Nombre as Long
    FF = FreeFile
    OPen "Fichier" For Random as #FF Len = Len(VarEnreg)
    Nombre = LOF(FF) \ Len(VarEnreg)
    Put #FF, Nombre + 1, VarEnreg
    Close #FF
    Rien ne t'inderdit d'avoir des enregistrements de nature différente dans le fichier, ce qui compte, c'est leur longueur. Quant à enregistrer des lignes hors VB, pourquoi pas avec Word, par exemple, dans une police fixe pour contrôler la longueur et à condition de préciser "Texte seul" lors de la sauvegarde.
    A+
    HCath

  17. #17
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Salut!

    Pr comparer deux variables de type TableEtude, il faut comparer ts les membres des deux ou bien il y a facon plus rapide??

    Par exemple si j'ai éliminé un enregistrement et je veux que ds le cas d'ajout d'un autre enregisrement ce dernier soit ajouté ds une ligne vide (sinon il sera ajouter à la position "position") on doit declarer une variable "LigneVide" de type TableEtude, initialer ses membres à Empty et ensuite comparer les membres de ts les enregistrements du fichier à ceux du "LigneVide" ou bien il y a une facon plus élégante??

    Comment convertir d'une variable de type String*32 à une variable de type String ordinaire??
    Par exemple si on a une variable "Teste" de type String*32; Teste = "Jojo"
    comment maintenant on peut éliminer les espaces après la lettre "o" du mot "Jojo" ?? Je crois que la fonction Trim ne marche pas ici.

    Merci D'avance.

  18. #18
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 670
    Points
    66 670
    Billets dans le blog
    1
    Par défaut
    pour comparer je crois que l'on ne peut que passer en revue tous les éléments ...

    Plutot que de laisser des lignes vides dans un enregistrement, il vaut mieux les "supprimer", pour cela deux possibilités:
    soit tu rajoute un champs dans ton tableau qui indique si la ligne est active ou non par exemple avec un champ string * 1 dans lequel tu mets "A" pour actif et "S" pour supprimé, puis lors de l'affichage tu fais un test sur ce champs, ce qui te permet ensuite de récupérer éventuellement un enregistrement effacé par erreur ou réécriru sur le premier enregistrement avec un "S"

    deuxième possibilité, lorsque tu désires supprimer une enregistrement, tu commences par effacer le premier champs puis tu fais une boucle pour transvaser les enregistrements dans un second tableau temporaire, sans y faire passer l'enregistrement vide, ensuite tu efface l'ancien fichier avec la ligne vide, puis tu enregistres le nouveau fichier sans ligne vide sous le nom de l'ancien.

    Pour ce qui est du trim, le fait de déclarer le tableau en stipulant les longueurs des variables permet justement de faire du fichier random, si tu veux ensuite faire un fichier sans les espaces, il faudra reprendre les variables les unes après les autres et les tirmer ou formater ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  19. #19
    Futur Membre du Club
    Inscrit en
    Septembre 2002
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Salut de nouveau

    Comment faire pr limiter un enregistrement par un "enter" ??
    En d'autres termes:
    Si Je tape "sads,.,..quoique...(enter)" je veux que VB considère ce que j'ai tapé comme un enregistrement.

    Toujrs la presence d'un "enter" indique la fin d'un enregistrement quelque soit sa taille.

    Comment ainsi doit on ouvrir le fichier texte ??

    Mci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire un mot dans un fichier texte existant
    Par Mickey.jet dans le forum Delphi
    Réponses: 10
    Dernier message: 26/02/2007, 23h23
  2. ecrire a la ligne dans fichier texte.
    Par zulot dans le forum Langage
    Réponses: 7
    Dernier message: 12/09/2006, 12h02
  3. [vb6]:Ajuster des données dans un fichier text avec un timer
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 25
    Dernier message: 28/07/2006, 12h13
  4. Ecrire 4 lignes dans un fichier texte
    Par kikica dans le forum Langage
    Réponses: 2
    Dernier message: 17/03/2006, 16h04
  5. Ecrire et lire dans un fichier texte
    Par podz dans le forum C
    Réponses: 3
    Dernier message: 25/10/2005, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo