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 :

Afficher le contenu d'un fichier text


Sujet :

VB 6 et antérieur

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Afficher le contenu d'un fichier text
    comment afficher le contenue d'un fichier text avec vb6 ;j'ai essayer avec un label l'affichege est bon mais j'ai pas pu afficher tout le contenue (l'espace n'est pas sufisant dans le label)
    est ce qu'on peut ajouter un UpDouwn au label si oui comment

    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CheminFichier = App.Path & "\error.txt"
    a = FreeFile()
    Open CheminFichier For Input As #a
          Label6.Caption = Input(LOF(a), a)
    Close #a
    merci

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Bonjour,

    Le caption d'un Label n'est pas soumis à une limite autre que d'utilisation de mémoire et dépassement de celle disponible .

    La preuve :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Command1_Click()
     Label1.AutoSize = True
     Label1.WordWrap = True
     b = String(200, "a") & vbCrLf
     For i = 1 To 1000
       Label1.Caption = Label1.Caption & b
     Next
    End Sub
    Pas de scrollbar pour un Label, par contre.

    Si tu tiens à afficher dans un label et à "scroller, il te faudra mettre ce label dans un cadre et l'y faire dérouler (move) à l'intérieur du cadre avec une Vscrollbar.

    Tu trouveras probablement plus simple d'utiliser une textbox qui, elle, est dotée de ce qu'il faut .....

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Tiens, si tu tiens à ton Label scrollable ...

    je t'ai fabricoté cet exemple qui devrait te faire comprendre comment on peut faire la chose

    Place où tu veux un Label nommé Label1 et une VscrollBar nommée Vscroll1
    mets ailleurs un Frame nommé Frame1

    Lance de code, vois, analyse, comprends...

    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
    23
    24
    25
    26
    27
    Private Sub Form_Activate()
      Me.ScaleMode = vbTwips
      Frame1.BorderStyle = 0
      Set Label1.Container = Frame1
      Label1.Move 0, 0
     
      Label1.Caption = "on débute ici" & vbCrLf
      b = "début ligne " & String(20, "a") & " finl igne" & vbCrLf
      For i = 1 To 100
        Label1.Caption = Label1.Caption & b
      Next
      Label1.Caption = Label1.Caption & " fin du texte"
     
      With Label1.Font
        Label1.Height = TextHeight(Label1.Caption)
        Label1.Width = TextWidth(Label1.Caption)
      End With
      Frame1.Width = Label1.Width
      VScroll1.Max = (Label1.Height - Frame1.Height) \ 40
      VScroll1.Move Frame1.Left + Frame1.Width, Frame1.Top, 300, Frame1.Height
    End Sub
    Private Sub VScroll1_Change()
     Label1.Move Label1.Left, -VScroll1.Value * 40
    End Sub
    Private Sub VScroll1_Scroll()
      VScroll1_Change
    End Sub
    Reste (j'insiste) que l'utilisation toute bête d'une textbox me parait plus raisonnable ...

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 14
    Points
    14
    Par défaut ça marche merci bien
    comment peut'on ajouter un Hscroll pour éviter le resize du frame et du label .
    et d'autre part je n'ai aucun probléme d'utiliser un textbox

    si c'est possile j'aurai besoin de quelque (code avec explication)chose qui me permet d'utiliser les Scroll avec d'autre objet Label ou autre ;comment associer les Scroll au objet.

    merci becoup.

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Points : 5 535
    Points
    5 535
    Par défaut
    Euh...
    1) Je n'ai mis dans mon exemple un resize du Frame et du label que pour te fournir un exemple en démonstration... !
    et que tu puisses voir d'emblée, c'est tout !
    Rien ne t'empêche de définir manuellement, dans la fenêtre des propriétés, les dimensions de ton Frame et la largeur de ton label.
    Il te faudra par contre calculer par code, comme je l'ai fait, la hauteur de ton label, que tu ne connais pas d'emblée, puisqu'elle dépend de ton texte...
    Rien ne t'empêche non plus de placer toi-même, en mode création, ton label dans ton Frame et de placer également en mode création ta VscrollBar à droite du Frame !

    2) expliquer quoi ? Il te suffit d'ouvrir ton aide en ligne sur chacune des instructions que tu ne connais pas ! on ne va pas transformer un code en cours détaillé de l'utilisation de verbes de VB ...!

    3) l'exemple montré pourrait concerner n'importe quel autre contrôle (puisque le scroll ne fait que déplacer un contrôle à l'intérieur d'un Frame)...

    4) une autre fois : tu as déjà, pour du texte, un contrôle tout-à-fait adéquat, qui vient spontanément avec ses scrollbars, tout seul comme un grand : une simple textbox !
    Les questions que tu poses et les demandes d'explications que tu fais m'incitent à te recommander vivement d'utiliser une TextBox, mille fois plus simple et correspondant mieux au niveau de connaissances que tu nous montres là ...

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 14
    Points
    14
    Par défaut merci.
    merci.

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 14
    Points
    14
    Par défaut merci probléme résolu
    j'ai la le code avec un HScroll et VScroll qui n' apparaisse que si on à un texte qui dépasse la taille du Label (inspirer d’ l’aide de ucfoutu)

    code:
    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Private Sub C3_Click()  
      VScroll1.Visible = False
      HScroll1.Visible = False
      Me.ScaleMode = vbTwips
      Frame1.BorderStyle = 0
      Set Label6.Container = Frame1
     
     
      Label6.Move 0, 0
      CheminFichier = App.Path & "\error.txt"
      aa = FreeFile()
      Open CheminFichier For Input As #aa
      Label6.Caption = Input(LOF(aa), aa)
      Close aa
     
      Label6.Caption = Label6.Caption & " fin du texte"
     
      With Label6.Font
          Label6.Height = TextHeight(Label6.Caption) + (TextHeight(Label6.Caption) / 40)
          Label6.Width = TextWidth(Label6.Caption) + (TextWidth(Label6.Caption) / 40)
      End With
     
      If TextHeight(Label6.Caption) > Frame1.Height Then
         VScroll1.Visible = True
      End If
     
      If TextWidth(Label6.Caption) > Frame1.Width Then
         HScroll1.Visible = True
      End If
     
      VScroll1.Max = (Label6.Height - Frame1.Height) / 60
      VScroll1.Move Frame1.Left + Frame1.Width, Frame1.Top, 300, Frame1.Height
      HScroll1.Move Frame1.Left, Frame1.Top + Frame1.Height, Frame1.Width, 300
      HScroll1.Max = ((Label6.Width) - Frame1.Width) / 60
    End Sub
     
    Private Sub VScroll1_Change()
     Label6.Move Label6.Left, -VScroll1.Value * 60
    End Sub
     
    Private Sub HScroll1_Change()
     Label6.Move -HScroll1.Value * 60
    End Sub

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

Discussions similaires

  1. Afficher le contenu d'un fichier texte avec des balise PHP
    Par bastian06n dans le forum Langage
    Réponses: 6
    Dernier message: 08/07/2010, 10h30
  2. Réponses: 4
    Dernier message: 31/08/2009, 11h37
  3. Afficher le contenu d'un fichier texte sous GWT
    Par ben38360 dans le forum GWT et Vaadin
    Réponses: 3
    Dernier message: 27/10/2008, 11h30
  4. Afficher le contenu d'un fichier TEXT dans une edit
    Par darkman13130 dans le forum C++Builder
    Réponses: 1
    Dernier message: 06/06/2008, 16h41
  5. Réponses: 1
    Dernier message: 12/02/2003, 09h36

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