Toon posts:

[VB 6.0] LCD scroll

Pagina: 1
Acties:

Verwijderd

Topicstarter
hallo,

ik ben bezig de winamp titel op mijn LCD te laten verschijnen

ik heb de handleiding gevolgd van: [url]'http://www.winamp.com/nsdn/winamp2x/dev/sdk/api.jhtml[/url]

het aanspreken van de LCD en het op de display brengen van de titel is zonder al te veel problemen gelukt (heeft toch wat denkwerk gekost ;)), maar hoe kan ik nu die titel continue laten scrollen?

ik zit me er nu al enkele uren het hoofd over te breken maar het lukt me echt niet 8)7, daarom dat ik nu mijn toevlucht zoek tot het forum...

Ik heb de code gemaakt zodat ie X maal kan scrollen, maar hij begint dan (na een hele scroll van de titel), vanvóór aan de display (dus terug op positie 0)

hij zou alles moeten beschouwen als één grote string

heb al zitten zoeken voor de positie enz op te vragen waar ik precies aan t printen ben, en dan zo het volgende karakter opnieuw uit de titel te halen, maar dit lukt me dan maar één letter en dat zit ie in een oneidige lus :s

mijn code :

code:
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
    For j = 1 To (Len(strTitel) * 2)
        'CURSOR HOME
        E_Enabled
            outport &H378, 2
        E_Disabled
        
        
        strRegel = Mid(strTitel, j, 16)

        
        'PRINT LIEDJE OP LCD
        For i = 1 To LETTERSperREGEL
            strLetter = Mid(strRegel, i, 1)
                        
            If (strLetter <> "") Then
                RS_Enabled
                    outport &H378, Asc(strLetter)
                E_Disabled
            End If
    
        Next
        
        'printRegel2
        
    Next

  • TD-er
  • Registratie: Januari 2000
  • Laatst online: 19-08 17:40
Wat je kunt proberen is om de string aan het begin op te vullen met een aantal spaties (evenveel als de breedte van je display).
code:
1
dus strRegel = "                " + strRegel

na je toekenning van strRegel. Ik weet ff niet zo gauw meer wat in basic de concatenatie van 2 strings was, dus daar heb ik maar ff "+" gebruikt.

Een goedkope voeding is als een lot in de loterij, je maakt kans op een paar tientjes korting, maar meestal betaal je de hoofdprijs. mijn posts (nodig wegens nieuwe layout)


Verwijderd

Topicstarter
ok, thx!!

heb t maar zo gedaan dan...

het controleren van het aantal keer lopen is niet echt orthodox, maar het werkt wel


code:
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
    intAaantalDoorlopen = 0

    For j = 0 To (Len(strTitel) * 4)
        'CURSOR HOME
        E_Enabled
            outport &H378, 2
        E_Disabled
        
        If (j = (Len(strTitel) * (intAaantalDoorlopen + 1))) Then
            intAaantalDoorlopen = intAaantalDoorlopen + 1
        End If

        strRegel = Mid(strTitel, (j + 1) - (intAaantalDoorlopen * Len(strTitel)), 16)
  
        
        'PRINT LIEDJE OP LCD
        For i = 1 To LETTERSperREGEL
           
            strLetter = Mid(strRegel, i, 1)
            
            If (strLetter = "") Then
                strLetter = " "
            End If
            
            
            If (strLetter <> "") Then
                RS_Enabled
                    outport &H378, Asc(strLetter)
                E_Disabled
            End If
    
        Next
        
        printRegel2
        
    Next



ik had sjans graag gehad dat je, terwijl je het einde van de titel ziet, ook al het begin ziet, zoals dit ongeveer:

titel = "Busta rhymes - WOHAA!"


op LCD:

"- WOHAA! Bust"

Verwijderd

Visual Basic:
1
2
3
4
5
6
7
8
9
Function Scroll(ByRef strText As String, ByVal ScrollTickerPos As Long, ByVal ScrollTextLength As Long)
Dim strOutput As String
    
    strOutput = Mid$(strText, 1 + (ScrollTickerPos Mod Len(strText)), ScrollTextLength)
    While Len(strOutput) < ScrollTextLength
        strOutput = strOutput & " " & strText
    Wend
    Scroll = Left$(strOutput, ScrollTextLength)
End Function


Zoiets zal wel werken.

strText is de text die je wilt laten scrollen
ScrollTickerPos is een tellertje wat je steeds met 1 moet ophogen
ScrollTextLength is de lengte van de output string.

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

Verwijderd schreef op 19 april 2003 @ 18:05:
ik had sjans graag gehad dat je, terwijl je het einde van de titel ziet, ook al het begin ziet, zoals dit ongeveer:

titel = "Busta rhymes - WOHAA!"

op LCD:

"- WOHAA! Bust"
<Algemene Logica part="1">
Plak de string achter zichzelf, en zodra je 1 keer rond ben reset je naar het begin. En klaar is KlaraKarel :)
</Algemene Logica>

[ Voor 8% gewijzigd door curry684 op 19-04-2003 23:13 ]

Professionele website nodig?