[RISOLTO]TESTO SCORREVOLE

di il
7 risposte

[RISOLTO]TESTO SCORREVOLE

Ciao a tutti

ho un problema con una casella di testo impostata con un testo scorrevole tramite il seguente codice:

Option Compare Database
Dim inizio As Integer

Private Sub Form_Timer()

testo = "testo da far scorrere continuamente senza che si fermi mai"  'sto ancora facendo delle prove
inizio = inizio + 1
If inizio > Len(testo) Then
 inizio = 1
End If

Me.comunicazione = Mid(testo, inizio) & space(30) & Left(testo, inizio)
End Sub
Il problema sta che quando la parola mai passa "il margine" di sinistra, il testo fa un salto e ricomincia da capo.

Io in realtà vorrei che il testo fosse continuativo senza salti quando la fine della frase passa il margine di sinistra.

Spero di essermi fatto capire.
In ogni caso, grazie in anticipo

7 Risposte

  • Re: [RISOLTO]TESTO SCORREVOLE

    Non ho capito...
  • Re: [RISOLTO]TESTO SCORREVOLE

    Direi che puoi provare questa soluzione:
    
    Dim inizio As Integer
    
    Private Sub Form_Timer()
    Dim testo As String
    Dim intTesto As Integer
        testo = "testo da far scorrere continuamente senza che si fermi mai" & Space(30)
        intTesto = Len(testo)
        'sto ancora facendo delle prove
        inizio = inizio + 1
        If Mid(Me.comunicazione, 1, intTesto) = testo Then
            inizio = 2
        End If
        Me.comunicazione = Mid(testo, inizio) & Left(testo, inizio)
    End Sub
    
  • Re: [RISOLTO]TESTO SCORREVOLE

    Stifone ha scritto:


    Direi che puoi provare questa soluzione:
    
    Dim inizio As Integer
    
    Private Sub Form_Timer()
    Dim testo As String
    Dim intTesto As Integer
        testo = "testo da far scorrere continuamente senza che si fermi mai" & Space(30)
        intTesto = Len(testo)
        'sto ancora facendo delle prove
        inizio = inizio + 1
        If Mid(Me.comunicazione, 1, intTesto) = testo Then
            inizio = 2
        End If
        Me.comunicazione = Mid(testo, inizio) & Left(testo, inizio)
    End Sub
    
    Ciao Stifone, innanzitutto grazie per la risposta!

    Con la tua soluzione il problema si risolve, ma ne compare un altro.

    Avendo dovuto creare una tabella apposita per le comunicazioni da far scorrere di tanto in tanto a scelta dell'admin, ho modificato il codice precedente con il seguente:
    
    Private Sub Form_Timer()
    Dim testo As String
    Dim intTesto As Integer
    
        testo = DLookup("messaggio", "tblcomunicazioni") & Space(30)
        intTesto = Len(testo)
        inizio = inizio + 1
        If Mid(Me.comunicazione, 1, intTesto) = testo Then
            inizio = 2
        End If
        Me.comunicazione = Mid(testo, inizio) & Left(testo, inizio)
    End Sub
    Il problema sta nel fatto che mi riporta sempre la fastidiosissima prima lettera del messaggio, come da videata seguente:
    Non riesco a capire dove sia il problema nel codice?
  • Re: [RISOLTO]TESTO SCORREVOLE

    Forse se posti il file è più facile capire il problema anche perchè dall'immagine non si capisce nulla.
  • Re: [RISOLTO]TESTO SCORREVOLE

    Stifone ha scritto:


    Forse se posti il file è più facile capire il problema anche perchè dall'immagine non si capisce nulla.
    Ciao

    ecco il link dove poter scaricare la copia del "database" con la sola maschera del testo scorrevole e la tabella da cui prenderà i dati



    Grazie mille ancora per l'interessamento
  • Re: [RISOLTO]TESTO SCORREVOLE

    Se apri la tabella tblComunicazioni e allarghi il campo messaggio vedrai che è memorizzato in quel modo quindi, per avere quello che vuoi tu, devi cancellare tutto quello che è dopo SALVE A TUTTI
  • Re: [RISOLTO]TESTO SCORREVOLE

    Perfetto! Non me ne ero accorto - penso si fosse capito.

    Grazie mille Stifone
Devi accedere o registrarti per scrivere nel forum
7 risposte