by2k
Messages postés31Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 8 octobre 2009
-
4 avril 2006 à 07:51
rvblog
Messages postés792Date d'inscriptionvendredi 4 mars 2005StatutMembreDernière intervention12 juin 2012
-
8 avril 2006 à 00:19
Bonjour à tous, Je code en VB6.
Je souhaiterais faire défiler un texte provenant d'une fichier (txt),
pouvant évolué, le simplement du monde dans un label ou un textbox,
sans boucle.
Je suis limité dans le nombre de carractère malgré l'option WordWrap sur True.
by2k
Messages postés31Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention 8 octobre 2009 5 avril 2006 à 07:13
Merci manu pour ta réponse.
Je dois faire tourner cette appli sur des toutes petites configuration,
le fait de mettre une boucle me déclanche une suractivité du CPU et de
fait du ventilateur, c'est peut être idiot à dire, mais plusieurs PC
dont le bruit du ventilateur se décuple, cela deviens vite intenable.
De toute façon , ton code ne fonctionne pas.
Je vais errer parmis les kilometres de code disponible sur le net, je finirais bien par trouver mon bonheur.
c'est vrai qu'il ne marche pas, mais bon, tu codes en VB? Il manque juste un 1 dans l'appel de right ! Moi, personnellement, je salue la sobriété efficace de la réponse !
Pour ceux qui ne codent pas tous les jours en VB, ça donnerais :
Label1.Caption = Right$(sTemp ,1 ) & Left$(sTemp,Len(sTemp)-1)
on peut tous en prendre de la graine, car ton défi n'est pas simple (1%CPU, 16Ko, pas de boucle).
Ensuite, on peut le transposer à ton fichier texte assez facilement, mais tu codes vraiment en VB? Bon ben sinon (3%CPU, 56Ko, pas de boucle), toujours avec un label et un timer sur ton formulaire, colles ce code :
Private intNoFile As Integer
Private Sub Form_Load()
'ouverture du fichier, en binaire, lecture par caractère
intNoFile = FreeFile
Open App.Path & "\fichier.txt" For Binary As #intNoFile
'reglage du formulaire et de ses composants
With Me
.Caption = ""
.Width = 3015
.Height = 330 * 2
'l'étiquette
With .Label1
.Caption = String(20, " ")
.Left = 0
.Top = 0
.Width = 3015
.Height = 330
.FontName = "Courier"
.FontSize = 12
.FontBold = True
End With
'le timer
With .Timer1
.Interval = 150
.Enabled = True
End With
End With
End Sub
Private Sub Form_Unload(Cancel As Integer)
'fermeture du fichier
Close #intNoFile
End Sub
Private Sub Timer1_Timer()
Dim charTemp As Byte
'tampon de traitement de texte
sTemp = Label1.Caption
'si le fichier n'est pas fini
If Not EOF(intNoFile) Then
'lit un caractère
Get #intNoFile, , charTemp
'dépolue
charTemp = Replace(charTemp, vbCr, " ")
charTemp = Replace(charTemp, vbLf, " ")
'sinon, si le fichier est fini
Else
'termine aux espaces
charTemp = Asc(" ")
'fin si le fichier est fini ou non
End If
'décalage à gauche, plus facile pour le français :)
Label1.Caption = Right$(sTemp, Len(sTemp) - 1) & Chr(charTemp)
End Sub
Alors?
à+
rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>