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] Définir la Taille d'un champs


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [VB6] Définir la Taille d'un champs
    Bonjour à tous,

    Voila je souhaiterais écrire dans un fichier des données avec un format bien défini.

    Par exemple, je souhaiterais un fichier de ce type :

    Nom ; Prénom ;

    Avec nom de taille 20 caractères et prénom de 20 caractère également. Si j'ai un prénom de 5 lettres, alors je devrais ajouter 15 caractères blanc (vide) à gauche de celui-ci.

    Ca me donnerais donc ceci :

    "***************nicos" ; "***************nicos"

    Existe-t-il une fonction qui fait ca ?

    Merci d'avance pour votre aide
    Dernière modification par Invité ; 23/05/2007 à 16h47.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Pas à ma connaissance, mais tu peux en faire une facilement avec Trim(), Len() et String() voire Mid()

  3. #3
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    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
    21
    22
    Private Sub Form_Load()
    Dim A1 As String, A2 As String, A3 As String
    Me.Font.Name = "courier new"
    Me.FillStyle = 0
    Me.AutoRedraw = True
    A1 = "Moi": A2 = "Un autre"
    A3 = "la le mot est trop long"
    If Len(A1) < 21 Then
     Me.Print String(20 - Len(A1), "*") & A1
     Else
     Me.Print Left(A1, 20)
    End If
    If Len(A2) < 21 Then
     Me.Print String(20 - Len(A2), "*") & A2
     Else
     Me.Print Left(A2, 20)
    End If
    If Len(A3) < 21 Then
     Me.Print String(20 - Len(A3), "*") & A3
     Else
     Me.Print Left(A3, 20)
    End If
    Un coup de F1 sur String, ou F2 -> rechercher "String", un coup sur le bouton "jumelles", et hop on a les explications
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  4. #4
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    Tu définis un type particulier avec tous les champs d'un enregistrement. Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Type MembreClub
        Nom As String * 20      ' chaîne de 20 caractères
        Prenom As String * 20   ' idem
        Adresse As String * 40  ' chaîne de 40 caractères
        DateNais As Date
        DateInscription As Date
    End Type

  5. #5
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    blanc (vide) à gauche
    Là pour le type String * 20, les blancs sont à droite, il nous pose une colle, non ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  6. #6
    Membre Expert
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Par défaut
    En effet, j'avais pas remarqué... Mais en principe, les blancs sont à droite, non? Surtout si c'est pour enregistrer dans un fichier binaire...

  7. #7
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Nom As String * 20      ' chaîne de 20 caractères
    Effectivement, cette solution place les blanc à droite
    Pas de possibilité de les mettre à gauche ? (sans faire de gros traitement sur les chaines de caractères).

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Par défaut
    Citation Envoyé par cherrymoon08
    (sans faire de gros traitement sur les chaines de caractères).
    Faut quand même pas exagérer ! Tu as la longueur fixe de ton champ final (tu peux même passer une longueur de remplissage variable)

    Tu passes ta chaine en argument et tu récupères quelques de formaté à ta guise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Function FillRight(Byval machaine as String) As String
       Dim lonchain as Integer
       '
       lonchain = Len(machaine)
       If lonchain<20 Then
           FillRight = String(20 - longchain, " ")  & machaine
       Else
           FillRight = Left(machaine, 20)
       End If
       '
    End Function

Discussions similaires

  1. Modifier taille d'un champ
    Par jmjmjm dans le forum Outils
    Réponses: 8
    Dernier message: 25/11/2016, 10h24
  2. Taille maximum des champs courants
    Par sabbish dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 29/11/2013, 13h48
  3. Recuperer le type et la taille d'un champ
    Par bassim dans le forum Bases de données
    Réponses: 4
    Dernier message: 04/11/2005, 20h50
  4. Modifier la taille d'un champ
    Par sbeu dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 23/03/2005, 16h32
  5. [Impression] Définir la taille du papier
    Par HPJ dans le forum Windows
    Réponses: 7
    Dernier message: 06/09/2004, 15h43

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