Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: textboxissa tekstin hyppely

Sivun loppuun

sooda [22.01.2004 19:11:10]

#

kun mulla on textbox ja siinä on multiline ja pystysuuntainen scrollbar niin kun kirjoittaa siihen eka vähän ja sitten kirjoittaa tosi pitkän sanan joka ei mahdu siihen niin se pomppaa seuraavalle riville. Miten tämän saisi estettyä jos en halua käyttää vaakasuoraa scrollbaaria siinä?

petrinm [22.01.2004 19:16:02]

#

Teksti poksin scrollBar arvonksi
0 = ei Scrollareita
1 = vaakasuora scrollari
2 = pystysuunnassa scrollari
3 = kumpiki

sooda [22.01.2004 19:21:50]

#

itehän just sanoin että

lainaus:

jos en halua käyttää vaakasuoraa scrollbaaria siinä?

_ei_ vaakasuoraa

setä [22.01.2004 19:28:32]

#

TextBox taitaa väkisin rivittää. Täytyy vaan leventää Boxia sen verran, että pitkä sana mahtuu yhdelle riville.

sooda [22.01.2004 19:30:38]

#

teen hexaeditoria ja sen leveys pitää olla 16 merkkiä. Onko sitten joitain erikoistekstilaatikoita millä näin saisi tehtyä?

setä [22.01.2004 19:52:10]

#

Ei oikein raksuta. Tuleeko se pitkä sana sen 16 merkin jatkoksi??

bob [22.01.2004 20:35:28]

#

pistä 16 merkin rajotus?
tai sit joku kikkailu et aina ku teksti muuttuu nii selstart =0 ja sellength = 0

BadSource [23.01.2004 08:15:07]

#

Vaatii kikkailun, joka tarkistaa tekstin lisäämistä ja aina 16 merkin välein lisää tekstiin rivinvaihdon chr(13).

Luetaanko teksti jostain tiedostosta vai seurataanko käyttäjän tekemisiä, joka sitte rivitetään TextBoxiin?

BadSource [23.01.2004 10:35:36]

#

Seuraava funktio pilkkoo laatikkossa olevan tekstin, kun sitä kutsutaan nappia painamalla. Jos luetaan jostain tiedostosta, niin pilko-kutsu ennen textboxiin kirjoittamista.

Private Sub cmdPilko_Click()

    Text1.Text = Pilko(Text1.Text)

End Sub

Function Pilko(strAlku As String) As String
    Dim strRivitetty As String
    Dim i As Integer, j As Integer, abu As Integer

    abu = Len(strAlku)
    If abu <= 16 Then
        strRivitetty = strAlku
        GoTo TheEnd
    End If
    j = Int(abu / 16)
    For i = 0 To j
        If Len(strRivitetty) >= 16 Then _
          strRivitetty = strRivitetty & Chr(13) & Chr(10)
        strRivitetty = strRivitetty & Mid(strAlku, (i * 16) + 1, 16)
    Next i

TheEnd:
    Pilko = strRivitetty
End Function

Antti Laaksonen [23.01.2004 16:24:01]

#

Noin se kannattaa tehdä, tässä on vähän lyhempi Pilko-funktio.

Function Pilko(teksti As String) As String
    Dim uusi As String, i As Integer
    For i = 1 To Len(teksti) Step 16
        uusi = uusi & Mid(teksti, i, 16) & vbCrLf
    Next
    Pilko = uusi
End Function

Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta